A B C D E F G H I L M N O P R S T U V W Y 

A

AbstractSequencer - Class in com.lmax.disruptor
Base class for the various sequencer types (single/multi).
AbstractSequencer(int, WaitStrategy) - Constructor for class com.lmax.disruptor.AbstractSequencer
Create with the specified buffer size and wait strategy.
add(Sequence) - Method in class com.lmax.disruptor.SequenceGroup
Add a Sequence into this aggregate.
addAndGet(long) - Method in class com.lmax.disruptor.FixedSequenceGroup
Not supported.
addAndGet(long) - Method in class com.lmax.disruptor.Sequence
Atomically add the supplied value.
addGatingSequences(Sequence...) - Method in class com.lmax.disruptor.AbstractSequencer
 
addGatingSequences(Sequence...) - Method in class com.lmax.disruptor.RingBuffer
Add the specified gating sequences to this instance of the Disruptor.
addGatingSequences(Sequence...) - Method in interface com.lmax.disruptor.Sequencer
Add the specified gating sequences to this instance of the Disruptor.
addObservation(long) - Method in class com.lmax.disruptor.collections.Histogram
Add an observation to the histogram and increment the counter for the interval it matches.
addObservations(Histogram) - Method in class com.lmax.disruptor.collections.Histogram
Add observations from another Histogram into this one.

Histograms must have the same intervals.

addWhileRunning(Cursored, Sequence) - Method in class com.lmax.disruptor.SequenceGroup
Adds a sequence to the sequence group after threads have started to publish to the Disruptor.
after(EventHandler<T>...) - Method in class com.lmax.disruptor.dsl.Disruptor
Create a group of event handlers to be used as a dependency.
after(EventProcessor...) - Method in class com.lmax.disruptor.dsl.Disruptor
Create a group of event processors to be used as a dependency.
AggregateEventHandler<T> - Class in com.lmax.disruptor
An aggregate collection of EventHandlers that get called in sequence for each event.
AggregateEventHandler(EventHandler<T>...) - Constructor for class com.lmax.disruptor.AggregateEventHandler
Construct an aggregate collection of EventHandlers to be called in sequence.
alert() - Method in interface com.lmax.disruptor.SequenceBarrier
Alert the EventProcessors of a status change and stay in this status until cleared.
AlertException - Exception in com.lmax.disruptor
Used to alert EventProcessors waiting at a SequenceBarrier of status changes.
and(EventHandlerGroup<T>) - Method in class com.lmax.disruptor.dsl.EventHandlerGroup
Create a new event handler group that combines the consumers in this group with otherHandlerGroup.
and(EventProcessor...) - Method in class com.lmax.disruptor.dsl.EventHandlerGroup
Create a new event handler group that combines the handlers in this group with processors.
asSequenceBarrier() - Method in class com.lmax.disruptor.dsl.EventHandlerGroup
Create a dependency barrier for the processors in this group.

B

BatchEventProcessor<T> - Class in com.lmax.disruptor
Convenience class for handling the batching semantics of consuming entries from a RingBuffer and delegating the available events to an EventHandler.
BatchEventProcessor(DataProvider<T>, SequenceBarrier, EventHandler<T>) - Constructor for class com.lmax.disruptor.BatchEventProcessor
Construct a EventProcessor that will automatically track the progress by updating its sequence when the EventHandler.onEvent(Object, long, boolean) method returns.
BlockingWaitStrategy - Class in com.lmax.disruptor
Blocking strategy that uses a lock and condition variable for EventProcessors waiting on a barrier.
BlockingWaitStrategy() - Constructor for class com.lmax.disruptor.BlockingWaitStrategy
 
bufferSize - Variable in class com.lmax.disruptor.AbstractSequencer
 
BusySpinWaitStrategy - Class in com.lmax.disruptor
Busy Spin strategy that uses a busy spin loop for EventProcessors waiting on a barrier.
BusySpinWaitStrategy() - Constructor for class com.lmax.disruptor.BusySpinWaitStrategy
 

C

ceilingNextPowerOfTwo(int) - Static method in class com.lmax.disruptor.util.Util
Calculate the next power of 2, greater than or equal to x.
checkAlert() - Method in interface com.lmax.disruptor.SequenceBarrier
Check if an alert has been raised and throw an AlertException if it has.
claim(long) - Method in class com.lmax.disruptor.MultiProducerSequencer
 
claim(long) - Method in interface com.lmax.disruptor.Sequencer
Claim a specific sequence.
claim(long) - Method in class com.lmax.disruptor.SingleProducerSequencer
 
claimAndGetPreallocated(long) - Method in class com.lmax.disruptor.RingBuffer
Sets the cursor to a specific sequence and returns the preallocated entry that is stored there.
clear() - Method in class com.lmax.disruptor.collections.Histogram
Clear the list of interval counters
clearAlert() - Method in interface com.lmax.disruptor.SequenceBarrier
Clear the current alert status.
com.lmax.disruptor - package com.lmax.disruptor
The Disruptor is a concurrent programming framework for exchanging and coordinating work as a continuous series of events.
com.lmax.disruptor.collections - package com.lmax.disruptor.collections
 
