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 voidawait()voidclose()To be called exactly once for each register() call this object is returned for, indicating the operation is completeintcompareTo(OpOrder.Group that)booleanisBlocking()booleanisFinished()booleanisOldestLiveGroup()voidnotifyIfBlocking(WaitQueue.Signal signal)OpOrder.Groupprev()
-
-
-
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:
closein 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
-
notifyIfBlocking
public void notifyIfBlocking(WaitQueue.Signal signal)
-
compareTo
public int compareTo(OpOrder.Group that)
- Specified by:
compareToin interfacejava.lang.Comparable<OpOrder.Group>
-
-