Class OpOrder.Group

  • All Implemented Interfaces:
    java.lang.AutoCloseable, java.lang.Comparable<OpOrder.Group>
    Enclosing class:
    OpOrder

    public static final class OpOrder.Group
    extends java.lang.Object
    implements java.lang.Comparable<OpOrder.Group>, java.lang.AutoCloseable
    Represents a group of identically ordered operations, i.e. all operations started in the interval between two barrier issuances. For each register() call this is returned, close() must be called exactly once. It should be treated like taking a lock().
    • Method Detail

      • close

        public void close()
        To be called exactly once for each register() call this object is returned for, indicating the operation is complete
        Specified by:
        close in interface java.lang.AutoCloseable
      • isFinished

        public boolean isFinished()
      • isOldestLiveGroup

        public boolean isOldestLiveGroup()
      • await

        public void await()
      • isBlocking

        public boolean isBlocking()
        Returns:
        true if a barrier we are behind is, or may be, blocking general progress, so we should try more aggressively to progress
      • compareTo

        public int compareTo​(OpOrder.Group that)
        Specified by:
        compareTo in interface java.lang.Comparable<OpOrder.Group>