com.lmax.disruptor.dsl - package com.lmax.disruptor.dsl
 
com.lmax.disruptor.util - package com.lmax.disruptor.util
 
compareAndSet(long, long) - Method in class com.lmax.disruptor.FixedSequenceGroup
Not supported.
compareAndSet(long, long) - Method in class com.lmax.disruptor.Sequence
Perform a compare and set operation on the sequence.
create(ProducerType, EventFactory<E>, int, WaitStrategy) - Static method in class com.lmax.disruptor.RingBuffer
Create a new Ring Buffer with the specified producer type (SINGLE or MULTI)
createMultiProducer(EventFactory<E>, int, WaitStrategy) - Static method in class com.lmax.disruptor.RingBuffer
Create a new multiple producer RingBuffer with the specified wait strategy.
createMultiProducer(EventFactory<E>, int) - Static method in class com.lmax.disruptor.RingBuffer
Create a new multiple producer RingBuffer using the default wait strategy BlockingWaitStrategy.
createSingleProducer(EventFactory<E>, int, WaitStrategy) - Static method in class com.lmax.disruptor.RingBuffer
Create a new single producer RingBuffer with the specified wait strategy.
createSingleProducer(EventFactory<E>, int) - Static method in class com.lmax.disruptor.RingBuffer
Create a new single producer RingBuffer using the default wait strategy BlockingWaitStrategy.
cursor - Variable in class com.lmax.disruptor.AbstractSequencer
 
Cursored - Interface in com.lmax.disruptor
Implementors of this interface must provide a single long value that represents their current cursor value.

D

DaemonThreadFactory - Enum in com.lmax.disruptor.util
Access to a ThreadFactory instance.
DataProvider<T> - Interface in com.lmax.disruptor
 
Disruptor<T> - Class in com.lmax.disruptor.dsl
A DSL-style API for setting up the disruptor pattern around a ring buffer (aka the Builder pattern).
Disruptor(EventFactory<T>, int, Executor) - Constructor for class com.lmax.disruptor.dsl.Disruptor
Create a new Disruptor.
Disruptor(EventFactory<T>, int, Executor, ProducerType, WaitStrategy) - Constructor for class com.lmax.disruptor.dsl.Disruptor
Create a new Disruptor.
drainAndHalt() - Method in class com.lmax.disruptor.WorkerPool
Wait for the RingBuffer to drain of published events then halt the workers.

E

EventFactory<T> - Interface in com.lmax.disruptor
Called by the RingBuffer to pre-populate all the events to fill the RingBuffer.
EventHandler<T> - Interface in com.lmax.disruptor
Callback interface to be implemented for processing events as they become available in the RingBuffer
EventHandlerGroup<T> - Class in com.lmax.disruptor.dsl
A group of EventProcessors used as part of the Disruptor.
EventProcessor - Interface in com.lmax.disruptor
EventProcessors waitFor events to become available for consumption from the RingBuffer An EventProcessor will generally be associated with a Thread for execution.
EventTranslator<T> - Interface in com.lmax.disruptor
Implementations translate (write) data representations into events claimed from the RingBuffer.

When publishing to the RingBuffer, provide an EventTranslator.

EventTranslatorOneArg<T,A> - Interface in com.lmax.disruptor
Implementations translate another data representations into events claimed from the RingBuffer
EventTranslatorThreeArg<T,A,B,C> - Interface in com.lmax.disruptor
Implementations translate another data representations into events claimed from the RingBuffer
EventTranslatorTwoArg<T,A,B> - Interface in com.lmax.disruptor
Implementations translate another data representations into events claimed from the RingBuffer
EventTranslatorVararg<T> - Interface in com.lmax.disruptor
Implementations translate another data representations into events claimed from the RingBuffer
ExceptionHandler - Interface in com.lmax.disruptor
Callback handler for uncaught exceptions in the event processing cycle of the BatchEventProcessor
ExceptionHandlerSetting<T> - Class in com.lmax.disruptor.dsl
A support class used as part of setting an exception handler for a specific event handler.

F

FatalExceptionHandler - Class in com.lmax.disruptor
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
FatalExceptionHandler() - Constructor for class com.lmax.disruptor.FatalExceptionHandler
 
FatalExceptionHandler(Logger) - Constructor for class com.lmax.disruptor.FatalExceptionHandler
 
fillInStackTrace() - Method in exception com.lmax.disruptor.AlertException
Overridden so the stack trace is not filled in for this exception for performance reasons.
fillInStackTrace() - Method in exception com.lmax.disruptor.InsufficientCapacityException
 
fillInStackTrace() - Method in exception com.lmax.disruptor.TimeoutException
 
FixedSequenceGroup - Class in com.lmax.disruptor
Hides a group of Sequences behind a single Sequence
FixedSequenceGroup(Sequence[]) - Constructor for class com.lmax.disruptor.FixedSequenceGroup
Constructor

G

gatingSequences - Variable in class com.lmax.disruptor.AbstractSequencer
 
get(long) - Method in interface com.lmax.disruptor.DataProvider
 
