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

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      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()
      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 Disruptor
        java.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 the EventProcessors of a status change and stay in this status until cleared.
      • clearAlert

        void clearAlert()
        Clear the current alert status.