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