get(long) - Method in class com.lmax.disruptor.dsl.Disruptor
Get the event for a given sequence in the RingBuffer.
get() - Method in class com.lmax.disruptor.FixedSequenceGroup
Get the minimum sequence value for the group.
get(long) - Method in class com.lmax.disruptor.RingBuffer
Get the event for a given sequence in the RingBuffer.
get() - Method in class com.lmax.disruptor.Sequence
Perform a volatile read of this sequence's value.
get() - Method in class com.lmax.disruptor.SequenceGroup
Get the minimum sequence value for the group.
get() - Method in class com.lmax.disruptor.util.MutableLong
Get the long value.
getAddressFromDirectByteBuffer(ByteBuffer) - Static method in class com.lmax.disruptor.util.Util
Gets the address value for the memory that backs a direct byte buffer.
getBarrierFor(EventHandler<T>) - Method in class com.lmax.disruptor.dsl.Disruptor
Get the SequenceBarrier used by a specific handler.
getBufferSize() - Method in class com.lmax.disruptor.AbstractSequencer
 
getBufferSize() - Method in class com.lmax.disruptor.dsl.Disruptor
The capacity of the data structure to hold entries.
getBufferSize() - Method in class com.lmax.disruptor.RingBuffer
The size of the buffer.
getBufferSize() - Method in interface com.lmax.disruptor.Sequencer
The capacity of the data structure to hold entries.
getCount() - Method in class com.lmax.disruptor.collections.Histogram
Count total number of recorded observations.
getCountAt(int) - Method in class com.lmax.disruptor.collections.Histogram
Get the count of observations at a given index.
getCursor() - Method in class com.lmax.disruptor.AbstractSequencer
 
getCursor() - Method in interface com.lmax.disruptor.Cursored
Get the current cursor value.
getCursor() - Method in class com.lmax.disruptor.dsl.Disruptor
Get the value of the cursor indicating the published sequence.
getCursor() - Method in class com.lmax.disruptor.RingBuffer
Get the current cursor value for the ring buffer.
getCursor() - Method in interface com.lmax.disruptor.SequenceBarrier
Get the current cursor value that can be read.
getFourNinesUpperBound() - Method in class com.lmax.disruptor.collections.Histogram
Calculate the upper bound within which 99.99% of observations fall.
getHighestPublishedSequence(long, long) - Method in class com.lmax.disruptor.MultiProducerSequencer
 
getHighestPublishedSequence(long, long) - Method in interface com.lmax.disruptor.Sequencer
 
getHighestPublishedSequence(long, long) - Method in class com.lmax.disruptor.SingleProducerSequencer
 
getMax() - Method in class com.lmax.disruptor.collections.Histogram
Get the maximum observed value.
getMean() - Method in class com.lmax.disruptor.collections.Histogram
Calculate the mean of all recorded observations.

The mean is calculated by summing the mid points of each interval multiplied by the count for that interval, then dividing by the total count of observations.

getMin() - Method in class com.lmax.disruptor.collections.Histogram
Get the minimum observed value.
getMinimumGatingSequence() - Method in class com.lmax.disruptor.RingBuffer
Get the minimum sequence value from all of the gating sequences added to this ringBuffer.
getMinimumSequence() - Method in class com.lmax.disruptor.AbstractSequencer
 
getMinimumSequence() - Method in interface com.lmax.disruptor.Sequencer
Get the minimum sequence value from all of the gating sequences added to this ringBuffer.
getMinimumSequence(Sequence[]) - Static method in class com.lmax.disruptor.util.Util
Get the minimum sequence from an array of Sequences.
getMinimumSequence(Sequence[], long) - Static method in class com.lmax.disruptor.util.Util
Get the minimum sequence from an array of Sequences.
getPreallocated(long) - Method in class com.lmax.disruptor.RingBuffer
Deprecated.
getPublished(long) - Method in class com.lmax.disruptor.RingBuffer
Deprecated.
getRingBuffer() - Method in class com.lmax.disruptor.dsl.Disruptor
The RingBuffer used by this Disruptor.
getSequence() - Method in class com.lmax.disruptor.BatchEventProcessor
 
getSequence() - Method in interface com.lmax.disruptor.EventProcessor
Get a reference to the Sequence being used by this EventProcessor.
getSequence() - Method in class com.lmax.disruptor.NoOpEventProcessor
 
getSequence() - Method in class com.lmax.disruptor.WorkProcessor
 
getSequencesFor(EventProcessor...) - Static method in class com.lmax.disruptor.util.Util
Get an array of Sequences for the passed EventProcessors
getSize() - Method in class com.lmax.disruptor.collections.Histogram
Size of the list of interval bars (ie: count of interval bars).
getTwoNinesUpperBound() - Method in class com.lmax.disruptor.collections.Histogram
Calculate the upper bound within which 99% of observations fall.
getUnsafe() - Static method in class com.lmax.disruptor.util.Util
Get a handle on the Unsafe instance, used for accessing low-level concurrency and memory constructs.
getUpperBoundAt(int) - Method in class com.lmax.disruptor.collections.Histogram
Get the upper bound of an interval for an index.
getUpperBoundForFactor(double) - Method in class com.lmax.disruptor.collections.Histogram
Get the interval upper bound for a given factor of the observation population.

