-
public interface SequenceBarrier
Coordination barrier for tracking the cursor for publishers and sequence of dependentEventProcessor
s for processing a data structure
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
alert()
Alert theEventProcessor
s of a status change and stay in this status until cleared.void
checkAlert()
Check if an alert has been raised and throw anAlertException
if it has.void
clearAlert()
Clear the current alert status.long
getCursor()
Get the current cursor value that can be read.boolean
isAlerted()
The current alert status for the barrier.long
waitFor(long sequence)
Wait for the given sequence to be available for consumption.
-
-
-
Method Detail
-
waitFor
long waitFor(long sequence) throws AlertException, java.lang.InterruptedException, TimeoutException
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 Disruptorjava.lang.InterruptedException
- 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
void checkAlert() throws AlertException
Check if an alert has been raised and throw anAlertException
if it has.- Throws:
AlertException
- if alert has been raised.
-
-