| 接口 | 说明 |
|---|---|
| Cursored |
Implementors of this interface must provide a single long value
that represents their current cursor value.
|
| DataProvider<T> | |
| EventFactory<T> |
Called by the
RingBuffer to pre-populate all the events to fill the RingBuffer. |
| EventHandler<T> |
Callback interface to be implemented for processing events as they become available in the
RingBuffer |
| EventPoller.Handler<T> | |
| EventProcessor |
EventProcessors waitFor events to become available for consumption from the
RingBuffer
An EventProcessor will generally be associated with a Thread for execution. |
| EventReleaseAware | |
| EventReleaser | |
| EventSequencer<T> | |
| EventSink<E> | |
| EventTranslator<T> |
Implementations translate (write) data representations into events claimed from the
RingBuffer. |
| EventTranslatorOneArg<T,A> |
Implementations translate another data representations into events claimed from the
RingBuffer |
| EventTranslatorThreeArg<T,A,B,C> |
Implementations translate another data representations into events claimed from the
RingBuffer |
| EventTranslatorTwoArg<T,A,B> |
Implementations translate another data representations into events claimed from the
RingBuffer |
| EventTranslatorVararg<T> |
Implementations translate another data representations into events claimed from the
RingBuffer |
| ExceptionHandler<T> |
Callback handler for uncaught exceptions in the event processing cycle of the
BatchEventProcessor |
| LifecycleAware |
Implement this interface in your
EventHandler to be notified when a thread for the
BatchEventProcessor starts and shuts down. |
| SequenceBarrier |
Coordination barrier for tracking the cursor for publishers and sequence of
dependent
EventProcessors for processing a data structure |
| Sequenced | |
| Sequencer |
Coordinates claiming sequences for access to a data structure while tracking dependent
Sequences |
| SequenceReportingEventHandler<T> |
Used by the
BatchEventProcessor to set a callback allowing the EventHandler to notify
when it has finished consuming an event if this happens after the EventHandler.onEvent(Object, long, boolean) call. |
| TimeoutHandler | |
| WaitStrategy |
Strategy employed for making
EventProcessors wait on a cursor Sequence. |
| WorkHandler<T> |
Callback interface to be implemented for processing units of work as they become available in the
RingBuffer. |
| 类 | 说明 |
|---|---|
| AbstractSequencer |
Base class for the various sequencer types (single/multi).
|
| AggregateEventHandler<T> |
An aggregate collection of
EventHandlers that get called in sequence for each event. |
| BatchEventProcessor<T> |
Convenience class for handling the batching semantics of consuming entries from a
RingBuffer
and delegating the available events to an EventHandler. |
| BlockingWaitStrategy |
Blocking strategy that uses a lock and condition variable for
EventProcessors waiting on a barrier. |
| BusySpinWaitStrategy |
Busy Spin strategy that uses a busy spin loop for
EventProcessors waiting on a barrier. |
| EventPoller<T> |
Experimental poll-based interface for the Disruptor.
|
| FatalExceptionHandler |
Convenience implementation of an exception handler that using standard JDK logging to log
the exception as
Level.SEVERE and re-throw it wrapped in a RuntimeException |
| FixedSequenceGroup |
Hides a group of Sequences behind a single Sequence
|
| IgnoreExceptionHandler |
Convenience implementation of an exception handler that using standard JDK logging to log
the exception as
Level.INFO |
| LiteBlockingWaitStrategy |
Variation of the
BlockingWaitStrategy that attempts to elide conditional wake-ups when
the lock is uncontended. |
| LiteTimeoutBlockingWaitStrategy |
Variation of the
TimeoutBlockingWaitStrategy that attempts to elide conditional wake-ups
when the lock is uncontended. |
| MultiProducerSequencer |
Coordinator for claiming sequences for access to a data structure while tracking dependent
Sequences. |
| NoOpEventProcessor |
No operation version of a
EventProcessor that simply tracks a Sequence. |
| PhasedBackoffWaitStrategy |
Phased wait strategy for waiting
EventProcessors on a barrier. |
| RingBuffer<E> |
Ring based store of reusable entries containing the data representing
an event being exchanged between event producer and
EventProcessors. |
| Sequence |
Concurrent sequence class used for tracking the progress of
the ring buffer and event processors.
|
| SequenceGroup | |
| SingleProducerSequencer |
Coordinator for claiming sequences for access to a data structure while tracking dependent
Sequences. |
| SleepingWaitStrategy |
Sleeping strategy that initially spins, then uses a Thread.yield(), and
eventually sleep (
LockSupport.parkNanos(1)) for the minimum
number of nanos the OS and JVM will allow while the
EventProcessors are waiting on a barrier. |
| TimeoutBlockingWaitStrategy | |
| WorkerPool<T> |
WorkerPool contains a pool of
WorkProcessors that will consume sequences so jobs can be farmed out across a pool of workers. |
| WorkProcessor<T> |
A
WorkProcessor wraps a single WorkHandler, effectively consuming the sequence
and ensuring appropriate barriers. |
| YieldingWaitStrategy |
Yielding strategy that uses a Thread.yield() for
EventProcessors waiting on a barrier
after an initially spinning. |
| 枚举 | 说明 |
|---|---|
| EventPoller.PollState |
| 异常错误 | 说明 |
|---|---|
| AlertException |
Used to alert
EventProcessors waiting at a SequenceBarrier of status changes. |
| InsufficientCapacityException |
Exception thrown when it is not possible to insert a value into
the ring buffer without it wrapping the consuming sequences.
|
| TimeoutException |
Copyright © 2018 Pivotal Software, Inc.. All rights reserved.