Note this does not get the actual percentile measurement, it only gets the bucket

getWorkerSequences() - Method in class com.lmax.disruptor.WorkerPool
Get an array of Sequences representing the progress of the workers.

H

halt() - Method in class com.lmax.disruptor.BatchEventProcessor
 
halt() - Method in class com.lmax.disruptor.dsl.Disruptor
Calls EventProcessor.halt() on all of the event processors created via this disruptor.
halt() - Method in interface com.lmax.disruptor.EventProcessor
Signal that this EventProcessor should stop when it has finished consuming at the next clean break.
halt() - Method in class com.lmax.disruptor.NoOpEventProcessor
 
halt() - Method in class com.lmax.disruptor.WorkerPool
Halt all workers immediately at the end of their current cycle.
halt() - Method in class com.lmax.disruptor.WorkProcessor
 
handleEventException(Throwable, long, Object) - Method in interface com.lmax.disruptor.ExceptionHandler
Strategy for handling uncaught exceptions when processing an event.

If the strategy wishes to terminate further processing by the BatchEventProcessor then it should throw a RuntimeException.

handleEventException(Throwable, long, Object) - Method in class com.lmax.disruptor.FatalExceptionHandler
 
handleEventException(Throwable, long, Object) - Method in class com.lmax.disruptor.IgnoreExceptionHandler
 
handleEventsWith(EventHandler<T>...) - Method in class com.lmax.disruptor.dsl.Disruptor
Set up event handlers to handle events from the ring buffer.
handleEventsWith(EventProcessor...) - Method in class com.lmax.disruptor.dsl.Disruptor
Set up custom event processors to handle events from the ring buffer.
handleEventsWith(EventHandler<T>...) - Method in class com.lmax.disruptor.dsl.EventHandlerGroup
Set up batch handlers to handle events from the ring buffer.
handleEventsWithWorkerPool(WorkHandler<T>...) - Method in class com.lmax.disruptor.dsl.Disruptor
Set up a WorkerPool to distribute an event to one of a pool of work handler threads.
handleEventsWithWorkerPool(WorkHandler<T>...) - Method in class com.lmax.disruptor.dsl.EventHandlerGroup
Set up a worker pool to handle events from the ring buffer.
handleExceptionsFor(EventHandler<T>) - Method in class com.lmax.disruptor.dsl.Disruptor
Override the default exception handler for a specific handler.
handleExceptionsWith(ExceptionHandler) - Method in class com.lmax.disruptor.dsl.Disruptor
Specify an exception handler to be used for any future event handlers.

Note that only event handlers set up after calling this method will use the exception handler.

handleOnShutdownException(Throwable) - Method in interface com.lmax.disruptor.ExceptionHandler
Callback to notify of an exception during LifecycleAware.onShutdown()
handleOnShutdownException(Throwable) - Method in class com.lmax.disruptor.FatalExceptionHandler
 
handleOnShutdownException(Throwable) - Method in class com.lmax.disruptor.IgnoreExceptionHandler
 
handleOnStartException(Throwable) - Method in interface com.lmax.disruptor.ExceptionHandler
Callback to notify of an exception during LifecycleAware.onStart()
handleOnStartException(Throwable) - Method in class com.lmax.disruptor.FatalExceptionHandler
 
handleOnStartException(Throwable) - Method in class com.lmax.disruptor.IgnoreExceptionHandler
 
hasAvailableCapacity(int) - Method in class com.lmax.disruptor.MultiProducerSequencer
 
hasAvailableCapacity(int) - Method in class com.lmax.disruptor.RingBuffer
Given specified requiredCapacity determines if that amount of space is available.
hasAvailableCapacity(int) - Method in interface com.lmax.disruptor.Sequencer
Has the buffer got capacity to allocate another sequence.
hasAvailableCapacity(int) - Method in class com.lmax.disruptor.SingleProducerSequencer
 
Histogram - Class in com.lmax.disruptor.collections
Histogram for tracking the frequency of observations of values below interval upper bounds.

This class is useful for recording timings across a large number of observations when high performance is required.

The interval bounds are used to define the ranges of the histogram buckets.

Histogram(long[]) - Constructor for class com.lmax.disruptor.collections.Histogram
Create a new Histogram with a provided list of interval bounds.

I

IgnoreExceptionHandler - Class in com.lmax.disruptor
Convenience implementation of an exception handler that using standard JDK logging to log the exception as Level.INFO
IgnoreExceptionHandler() - Constructor for class com.lmax.disruptor.IgnoreExceptionHandler
 
IgnoreExceptionHandler(Logger) - Constructor for class com.lmax.disruptor.IgnoreExceptionHandler
 
incrementAndGet() - Method in class com.lmax.disruptor.FixedSequenceGroup
Not supported.
incrementAndGet() - Method in class com.lmax.disruptor.Sequence
Atomically increment the sequence by one.
INITIAL_CURSOR_VALUE - Static variable in class com.lmax.disruptor.RingBuffer
 
