Interface TierConsumerAgent
-
- All Known Implementing Classes:
DiskTierConsumerAgent,MemoryTierConsumerAgent,RemoteTierConsumerAgent
public interface TierConsumerAgentTheTierConsumerAgentis the consumer agent of each tier in tiered store, which could read data from responding tier.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidclose()Close the consumer agent.Optional<Buffer>getNextBuffer(TieredStoragePartitionId partitionId, TieredStorageSubpartitionId subpartitionId, int segmentId)Get buffer from the consumer agent.intpeekNextBufferSubpartitionId(TieredStoragePartitionId partitionId, ResultSubpartitionIndexSet indexSet)Returns the index of the subpartition where the next buffer locates, or -1 if there is no buffer available or the subpartition index does not belong to the specified indexSet.voidregisterAvailabilityNotifier(AvailabilityNotifier notifier)Register the notifier to notify the availability of a subpartition.voidstart()Start the consumer agent.
-
-
-
Method Detail
-
start
void start()
Start the consumer agent.
-
peekNextBufferSubpartitionId
int peekNextBufferSubpartitionId(TieredStoragePartitionId partitionId, ResultSubpartitionIndexSet indexSet) throws IOException
Returns the index of the subpartition where the next buffer locates, or -1 if there is no buffer available or the subpartition index does not belong to the specified indexSet.- Parameters:
partitionId- The index of the partition which the returned subpartition should belong to.indexSet- The indexes of the subpartitions expected.- Throws:
IOException
-
getNextBuffer
Optional<Buffer> getNextBuffer(TieredStoragePartitionId partitionId, TieredStorageSubpartitionId subpartitionId, int segmentId)
Get buffer from the consumer agent.- Parameters:
partitionId- the id of partition.subpartitionId- the id of subpartition.segmentId- the id of segment.- Returns:
- buffer.
-
registerAvailabilityNotifier
void registerAvailabilityNotifier(AvailabilityNotifier notifier)
Register the notifier to notify the availability of a subpartition.- Parameters:
notifier- to notify availability.
-
close
void close() throws IOExceptionClose the consumer agent.- Throws:
IOException
-
-