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.SyncAwaitable
-
Nested classes/interfaces inherited from interface org.apache.cassandra.utils.concurrent.Condition
Condition.Async, Condition.Sync
-
-
Constructor Summary
Constructors Constructor Description AbstractSignal()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description WaitQueue.Signalawait()Await indefinitely, throwing any interrupt.WaitQueue.SignalawaitUninterruptibly()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, awaitUntilThrowUncheckedOnInterrupt
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.cassandra.utils.concurrent.Awaitable
await, awaitThrowUncheckedOnInterrupt, awaitThrowUncheckedOnInterrupt, awaitUninterruptibly, awaitUntilThrowUncheckedOnInterrupt
-
Methods inherited from interface org.apache.cassandra.utils.concurrent.Condition
isSignalled, signal, signalAll
-
Methods inherited from interface org.apache.cassandra.utils.concurrent.WaitQueue.Signal
cancel, checkAndClear, isCancelled, isSet
-
-
-
-
Method Detail
-
awaitUninterruptibly
public WaitQueue.Signal awaitUninterruptibly()
Description copied from class:Awaitable.AbstractAwaitable- Specified by:
awaitUninterruptiblyin interfaceAwaitable- Overrides:
awaitUninterruptiblyin classAwaitable.AbstractAwaitable
-
await
public WaitQueue.Signal await() throws java.lang.InterruptedException
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:
java.lang.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
public boolean awaitUntil(long nanoTimeDeadline) throws java.lang.InterruptedExceptionDescription 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:
java.lang.InterruptedException- if interrupted
-
-