INITIAL_CURSOR_VALUE - Static variable in interface com.lmax.disruptor.Sequencer
Set to -1 as sequence starting point
INSTANCE - Static variable in exception com.lmax.disruptor.AlertException
Pre-allocated exception to avoid garbage generation
INSTANCE - Static variable in exception com.lmax.disruptor.InsufficientCapacityException
 
INSTANCE - Static variable in exception com.lmax.disruptor.TimeoutException
 
InsufficientCapacityException - Exception in com.lmax.disruptor
Exception thrown when the it is not possible to insert a value into the ring buffer without it wrapping the consuming sequenes.
isAlerted() - Method in interface com.lmax.disruptor.SequenceBarrier
The current alert status for the barrier.
isAvailable(long) - Method in class com.lmax.disruptor.MultiProducerSequencer
 
isAvailable(long) - Method in interface com.lmax.disruptor.Sequencer
Confirms if a sequence is published and the event is available for use; non-blocking.
isAvailable(long) - Method in class com.lmax.disruptor.SingleProducerSequencer
 
isPublished(long) - Method in class com.lmax.disruptor.RingBuffer
Determines if a particular entry has been published.

L

LifecycleAware - Interface in com.lmax.disruptor
Implement this interface in your EventHandler to be notified when a thread for the BatchEventProcessor starts and shuts down.

log2(int) - Static method in class com.lmax.disruptor.util.Util
Calculate the log base 2 of the supplied integer, essentially reports the location of the highest bit.

M

MultiProducerSequencer - Class in com.lmax.disruptor
Coordinator for claiming sequences for access to a data structure while tracking dependent Sequences Suitable for use for sequencing across multiple publisher threads.
MultiProducerSequencer(int, WaitStrategy) - Constructor for class com.lmax.disruptor.MultiProducerSequencer
Construct a Sequencer with the selected wait strategy and buffer size.
MutableLong - Class in com.lmax.disruptor.util
Holder class for a long value.
MutableLong() - Constructor for class com.lmax.disruptor.util.MutableLong
Default constructor
MutableLong(long) - Constructor for class com.lmax.disruptor.util.MutableLong
Construct the holder with initial value.

N

newBarrier(Sequence...) - Method in class com.lmax.disruptor.AbstractSequencer
 
newBarrier(Sequence...) - Method in class com.lmax.disruptor.RingBuffer
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.
newBarrier(Sequence...) - Method in interface com.lmax.disruptor.Sequencer
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.
newInstance() - Method in interface com.lmax.disruptor.EventFactory
 
newThread(Runnable) - Method in enum com.lmax.disruptor.util.DaemonThreadFactory
 
next() - Method in class com.lmax.disruptor.MultiProducerSequencer
 
next(int) - Method in class com.lmax.disruptor.MultiProducerSequencer
 
next() - Method in class com.lmax.disruptor.RingBuffer
Increment and return the next sequence for the ring buffer.
next() - Method in interface com.lmax.disruptor.Sequencer
Claim the next event in sequence for publishing.
next(int) - Method in interface com.lmax.disruptor.Sequencer
Claim the next n events in sequence for publishing.
next() - Method in class com.lmax.disruptor.SingleProducerSequencer
 
next(int) - Method in class com.lmax.disruptor.SingleProducerSequencer
 
NoOpEventProcessor - Class in com.lmax.disruptor
No operation version of a EventProcessor that simply tracks a Sequence.
NoOpEventProcessor(RingBuffer<?>) - Constructor for class com.lmax.disruptor.NoOpEventProcessor
Construct a EventProcessor that simply tracks a Sequence object.

O

onEvent(T, long, boolean) - Method in class com.lmax.disruptor.AggregateEventHandler
 
onEvent(T, long, boolean) - Method in interface com.lmax.disruptor.EventHandler
Called when a publisher has published an event to the RingBuffer
onEvent(T) - Method in interface com.lmax.disruptor.WorkHandler
Callback to indicate a unit of work needs to be processed.
onShutdown() - Method in class com.lmax.disruptor.AggregateEventHandler
 
onShutdown() - Method in interface com.lmax.disruptor.LifecycleAware
Called once just before the thread is shutdown.

Sequence event processing will already have stopped before this method is called.

onStart() - Method in class com.lmax.disruptor.AggregateEventHandler
 
onStart() - Method in interface com.lmax.disruptor.LifecycleAware
Called once on thread start before first event is available.
onTimeout(long) - Method in interface com.lmax.disruptor.TimeoutHandler
 

P

p1 - Variable in class com.lmax.disruptor.util.PaddedLong
 
p2 - Variable in class com.lmax.disruptor.util.PaddedLong
 
p3 - Variable in class com.lmax.disruptor.util.PaddedLong
 
p4 - Variable in class com.lmax.disruptor.util.PaddedLong
 
p5 - Variable in class com.lmax.disruptor.util.PaddedLong
 
p6 - Variable in class com.lmax.disruptor.util.PaddedLong
 
