com.lmax.disruptor
Interface SequenceBarrier


public interface SequenceBarrier

Coordination barrier for tracking the cursor for publishers and sequence of dependent EventProcessors for processing a data structure


Method Summary
 void alert()
          Alert the EventProcessors of a status change and stay in this status until cleared.
 void checkAlert()
          Check if an alert has been raised and throw an AlertException if it has.
 void clearAlert()
          Clear the current alert status.
 long getCursor()
          Delegate a call to the Sequencer.getCursor()
 boolean isAlerted()
          The current alert status for the barrier.
 long waitFor(long sequence)
          Wait for the given sequence to be available for consumption.
 long waitFor(long sequence, long timeout, java.util.concurrent.TimeUnit units)
          Wait for the given sequence to be available for consumption with a time out.
 

Method Detail

waitFor

long waitFor(long sequence)
             throws AlertException,
                    java.lang.InterruptedException
Wait for the given sequence to be available for consumption.

Parameters:
sequence - to wait for
Returns:
the sequence up to which is available
Throws:
AlertException - if a status change has occurred for the Disruptor
java.lang.InterruptedException - if the thread needs awaking on a condition variable.

waitFor

long waitFor(long sequence,
             long timeout,
             java.util.concurrent.TimeUnit units)
             throws AlertException,
                    java.lang.InterruptedException
Wait for the given sequence to be available for consumption with a time out.

Parameters:
sequence - to wait for
timeout - value
units - for the timeout value
Returns:
the sequence up to which is available
Throws:
AlertException - if a status change has occurred for the Disruptor
java.lang.InterruptedException - if the thread needs awaking on a condition variable.

getCursor

long getCursor()
Delegate a call to the Sequencer.getCursor()

Returns:
value of the cursor for entries that have been published.

isAlerted

boolean isAlerted()
The current alert status for the barrier.

Returns:
true if in alert otherwise false.

alert

void alert()
Alert the EventProcessors of a status change and stay in this status until cleared.


clearAlert

void clearAlert()
Clear the current alert status.


checkAlert

void checkAlert()
                throws AlertException
Check if an alert has been raised and throw an AlertException if it has.

Throws:
AlertException - if alert has been raised.


Copyright © 2011 LMAX Ltd. All Rights Reserved.