Package com.lmax.disruptor
Interface SequenceBarrier
- All Known Implementing Classes:
ProcessingSequenceBarrier
public interface SequenceBarrier
Coordination barrier for tracking the cursor for publishers and sequence of
dependent
EventProcessor
s for processing a data structure-
Method Summary
Modifier and TypeMethodDescriptionvoid
alert()
Alert theEventProcessor
s of a status change and stay in this status until cleared.void
Check if an alert has been raised and throw anAlertException
if it has.void
Clear the current alert status.long
Get the current cursor value that can be read.boolean
The current alert status for the barrier.long
waitFor
(long sequence) Wait for the given sequence to be available for consumption.
-
Method Details
-
waitFor
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 DisruptorInterruptedException
- if the thread needs awaking on a condition variable.TimeoutException
- if a timeout occurs while waiting for the supplied sequence.
-
getCursor
long getCursor()Get the current cursor value that can be read.- 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 theEventProcessor
s of a status change and stay in this status until cleared. -
clearAlert
void clearAlert()Clear the current alert status. -
checkAlert
Check if an alert has been raised and throw anAlertException
if it has.- Throws:
AlertException
- if alert has been raised.
-