org.apache.cassandra.utils.concurrent

## Class OpOrder.Group

- java.lang.Object
- - org.apache.cassandra.utils.concurrent.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 Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` To be called exactly once for each register() call this object is returned for, indicating the operation is complete
    `int` | `compareTo(OpOrder.Group that)`
    `boolean` | `isBlocking()`
    `WaitQueue.Signal` | `isBlockingSignal()` register to be signalled when a barrier waiting on us is, or maybe, blocking general progress, so we should try more aggressively to progress
    `WaitQueue.Signal` | `isBlockingSignal(WaitQueue.Signal signal)` wrap the provided signal to also be signalled if the operation gets marked blocking

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 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`

    - #### 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

    - #### isBlockingSignal

          public WaitQueue.Signal isBlockingSignal()

      register to be signalled when a barrier waiting on us is, or maybe, blocking general progress, so we should try more aggressively to progress

    - #### isBlockingSignal

          public WaitQueue.Signal isBlockingSignal(WaitQueue.Signal signal)

      wrap the provided signal to also be signalled if the operation gets marked blocking

    - #### compareTo

          public int compareTo(OpOrder.Group that)

      Specified by:
        `compareTo` in interface `java.lang.Comparable<OpOrder.Group>`

Copyright © 2018 The Apache Software Foundation