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 Description void
await()
void
close()
To be called exactly once for each register() call this object is returned for, indicating the operation is completeint
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 progressWaitQueue.Signal
isBlockingSignal(WaitQueue.Signal signal)
wrap the provided signal to also be signalled if the operation gets marked blockingboolean
isFinished()
boolean
isOldestLiveGroup()
OpOrder.Group
prev()
-
-
-
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 interfacejava.lang.AutoCloseable
-
isFinished
public boolean isFinished()
-
isOldestLiveGroup
public boolean isOldestLiveGroup()
-
await
public void await()
-
prev
public OpOrder.Group prev()
-
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 interfacejava.lang.Comparable<OpOrder.Group>
-
-