PaddedLong - Class in com.lmax.disruptor.util
Cache line padded long variable to be used when false sharing maybe an issue.
PaddedLong() - Constructor for class com.lmax.disruptor.util.PaddedLong
Default constructor
PaddedLong(long) - Constructor for class com.lmax.disruptor.util.PaddedLong
Construct with an initial value.
PhasedBackoffWaitStrategy - Class in com.lmax.disruptor
Phased wait strategy for waiting EventProcessors on a barrier.

This strategy can be used when throughput and low-latency are not as important as CPU resource.

Spins, then yields, then blocks on the configured BlockingStrategy.

PhasedBackoffWaitStrategy(long, long, TimeUnit, PhasedBackoffWaitStrategy.BlockingStrategy) - Constructor for class com.lmax.disruptor.PhasedBackoffWaitStrategy
 
ProducerType - Enum in com.lmax.disruptor.dsl
Defines producer types to support creation of RingBuffer with correct sequencer and publisher.

publish(long) - Method in class com.lmax.disruptor.MultiProducerSequencer
 
publish(long, long) - Method in class com.lmax.disruptor.MultiProducerSequencer
 
publish(long) - Method in class com.lmax.disruptor.RingBuffer
Publish the specified sequence.
publish(long) - Method in interface com.lmax.disruptor.Sequencer
Publishes a sequence.
publish(long, long) - Method in interface com.lmax.disruptor.Sequencer
Batch publish sequences.
publish(long) - Method in class com.lmax.disruptor.SingleProducerSequencer
 
publish(long, long) - Method in class com.lmax.disruptor.SingleProducerSequencer
 
publishEvent(EventTranslator<T>) - Method in class com.lmax.disruptor.dsl.Disruptor
Publish an event to the ring buffer.
publishEvent(EventTranslator<E>) - Method in class com.lmax.disruptor.RingBuffer
Publishes an event to the ring buffer.
publishEvent(EventTranslatorOneArg<E, A>, A) - Method in class com.lmax.disruptor.RingBuffer
Allows one user supplied argument.
publishEvent(EventTranslatorTwoArg<E, A, B>, A, B) - Method in class com.lmax.disruptor.RingBuffer
Allows two user supplied arguments.
publishEvent(EventTranslatorThreeArg<E, A, B, C>, A, B, C) - Method in class com.lmax.disruptor.RingBuffer
Allows three user supplied arguments
publishEvent(EventTranslatorVararg<E>, Object...) - Method in class com.lmax.disruptor.RingBuffer
Allows a variable number of user supplied arguments

R

remainingCapacity() - Method in class com.lmax.disruptor.MultiProducerSequencer
 
remainingCapacity() - Method in class com.lmax.disruptor.RingBuffer
Get the remaining capacity for this ringBuffer.
remainingCapacity() - Method in interface com.lmax.disruptor.Sequencer
Get the remaining capacity for this sequencer.
remainingCapacity() - Method in class com.lmax.disruptor.SingleProducerSequencer
 
remove(Sequence) - Method in class com.lmax.disruptor.SequenceGroup
Remove the first occurrence of the Sequence from this aggregate.
removeGatingSequence(Sequence) - Method in class com.lmax.disruptor.AbstractSequencer
 
removeGatingSequence(Sequence) - Method in class com.lmax.disruptor.RingBuffer
Remove the specified sequence from this ringBuffer.
removeGatingSequence(Sequence) - Method in interface com.lmax.disruptor.Sequencer
Remove the specified sequence from this sequencer.
resetTo(long) - Method in class com.lmax.disruptor.RingBuffer
Resets the cursor to a specific value.
RingBuffer<E> - Class in com.lmax.disruptor
Ring based store of reusable entries containing the data representing an event being exchanged between event producer and EventProcessors.
run() - Method in class com.lmax.disruptor.BatchEventProcessor
It is ok to have another thread rerun this method after a halt().
run() - Method in class com.lmax.disruptor.NoOpEventProcessor
 
run() - Method in class com.lmax.disruptor.WorkProcessor
It is ok to have another thread re-run this method after a halt().

S

Sequence - Class in com.lmax.disruptor
Concurrent sequence class used for tracking the progress of the ring buffer and event processors.
Sequence() - Constructor for class com.lmax.disruptor.Sequence
Create a sequence initialised to -1.
Sequence(long) - Constructor for class com.lmax.disruptor.Sequence
Create a sequence with a specified initial value.
SequenceBarrier - Interface in com.lmax.disruptor
Coordination barrier for tracking the cursor for publishers and sequence of dependent EventProcessors for processing a data structure
SequenceGroup - Class in com.lmax.disruptor
A Sequence group that can dynamically have Sequences added and removed while being thread safe.
SequenceGroup() - Constructor for class com.lmax.disruptor.SequenceGroup
Default Constructor
Sequencer - Interface in com.lmax.disruptor
Coordinates claiming sequences for access to a data structure while tracking dependent Sequences
SequenceReportingEventHandler<T> - Interface in com.lmax.disruptor
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.
set(long) - Method in class com.lmax.disruptor.FixedSequenceGroup
Not supported.
set(long) - Method in class com.lmax.disruptor.Sequence
Perform an ordered write of this sequence.
set(long) - Method in class com.lmax.disruptor.SequenceGroup
Set all Sequences in the group to a given value.
set(long) - Method in class com.lmax.disruptor.util.MutableLong
Set the long value.
setExceptionHandler(ExceptionHandler) - Method in class com.lmax.disruptor.BatchEventProcessor
Set a new ExceptionHandler for handling exceptions propagated out of the BatchEventProcessor
setSequenceCallback(Sequence) - Method in interface com.lmax.disruptor.SequenceReportingEventHandler
Call by the BatchEventProcessor to setup the callback.
setVolatile(long) - Method in class com.lmax.disruptor.Sequence
Performs a volatile write of this sequence.
shutdown() - Method in class com.lmax.disruptor.dsl.Disruptor
Waits until all events currently in the disruptor have been processed by all event processors and then halts the processors.
signalAllWhenBlocking() - Method in class com.lmax.disruptor.BlockingWaitStrategy
 
