Class WaitQueue.Standard.AbstractSignal
java.lang.Object
org.apache.cassandra.utils.concurrent.Awaitable.AbstractAwaitable
org.apache.cassandra.utils.concurrent.WaitQueue.Standard.AbstractSignal
- All Implemented Interfaces:
Awaitable,Condition,WaitQueue.Signal
- Enclosing class:
- WaitQueue.Standard
public abstract static class WaitQueue.Standard.AbstractSignal
extends Awaitable.AbstractAwaitable
implements WaitQueue.Signal
An abstract signal implementation
TODO: use intrusive linked list
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.cassandra.utils.concurrent.Awaitable
Awaitable.AbstractAwaitable, Awaitable.AsyncAwaitable, Awaitable.Defaults, Awaitable.SyncAwaitableNested classes/interfaces inherited from interface org.apache.cassandra.utils.concurrent.Condition
Condition.Async, Condition.Sync -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionawait()Await indefinitely, throwing any interrupt.booleanawaitUntil(long nanoTimeDeadline) Await until the deadline (in nanoTime), throwing any interrupt.booleanawaitUntilUninterruptibly(long nanoTimeDeadline) Methods inherited from class org.apache.cassandra.utils.concurrent.Awaitable.AbstractAwaitable
await, awaitThrowUncheckedOnInterrupt, awaitThrowUncheckedOnInterrupt, awaitUninterruptibly, awaitUntilThrowUncheckedOnInterruptMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.cassandra.utils.concurrent.Awaitable
await, awaitThrowUncheckedOnInterrupt, awaitThrowUncheckedOnInterrupt, awaitUninterruptibly, awaitUntilThrowUncheckedOnInterruptMethods inherited from interface org.apache.cassandra.utils.concurrent.Condition
isSignalled, signal, signalAllMethods inherited from interface org.apache.cassandra.utils.concurrent.WaitQueue.Signal
cancel, checkAndClear, isCancelled, isSet
-
Constructor Details
-
AbstractSignal
public AbstractSignal()
-
-
Method Details
-
awaitUninterruptibly
Description copied from class:Awaitable.AbstractAwaitable- Specified by:
awaitUninterruptiblyin interfaceAwaitable- Overrides:
awaitUninterruptiblyin classAwaitable.AbstractAwaitable
-
await
Description copied from interface:WaitQueue.SignalAwait indefinitely, throwing any interrupt. No spurious wakeups. Important: the signal can be cancelled if the thread executing await() is interrupted- Specified by:
awaitin interfaceAwaitable- Specified by:
awaitin interfaceWaitQueue.Signal- Throws:
InterruptedException- if interrupted
-
awaitUntilUninterruptibly
public boolean awaitUntilUninterruptibly(long nanoTimeDeadline) Description copied from class:Awaitable.AbstractAwaitable- Specified by:
awaitUntilUninterruptiblyin interfaceAwaitable- Overrides:
awaitUntilUninterruptiblyin classAwaitable.AbstractAwaitable- Returns:
- true if we were signalled, false if the deadline elapsed
-
awaitUntil
Description copied from interface:WaitQueue.SignalAwait until the deadline (in nanoTime), throwing any interrupt. No spurious wakeups.- Specified by:
awaitUntilin interfaceAwaitable- Specified by:
awaitUntilin interfaceWaitQueue.Signal- Returns:
- true if we were signalled, false if the deadline elapsed Important: the signal can be cancelled if the thread executing await() is interrupted
- Throws:
InterruptedException- if interrupted
-