Package com.lmax.disruptor
Interface EventHandlerBase<T>
- All Superinterfaces:
EventHandlerIdentity
- All Known Subinterfaces:
EventHandler<T>,RewindableEventHandler<T>,SequenceReportingEventHandler<T>
- All Known Implementing Classes:
AggregateEventHandler
-
Method Summary
Modifier and TypeMethodDescriptiondefault voidonBatchStart(long batchSize, long queueDepth) Invoked byBatchEventProcessorprior to processing a batch of eventsvoidCalled when a publisher has published an event to theRingBuffer.default voidCalled once just before the event processing thread is shutdown.default voidonStart()Called once on thread start before first event is available.default voidonTimeout(long sequence)
-
Method Details
-
onEvent
Called when a publisher has published an event to theRingBuffer. TheBatchEventProcessorwill read messages from theRingBufferin batches, where a batch is all of the events available to be processed without having to wait for any new event to arrive. This can be useful for event handlers that need to do slower operations like I/O as they can group together the data from multiple events into a single operation. Implementations should ensure that the operation is always performed when endOfBatch is true as the time between that message and the next one is indeterminate.- Parameters:
event- published to theRingBuffersequence- of the event being processedendOfBatch- flag to indicate if this is the last event in a batch from theRingBuffer- Throws:
Throwable- if the EventHandler would like the exception handled further up the chain or possible rewind the batch if aRewindableExceptionis thrown.
-
onBatchStart
default void onBatchStart(long batchSize, long queueDepth) Invoked byBatchEventProcessorprior to processing a batch of events- Parameters:
batchSize- the size of the batch that is startingqueueDepth- the total number of queued up events including the batch about to be processed
-
onStart
default void onStart()Called once on thread start before first event is available. -
onShutdown
default void onShutdown()Called once just before the event processing thread is shutdown.Sequence event processing will already have stopped before this method is called. No events will be processed after this message.
-
onTimeout
- Parameters:
sequence- - the last processed sequence.- Throws:
Exception- if the implementation is unable to handle this timeout.
-