Package | Description |
---|---|
com.lmax.disruptor |
The Disruptor is a concurrent programming framework for exchanging and coordinating work as a continuous series of events.
|
com.lmax.disruptor.dsl | |
com.lmax.disruptor.util |
Modifier and Type | Class and Description |
---|---|
class |
FixedSequenceGroup
Hides a group of Sequences behind a single Sequence
|
private static class |
NoOpEventProcessor.SequencerFollowingSequence
Sequence that follows (by wrapping) another sequence
|
class |
SequenceGroup
|
Modifier and Type | Field and Description |
---|---|
protected Sequence |
AbstractSequencer.cursor |
private Sequence |
ProcessingSequenceBarrier.cursorSequence |
private Sequence |
ProcessingSequenceBarrier.dependentSequence |
private Sequence |
EventPoller.gatingSequence |
private Sequence |
MultiProducerSequencer.gatingSequenceCache |
protected Sequence[] |
AbstractSequencer.gatingSequences |
private Sequence |
WorkProcessor.sequence |
private Sequence |
BatchEventProcessor.sequence |
private Sequence |
EventPoller.sequence |
private Sequence[] |
SequenceGroup.sequences |
private Sequence[] |
FixedSequenceGroup.sequences |
private Sequence |
WorkerPool.workSequence |
private Sequence |
WorkProcessor.workSequence |
Modifier and Type | Method and Description |
---|---|
Sequence |
NoOpEventProcessor.getSequence() |
Sequence |
EventProcessor.getSequence()
Get a reference to the
Sequence being used by this EventProcessor . |
Sequence |
WorkProcessor.getSequence() |
Sequence |
BatchEventProcessor.getSequence() |
Sequence |
EventPoller.getSequence() |
Sequence[] |
WorkerPool.getWorkerSequences()
Get an array of
Sequence s representing the progress of the workers. |
Modifier and Type | Method and Description |
---|---|
void |
SequenceGroup.add(Sequence sequence)
Add a
Sequence into this aggregate. |
void |
Sequencer.addGatingSequences(Sequence... gatingSequences)
Add the specified gating sequences to this instance of the Disruptor.
|
void |
RingBuffer.addGatingSequences(Sequence... gatingSequences)
Add the specified gating sequences to this instance of the Disruptor.
|
void |
AbstractSequencer.addGatingSequences(Sequence... gatingSequences) |
(package private) static <T> void |
SequenceGroups.addSequences(T holder,
java.util.concurrent.atomic.AtomicReferenceFieldUpdater<T,Sequence[]> updater,
Cursored cursor,
Sequence... sequencesToAdd) |
void |
SequenceGroup.addWhileRunning(Cursored cursored,
Sequence sequence)
Adds a sequence to the sequence group after threads have started to publish to
the Disruptor.
|
private boolean |
MultiProducerSequencer.hasAvailableCapacity(Sequence[] gatingSequences,
int requiredCapacity,
long cursorValue) |
SequenceBarrier |
Sequencer.newBarrier(Sequence... sequencesToTrack)
Create a new SequenceBarrier to be used by an EventProcessor to track which messages
are available to be read from the ring buffer given a list of sequences to track.
|
SequenceBarrier |
RingBuffer.newBarrier(Sequence... sequencesToTrack)
Create a new SequenceBarrier to be used by an EventProcessor to track which messages
are available to be read from the ring buffer given a list of sequences to track.
|
SequenceBarrier |
AbstractSequencer.newBarrier(Sequence... sequencesToTrack) |
static <T> EventPoller<T> |
EventPoller.newInstance(DataProvider<T> dataProvider,
Sequencer sequencer,
Sequence sequence,
Sequence cursorSequence,
Sequence... gatingSequences) |
static <T> EventPoller<T> |
EventPoller.newInstance(DataProvider<T> dataProvider,
Sequencer sequencer,
Sequence sequence,
Sequence cursorSequence,
Sequence... gatingSequences) |
<T> EventPoller<T> |
Sequencer.newPoller(DataProvider<T> provider,
Sequence... gatingSequences) |
<T> EventPoller<T> |
AbstractSequencer.newPoller(DataProvider<T> dataProvider,
Sequence... gatingSequences)
Creates an event poller for this sequence that will use the supplied data provider and
gating sequences.
|
EventPoller<E> |
RingBuffer.newPoller(Sequence... gatingSequences)
Creates an event poller for this ring buffer gated on the supplied sequences.
|
boolean |
SequenceGroup.remove(Sequence sequence)
Remove the first occurrence of the
Sequence from this aggregate. |
boolean |
Sequencer.removeGatingSequence(Sequence sequence)
Remove the specified sequence from this sequencer.
|
boolean |
RingBuffer.removeGatingSequence(Sequence sequence)
Remove the specified sequence from this ringBuffer.
|
boolean |
AbstractSequencer.removeGatingSequence(Sequence sequence) |
(package private) static <T> boolean |
SequenceGroups.removeSequence(T holder,
java.util.concurrent.atomic.AtomicReferenceFieldUpdater<T,Sequence[]> sequenceUpdater,
Sequence sequence) |
void |
SequenceReportingEventHandler.setSequenceCallback(Sequence sequenceCallback)
Call by the
BatchEventProcessor to setup the callback. |
long |
YieldingWaitStrategy.waitFor(long sequence,
Sequence cursor,
Sequence dependentSequence,
SequenceBarrier barrier) |
long |
PhasedBackoffWaitStrategy.waitFor(long sequence,
Sequence cursor,
Sequence dependentSequence,
SequenceBarrier barrier) |
long |
LiteBlockingWaitStrategy.waitFor(long sequence,
Sequence cursorSequence,
Sequence dependentSequence,
SequenceBarrier barrier) |
long |
TimeoutBlockingWaitStrategy.waitFor(long sequence,
Sequence cursorSequence,
Sequence dependentSequence,
SequenceBarrier barrier) |
long |
BusySpinWaitStrategy.waitFor(long sequence,
Sequence cursor,
Sequence dependentSequence,
SequenceBarrier barrier) |
long |
BlockingWaitStrategy.waitFor(long sequence,
Sequence cursorSequence,
Sequence dependentSequence,
SequenceBarrier barrier) |
long |
LiteTimeoutBlockingWaitStrategy.waitFor(long sequence,
Sequence cursorSequence,
Sequence dependentSequence,
SequenceBarrier barrier) |
long |
SleepingWaitStrategy.waitFor(long sequence,
Sequence cursor,
Sequence dependentSequence,
SequenceBarrier barrier) |
long |
WaitStrategy.waitFor(long sequence,
Sequence cursor,
Sequence dependentSequence,
SequenceBarrier barrier)
Wait for the given sequence to be available.
|
Constructor and Description |
---|
EventPoller(DataProvider<T> dataProvider,
Sequencer sequencer,
Sequence sequence,
Sequence gatingSequence) |
FixedSequenceGroup(Sequence[] sequences)
Constructor
|
ProcessingSequenceBarrier(Sequencer sequencer,
WaitStrategy waitStrategy,
Sequence cursorSequence,
Sequence[] dependentSequences) |
ProcessingSequenceBarrier(Sequencer sequencer,
WaitStrategy waitStrategy,
Sequence cursorSequence,
Sequence[] dependentSequences) |
WorkProcessor(RingBuffer<T> ringBuffer,
SequenceBarrier sequenceBarrier,
WorkHandler<? super T> workHandler,
ExceptionHandler<? super T> exceptionHandler,
Sequence workSequence)
Construct a
WorkProcessor . |
Modifier and Type | Field and Description |
---|---|
private Sequence[] |
EventHandlerGroup.sequences |
Modifier and Type | Field and Description |
---|---|
private java.util.Map<Sequence,ConsumerInfo> |
ConsumerRepository.eventProcessorInfoBySequence |
Modifier and Type | Method and Description |
---|---|
Sequence[] |
ConsumerRepository.getLastSequenceInChain(boolean includeStopped) |
Sequence |
ConsumerRepository.getSequenceFor(EventHandler<T> handler) |
Sequence[] |
ConsumerInfo.getSequences() |
Sequence[] |
WorkerPoolInfo.getSequences() |
Sequence[] |
EventProcessorInfo.getSequences() |
Modifier and Type | Method and Description |
---|---|
EventProcessor |
EventProcessorFactory.createEventProcessor(RingBuffer<T> ringBuffer,
Sequence[] barrierSequences)
Create a new event processor that gates on
barrierSequences . |
(package private) EventHandlerGroup<T> |
Disruptor.createEventProcessors(Sequence[] barrierSequences,
EventHandler<? super T>[] eventHandlers) |
(package private) EventHandlerGroup<T> |
Disruptor.createEventProcessors(Sequence[] barrierSequences,
EventProcessorFactory<T>[] processorFactories) |
(package private) EventHandlerGroup<T> |
Disruptor.createWorkerPool(Sequence[] barrierSequences,
WorkHandler<? super T>[] workHandlers) |
private ConsumerInfo |
ConsumerRepository.getEventProcessorInfo(Sequence barrierEventProcessor) |
void |
ConsumerRepository.unMarkEventProcessorsAsEndOfChain(Sequence... barrierEventProcessors) |
private void |
Disruptor.updateGatingSequencesForNextInChain(Sequence[] barrierSequences,
Sequence[] processorSequences) |
private void |
Disruptor.updateGatingSequencesForNextInChain(Sequence[] barrierSequences,
Sequence[] processorSequences) |
Constructor and Description |
---|
EventHandlerGroup(Disruptor<T> disruptor,
ConsumerRepository<T> consumerRepository,
Sequence[] sequences) |
Modifier and Type | Method and Description |
---|---|
static Sequence[] |
Util.getSequencesFor(EventProcessor... processors)
Get an array of
Sequence s for the passed EventProcessor s |
Modifier and Type | Method and Description |
---|---|
static long |
Util.getMinimumSequence(Sequence[] sequences)
Get the minimum sequence from an array of
Sequence s. |
static long |
Util.getMinimumSequence(Sequence[] sequences,
long minimum)
Get the minimum sequence from an array of
Sequence s. |