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()
boolean
isFinished()
boolean
isOldestLiveGroup()
void
notifyIfBlocking(WaitQueue.Signal signal)
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
-
notifyIfBlocking
public void notifyIfBlocking(WaitQueue.Signal signal)
-
compareTo
public int compareTo(OpOrder.Group that)
- Specified by:
compareTo
in interfacejava.lang.Comparable<OpOrder.Group>
-
-