Package com.lmax.disruptor
Interface EventHandler<T>
-
- Type Parameters:
T
- event implementation storing the data for sharing during exchange or parallel coordination of an event.
- All Known Subinterfaces:
SequenceReportingEventHandler<T>
- All Known Implementing Classes:
AggregateEventHandler
public interface EventHandler<T>
Callback interface to be implemented for processing events as they become available in theRingBuffer
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
onEvent(T event, long sequence, boolean endOfBatch)
Called when a publisher has published an event to theRingBuffer
.
-
-
-
Method Detail
-
onEvent
void onEvent(T event, long sequence, boolean endOfBatch) throws java.lang.Exception
Called when a publisher has published an event to theRingBuffer
. TheBatchEventProcessor
will read messages from theRingBuffer
in 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 an the next one is inderminate.- Parameters:
event
- published to theRingBuffer
sequence
- of the event being processedendOfBatch
- flag to indicate if this is the last event in a batch from theRingBuffer
- Throws:
java.lang.Exception
- if the EventHandler would like the exception handled further up the chain.
-
-