signalAllWhenBlocking() - Method in class com.lmax.disruptor.BusySpinWaitStrategy
 
signalAllWhenBlocking() - Method in class com.lmax.disruptor.PhasedBackoffWaitStrategy
 
signalAllWhenBlocking() - Method in class com.lmax.disruptor.SleepingWaitStrategy
 
signalAllWhenBlocking() - Method in class com.lmax.disruptor.TimeoutBlockingWaitStrategy
 
signalAllWhenBlocking() - Method in interface com.lmax.disruptor.WaitStrategy
Implementations should signal the waiting EventProcessors that the cursor has advanced.
signalAllWhenBlocking() - Method in class com.lmax.disruptor.YieldingWaitStrategy
 
SingleProducerSequencer - Class in com.lmax.disruptor
Coordinator for claiming sequences for access to a data structure while tracking dependent Sequences.

Generally not safe for use from multiple threads as it does not implement any barriers.

SingleProducerSequencer(int, WaitStrategy) - Constructor for class com.lmax.disruptor.SingleProducerSequencer
Construct a Sequencer with the selected wait strategy and buffer size.
size() - Method in class com.lmax.disruptor.SequenceGroup
Get the size of the group.
SleepingWaitStrategy - Class in com.lmax.disruptor
Sleeping strategy that initially spins, then uses a Thread.yield(), and eventually for the minimum number of nanos the OS and JVM will allow while the EventProcessors are waiting on a barrier.
SleepingWaitStrategy() - Constructor for class com.lmax.disruptor.SleepingWaitStrategy
 
start() - Method in class com.lmax.disruptor.dsl.Disruptor
Starts the event processors and returns the fully configured ring buffer.

The ring buffer is set up to prevent overwriting any entry that is yet to be processed by the slowest event processor.

This method must only be called once after all event processors have been added.

start(Executor) - Method in class com.lmax.disruptor.WorkerPool
Start the worker pool processing events in sequence.
sumPaddingToPreventOptimisation() - Method in class com.lmax.disruptor.util.PaddedLong
 

T

then(EventHandler<T>...) - Method in class com.lmax.disruptor.dsl.EventHandlerGroup
Set up batch handlers to consume events from the ring buffer.
thenHandleEventsWithWorkerPool(WorkHandler<T>...) - Method in class com.lmax.disruptor.dsl.EventHandlerGroup
Set up a worker pool to handle events from the ring buffer.
TimeoutBlockingWaitStrategy - Class in com.lmax.disruptor
 
TimeoutBlockingWaitStrategy(long, TimeUnit) - Constructor for class com.lmax.disruptor.TimeoutBlockingWaitStrategy
 
TimeoutException - Exception in com.lmax.disruptor
 
TimeoutHandler - Interface in com.lmax.disruptor
 
toString() - Method in class com.lmax.disruptor.collections.Histogram
 
toString() - Method in class com.lmax.disruptor.FixedSequenceGroup
 
toString() - Method in class com.lmax.disruptor.Sequence
 
translateTo(T, long) - Method in interface com.lmax.disruptor.EventTranslator
Translate a data representation into fields set in given event
translateTo(T, long, A) - Method in interface com.lmax.disruptor.EventTranslatorOneArg
Translate a data representation into fields set in given event
translateTo(T, long, A, B, C) - Method in interface com.lmax.disruptor.EventTranslatorThreeArg
Translate a data representation into fields set in given event
translateTo(T, long, A, B) - Method in interface com.lmax.disruptor.EventTranslatorTwoArg
Translate a data representation into fields set in given event
translateTo(T, long, Object...) - Method in interface com.lmax.disruptor.EventTranslatorVararg
Translate a data representation into fields set in given event
tryNext() - Method in class com.lmax.disruptor.MultiProducerSequencer
 
tryNext(int) - Method in class com.lmax.disruptor.MultiProducerSequencer
 
tryNext() - Method in class com.lmax.disruptor.RingBuffer
Increment and return the next sequence for the ring buffer.
tryNext() - Method in interface com.lmax.disruptor.Sequencer
Attempt to claim the next event in sequence for publishing.
tryNext(int) - Method in interface com.lmax.disruptor.Sequencer
Attempt to claim the next n events in sequence for publishing.
tryNext() - Method in class com.lmax.disruptor.SingleProducerSequencer
 
