RootReader
class RootReader(val stateManager: StateManager, val resourceAcquisitionHeartbeat: Duration, val timeout: Duration, val outputConsumer: StandardOutputConsumer, val metaFieldDecorator: MetaFieldDecorator, val resourceAcquirer: ResourceAcquirer, val partitionsCreatorFactories: List<PartitionsCreatorFactory>, val dataChannelFormat: DataChannelFormat, val dataChannelMedium: DataChannelMedium, val bufferByteSizeThresholdForFlush: Int, clock: Clock)
RootReader is at the heart of the READ operation. A RootReader manages multiple FeedReader instances (one per Feed) and synchronizes them using coroutines.
This object exists mainly to facilitate unit testing by keeping dependencies to a minimum.
Constructors
Link copied to clipboard
constructor(stateManager: StateManager, resourceAcquisitionHeartbeat: Duration, timeout: Duration, outputConsumer: StandardOutputConsumer, metaFieldDecorator: MetaFieldDecorator, resourceAcquirer: ResourceAcquirer, partitionsCreatorFactories: List<PartitionsCreatorFactory>, dataChannelFormat: DataChannelFormat, dataChannelMedium: DataChannelMedium, bufferByteSizeThresholdForFlush: Int, clock: Clock)
Types
Link copied to clipboard
class FeedExceptionHandler<T : Feed>(val feed: T, val streamStatusManager: StreamStatusManager, exceptions: ConcurrentHashMap<T, Throwable>) : CoroutineExceptionHandler
Properties
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Mutex ensuring that resource acquisition always happens serially.
Link copied to clipboard
Link copied to clipboard
Functions
Link copied to clipboard
Notify a potential change in resource availability.
Link copied to clipboard
Reads records from all Feeds.
Link copied to clipboard
Wait until an availability notification arrives or a timeout is reached.