Class AsyncPromise<V>
java.lang.Object
org.apache.cassandra.utils.concurrent.AbstractFuture<V>
org.apache.cassandra.utils.concurrent.AsyncFuture<V>
org.apache.cassandra.utils.concurrent.AsyncPromise<V>
- All Implemented Interfaces:
com.google.common.util.concurrent.ListenableFuture<V>,io.netty.util.concurrent.Future<V>,io.netty.util.concurrent.Promise<V>,Future<V>,Awaitable,Future<V>,Promise<V>
- Direct Known Subclasses:
AsyncOneResponse,AsyncPromise.WithExecutor
Extends
AsyncFuture to implement the Promise interface.-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface org.apache.cassandra.utils.concurrent.Awaitable
Awaitable.AbstractAwaitable, Awaitable.AsyncAwaitable, Awaitable.Defaults, Awaitable.SyncAwaitable -
Field Summary
Fields inherited from class org.apache.cassandra.utils.concurrent.AbstractFuture
CANCELLED, UNCANCELLABLE, UNSET -
Constructor Summary
ConstructorsConstructorDescriptionAsyncPromise(io.netty.util.concurrent.GenericFutureListener<? extends io.netty.util.concurrent.Future<? super V>> listener) -
Method Summary
Modifier and TypeMethodDescriptionaddCallback(com.google.common.util.concurrent.FutureCallback<? super V> callback) SupportFutures.addCallback(com.google.common.util.concurrent.ListenableFuture<V>, com.google.common.util.concurrent.FutureCallback<? super V>, java.util.concurrent.Executor)natively SeeAbstractFuture.addListener(GenericFutureListener)for ordering semantics.addCallback(com.google.common.util.concurrent.FutureCallback<? super V> callback, Executor executor) SupportFutures.addCallback(com.google.common.util.concurrent.ListenableFuture<V>, com.google.common.util.concurrent.FutureCallback<? super V>, java.util.concurrent.Executor)natively SeeAbstractFuture.addListener(GenericFutureListener)for ordering semantics.addCallback(Consumer<? super V> onSuccess, Consumer<? super Throwable> onFailure) Support more fluid version ofFutures.addCallback(com.google.common.util.concurrent.ListenableFuture<V>, com.google.common.util.concurrent.FutureCallback<? super V>, java.util.concurrent.Executor)SeeAbstractFuture.addListener(GenericFutureListener)for ordering semantics.addListener(io.netty.util.concurrent.GenericFutureListener<? extends io.netty.util.concurrent.Future<? super V>> listener) Add a listener to be invoked once this future completes.addListeners(io.netty.util.concurrent.GenericFutureListener<? extends io.netty.util.concurrent.Future<? super V>>... listeners) await()Wait for this promise to completeWait for this promise to complete, throwing any interrupt as an UncheckedInterruptedExceptionWait uninterruptibly for this promise to completebooleanremoveListener(io.netty.util.concurrent.GenericFutureListener<? extends io.netty.util.concurrent.Future<? super V>> listener) removeListeners(io.netty.util.concurrent.GenericFutureListener<? extends io.netty.util.concurrent.Future<? super V>>... listeners) setFailure(Throwable throwable) Complete the promise abnormally if not already completesetSuccess(V v) Complete the promise successfully if not already completebooleanPrevent a future caller from cancelling this promisebooleanPrevent a future caller from cancelling this promisesync()waits for completion; in case of failure rethrows the original exception without a new wrapping exception so may cause problems for reporting stack traceswaits for completion; in case of failure rethrows the original exception without a new wrapping exception so may cause problems for reporting stack tracesbooleantryFailure(Throwable throwable) Complete the promise abnormally if not already completebooleantrySuccess(V v) Complete the promise successfully if not already completestatic <V> AsyncPromise<V>static <V> AsyncPromise<V>uncancellable(io.netty.util.concurrent.GenericFutureListener<? extends io.netty.util.concurrent.Future<? super V>> listener) static <V> AsyncPromise<V>uncancellable(Executor executor) static <V> AsyncPromise<V>withExecutor(Executor executor) Methods inherited from class org.apache.cassandra.utils.concurrent.AsyncFuture
awaitUntil, flatMap, mapMethods inherited from class org.apache.cassandra.utils.concurrent.AbstractFuture
addCallback, addCallback, addCallback, addListener, addListener, await, awaitThrowUncheckedOnInterrupt, awaitUninterruptibly, awaitUntilThrowUncheckedOnInterrupt, awaitUntilUninterruptibly, cancel, cause, description, flatMap, get, get, getNow, getWhenDone, isCancellable, isCancelled, isDone, isSuccess, map, map, notifyExecutor, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.cassandra.utils.concurrent.Awaitable
await, awaitThrowUncheckedOnInterrupt, awaitUninterruptibly, awaitUntil, awaitUntilThrowUncheckedOnInterrupt, awaitUntilUninterruptiblyMethods inherited from interface io.netty.util.concurrent.Future
await, awaitUninterruptibly, cancel, cause, getNow, isCancellable, isSuccessMethods inherited from interface java.util.concurrent.Future
get, get, isCancelled, isDoneMethods inherited from interface org.apache.cassandra.utils.concurrent.Future
addCallback, addCallback, addCallback, addListener, addListener, await, awaitUninterruptibly, flatMap, flatMap, map, map, notifyExecutor, rethrowIfFailed, syncThrowUncheckedOnInterrupt
-
Constructor Details
-
AsyncPromise
public AsyncPromise() -
AsyncPromise
public AsyncPromise(io.netty.util.concurrent.GenericFutureListener<? extends io.netty.util.concurrent.Future<? super V>> listener)
-
-
Method Details
-
withExecutor
-
uncancellable
-
uncancellable
-
uncancellable
public static <V> AsyncPromise<V> uncancellable(io.netty.util.concurrent.GenericFutureListener<? extends io.netty.util.concurrent.Future<? super V>> listener) -
setSuccess
Complete the promise successfully if not already complete- Specified by:
setSuccessin interfaceio.netty.util.concurrent.Promise<V>- Specified by:
setSuccessin interfacePromise<V>- Throws:
IllegalStateException- if already set
-
trySuccess
Complete the promise successfully if not already complete- Specified by:
trySuccessin interfaceio.netty.util.concurrent.Promise<V>- Overrides:
trySuccessin classAbstractFuture<V>- Returns:
- true iff completed promise
-
setFailure
Complete the promise abnormally if not already complete- Specified by:
setFailurein interfaceio.netty.util.concurrent.Promise<V>- Specified by:
setFailurein interfacePromise<V>- Throws:
IllegalStateException- if already set
-
tryFailure
Complete the promise abnormally if not already complete- Specified by:
tryFailurein interfaceio.netty.util.concurrent.Promise<V>- Overrides:
tryFailurein classAbstractFuture<V>- Returns:
- true iff completed promise
-
setUncancellable
public boolean setUncancellable()Prevent a future caller from cancelling this promise- Specified by:
setUncancellablein interfaceio.netty.util.concurrent.Promise<V>- Overrides:
setUncancellablein classAbstractFuture<V>- Returns:
- true if the promise is now uncancellable (whether or not we did this)
-
setUncancellableExclusive
public boolean setUncancellableExclusive()Prevent a future caller from cancelling this promise- Specified by:
setUncancellableExclusivein interfacePromise<V>- Overrides:
setUncancellableExclusivein classAbstractFuture<V>- Returns:
- true iff this invocation set it to uncancellable, whether or not now uncancellable
-
isUncancellable
public boolean isUncancellable()- Overrides:
isUncancellablein classAbstractFuture<V>
-
sync
waits for completion; in case of failure rethrows the original exception without a new wrapping exception so may cause problems for reporting stack traces -
syncUninterruptibly
waits for completion; in case of failure rethrows the original exception without a new wrapping exception so may cause problems for reporting stack traces- Specified by:
syncUninterruptiblyin interfaceio.netty.util.concurrent.Future<V>- Specified by:
syncUninterruptiblyin interfaceFuture<V>- Specified by:
syncUninterruptiblyin interfaceio.netty.util.concurrent.Promise<V>- Specified by:
syncUninterruptiblyin interfacePromise<V>
-
addListener
public AsyncPromise<V> addListener(io.netty.util.concurrent.GenericFutureListener<? extends io.netty.util.concurrent.Future<? super V>> listener) Description copied from class:AbstractFutureAdd a listener to be invoked once this future completes. Listeners are submitted toAbstractFuture.notifyExecutor()in the order they are added (or the specified executor in the case ofAbstractFuture.addListener(Runnable, Executor). ifAbstractFuture.notifyExecutor()is unset, they are invoked in the order they are added. The ordering holds across all variants of this method.- Specified by:
addListenerin interfaceio.netty.util.concurrent.Future<V>- Specified by:
addListenerin interfaceFuture<V>- Specified by:
addListenerin interfaceio.netty.util.concurrent.Promise<V>- Specified by:
addListenerin interfacePromise<V>- Overrides:
addListenerin classAbstractFuture<V>
-
addListeners
public AsyncPromise<V> addListeners(io.netty.util.concurrent.GenericFutureListener<? extends io.netty.util.concurrent.Future<? super V>>... listeners) - Specified by:
addListenersin interfaceio.netty.util.concurrent.Future<V>- Specified by:
addListenersin interfaceFuture<V>- Specified by:
addListenersin interfaceio.netty.util.concurrent.Promise<V>- Specified by:
addListenersin interfacePromise<V>- Overrides:
addListenersin classAbstractFuture<V>
-
removeListener
public AsyncPromise<V> removeListener(io.netty.util.concurrent.GenericFutureListener<? extends io.netty.util.concurrent.Future<? super V>> listener) - Specified by:
removeListenerin interfaceio.netty.util.concurrent.Future<V>- Specified by:
removeListenerin interfaceFuture<V>- Specified by:
removeListenerin interfaceio.netty.util.concurrent.Promise<V>- Specified by:
removeListenerin interfacePromise<V>- Overrides:
removeListenerin classAbstractFuture<V>
-
removeListeners
public AsyncPromise<V> removeListeners(io.netty.util.concurrent.GenericFutureListener<? extends io.netty.util.concurrent.Future<? super V>>... listeners) - Specified by:
removeListenersin interfaceio.netty.util.concurrent.Future<V>- Specified by:
removeListenersin interfaceFuture<V>- Specified by:
removeListenersin interfaceio.netty.util.concurrent.Promise<V>- Specified by:
removeListenersin interfacePromise<V>- Overrides:
removeListenersin classAbstractFuture<V>
-
addCallback
public AsyncPromise<V> addCallback(com.google.common.util.concurrent.FutureCallback<? super V> callback) Description copied from class:AbstractFutureSupportFutures.addCallback(com.google.common.util.concurrent.ListenableFuture<V>, com.google.common.util.concurrent.FutureCallback<? super V>, java.util.concurrent.Executor)natively SeeAbstractFuture.addListener(GenericFutureListener)for ordering semantics.- Specified by:
addCallbackin interfaceFuture<V>- Specified by:
addCallbackin interfacePromise<V>- Overrides:
addCallbackin classAbstractFuture<V>
-
addCallback
public AsyncPromise<V> addCallback(com.google.common.util.concurrent.FutureCallback<? super V> callback, Executor executor) Description copied from class:AbstractFutureSupportFutures.addCallback(com.google.common.util.concurrent.ListenableFuture<V>, com.google.common.util.concurrent.FutureCallback<? super V>, java.util.concurrent.Executor)natively SeeAbstractFuture.addListener(GenericFutureListener)for ordering semantics.- Specified by:
addCallbackin interfaceFuture<V>- Specified by:
addCallbackin interfacePromise<V>- Overrides:
addCallbackin classAbstractFuture<V>
-
addCallback
public AsyncPromise<V> addCallback(Consumer<? super V> onSuccess, Consumer<? super Throwable> onFailure) Description copied from class:AbstractFutureSupport more fluid version ofFutures.addCallback(com.google.common.util.concurrent.ListenableFuture<V>, com.google.common.util.concurrent.FutureCallback<? super V>, java.util.concurrent.Executor)SeeAbstractFuture.addListener(GenericFutureListener)for ordering semantics.- Specified by:
addCallbackin interfaceFuture<V>- Specified by:
addCallbackin interfacePromise<V>- Overrides:
addCallbackin classAbstractFuture<V>
-
await
Wait for this promise to complete- Specified by:
awaitin interfaceAwaitable- Specified by:
awaitin interfaceio.netty.util.concurrent.Future<V>- Specified by:
awaitin interfaceFuture<V>- Specified by:
awaitin interfaceio.netty.util.concurrent.Promise<V>- Specified by:
awaitin interfacePromise<V>- Overrides:
awaitin classAsyncFuture<V>- Throws:
InterruptedException- if interrupted
-
awaitUninterruptibly
Wait uninterruptibly for this promise to complete- Specified by:
awaitUninterruptiblyin interfaceAwaitable- Specified by:
awaitUninterruptiblyin interfaceio.netty.util.concurrent.Future<V>- Specified by:
awaitUninterruptiblyin interfaceFuture<V>- Specified by:
awaitUninterruptiblyin interfaceio.netty.util.concurrent.Promise<V>- Specified by:
awaitUninterruptiblyin interfacePromise<V>- Overrides:
awaitUninterruptiblyin classAbstractFuture<V>
-
awaitThrowUncheckedOnInterrupt
Wait for this promise to complete, throwing any interrupt as an UncheckedInterruptedException- Specified by:
awaitThrowUncheckedOnInterruptin interfaceAwaitable- Specified by:
awaitThrowUncheckedOnInterruptin interfaceFuture<V>- Specified by:
awaitThrowUncheckedOnInterruptin interfacePromise<V>- Overrides:
awaitThrowUncheckedOnInterruptin classAbstractFuture<V>- Throws:
UncheckedInterruptedException- if interrupted
-