tryNext(int) - Method in class com.lmax.disruptor.SingleProducerSequencer
 
tryPublishEvent(EventTranslator<E>) - Method in class com.lmax.disruptor.RingBuffer
Attempts to publish an event to the ring buffer.
tryPublishEvent(EventTranslatorOneArg<E, A>, A) - Method in class com.lmax.disruptor.RingBuffer
Allows one user supplied argument.
tryPublishEvent(EventTranslatorTwoArg<E, A, B>, A, B) - Method in class com.lmax.disruptor.RingBuffer
Allows two user supplied arguments.
tryPublishEvent(EventTranslatorThreeArg<E, A, B, C>, A, B, C) - Method in class com.lmax.disruptor.RingBuffer
Allows three user supplied arguments
tryPublishEvent(EventTranslatorVararg<E>, Object...) - Method in class com.lmax.disruptor.RingBuffer
Allows a variable number of user supplied arguments

U

Util - Class in com.lmax.disruptor.util
Set of common functions used by the Disruptor
Util() - Constructor for class com.lmax.disruptor.util.Util
 

V

valueOf(String) - Static method in enum com.lmax.disruptor.dsl.ProducerType
Returns the enum constant of this type with the specified name.
valueOf(String) - Static method in enum com.lmax.disruptor.util.DaemonThreadFactory
Returns the enum constant of this type with the specified name.
values() - Static method in enum com.lmax.disruptor.dsl.ProducerType
Returns an array containing the constants of this enum type, in the order they are declared.
values() - Static method in enum com.lmax.disruptor.util.DaemonThreadFactory
Returns an array containing the constants of this enum type, in the order they are declared.

W

waitFor(long, Sequence, Sequence, SequenceBarrier) - Method in class com.lmax.disruptor.BlockingWaitStrategy
 
waitFor(long, Sequence, Sequence, SequenceBarrier) - Method in class com.lmax.disruptor.BusySpinWaitStrategy
 
waitFor(long, Sequence, Sequence, SequenceBarrier) - Method in class com.lmax.disruptor.PhasedBackoffWaitStrategy
 
waitFor(long) - Method in interface com.lmax.disruptor.SequenceBarrier
Wait for the given sequence to be available for consumption.
waitFor(long, Sequence, Sequence, SequenceBarrier) - Method in class com.lmax.disruptor.SleepingWaitStrategy
 
waitFor(long, Sequence, Sequence, SequenceBarrier) - Method in class com.lmax.disruptor.TimeoutBlockingWaitStrategy
 
waitFor(long, Sequence, Sequence, SequenceBarrier) - Method in interface com.lmax.disruptor.WaitStrategy
Wait for the given sequence to be available.
waitFor(long, Sequence, Sequence, SequenceBarrier) - Method in class com.lmax.disruptor.YieldingWaitStrategy
 
waitStrategy - Variable in class com.lmax.disruptor.AbstractSequencer
 
WaitStrategy - Interface in com.lmax.disruptor
Strategy employed for making EventProcessors wait on a cursor Sequence.
with(ExceptionHandler) - Method in class com.lmax.disruptor.dsl.ExceptionHandlerSetting
Specify the ExceptionHandler to use with the event handler.
withLock(long, long, TimeUnit) - Static method in class com.lmax.disruptor.PhasedBackoffWaitStrategy
Block with wait/notifyAll semantics
withSleep(long, long, TimeUnit) - Static method in class com.lmax.disruptor.PhasedBackoffWaitStrategy
Block by sleeping in a loop
WorkerPool<T> - Class in com.lmax.disruptor
WorkerPool contains a pool of WorkProcessors that will consume sequences so jobs can be farmed out across a pool of workers.
WorkerPool(RingBuffer<T>, SequenceBarrier, ExceptionHandler, WorkHandler<T>...) - Constructor for class com.lmax.disruptor.WorkerPool
Create a worker pool to enable an array of WorkHandlers to consume published sequences.
WorkerPool(EventFactory<T>, ExceptionHandler, WorkHandler<T>...) - Constructor for class com.lmax.disruptor.WorkerPool
Construct a work pool with an internal RingBuffer for convenience.
WorkHandler<T> - Interface in com.lmax.disruptor
Callback interface to be implemented for processing units of work as they become available in the RingBuffer.
WorkProcessor<T> - Class in com.lmax.disruptor
A WorkProcessor wraps a single WorkHandler, effectively consuming the sequence and ensuring appropriate barriers.

Generally, this will be used as part of a WorkerPool.

WorkProcessor(RingBuffer<T>, SequenceBarrier, WorkHandler<T>, ExceptionHandler, Sequence) - Constructor for class com.lmax.disruptor.WorkProcessor
Construct a WorkProcessor.

Y

YieldingWaitStrategy - Class in com.lmax.disruptor
Yielding strategy that uses a Thread.yield() for EventProcessors waiting on a barrier after an initially spinning.
YieldingWaitStrategy() - Constructor for class com.lmax.disruptor.YieldingWaitStrategy
 
A B C D E F G H I L M N O P R S T U V W Y 

Copyright © 2011 - 2013 LMAX Ltd. All Rights Reserved.