Interface SequenceBarrier

All Known Implementing Classes:
ProcessingSequenceBarrier

public interface SequenceBarrier
Coordination barrier for tracking the cursor for publishers and sequence of dependent EventProcessors for processing a data structure
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Alert the EventProcessors of a status change and stay in this status until cleared.
    void
    Check if an alert has been raised and throw an AlertException 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

      long waitFor(long sequence) throws AlertException, 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 Disruptor
      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 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.