Interface Future<V>
-
- All Superinterfaces:
Awaitable,io.netty.util.concurrent.Future<V>,java.util.concurrent.Future<V>,com.google.common.util.concurrent.ListenableFuture<V>
- All Known Subinterfaces:
Promise<V>,RunnableFuture<V>
- All Known Implementing Classes:
AbstractFuture,AsymmetricRemoteSyncTask,AsyncChannelPromise,AsyncFuture,AsyncOneResponse,AsyncPromise,AsyncPromise.WithExecutor,BlockingPartitionRepair,FutureCombiner,FutureTask,FutureTaskWithResources,ImmediateFuture,LocalSyncTask,PaxosCleanup,PaxosCleanupComplete,PaxosCleanupLocalCoordinator,PaxosCleanupSession,PaxosFinishPrepareCleanup,PaxosStartPrepareCleanup,RepairJob,RepairSession,Scheduler.Task,SnapshotTask,StreamResultFuture,SymmetricRemoteSyncTask,SyncFuture,SyncFutureTask,SyncPromise,SyncPromise.WithExecutor,SyncTask,ValidationTask
public interface Future<V> extends io.netty.util.concurrent.Future<V>, com.google.common.util.concurrent.ListenableFuture<V>, Awaitable
A Future that integrates several different (but equivalent) APIs used within Cassandra into a single concept, integrating also with ourAwaitableabstraction, to overall improve coherency and clarity in the codebase.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.cassandra.utils.concurrent.Awaitable
Awaitable.AbstractAwaitable, Awaitable.AsyncAwaitable, Awaitable.Defaults, Awaitable.SyncAwaitable
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description Future<V>addCallback(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)nativelyFuture<V>addCallback(com.google.common.util.concurrent.FutureCallback<? super V> callback, java.util.concurrent.Executor executor)SupportFutures.addCallback(com.google.common.util.concurrent.ListenableFuture<V>, com.google.common.util.concurrent.FutureCallback<? super V>, java.util.concurrent.Executor)nativelyFuture<V>addCallback(java.util.function.BiConsumer<? super V,java.lang.Throwable> callback)SupportFutures.addCallback(com.google.common.util.concurrent.ListenableFuture<V>, com.google.common.util.concurrent.FutureCallback<? super V>, java.util.concurrent.Executor)nativelyFuture<V>addCallback(java.util.function.BiConsumer<? super V,java.lang.Throwable> callback, java.util.concurrent.Executor executor)SupportFutures.addCallback(com.google.common.util.concurrent.ListenableFuture<V>, com.google.common.util.concurrent.FutureCallback<? super V>, java.util.concurrent.Executor)nativelyFuture<V>addCallback(java.util.function.Consumer<? super V> onSuccess, java.util.function.Consumer<? super java.lang.Throwable> onFailure)SupportFutures.addCallback(com.google.common.util.concurrent.ListenableFuture<V>, com.google.common.util.concurrent.FutureCallback<? super V>, java.util.concurrent.Executor)nativelyFuture<V>addCallback(java.util.function.Consumer<? super V> onSuccess, java.util.function.Consumer<? super java.lang.Throwable> onFailure, java.util.concurrent.Executor executor)SupportFutures.addCallback(com.google.common.util.concurrent.ListenableFuture<V>, com.google.common.util.concurrent.FutureCallback<? super V>, java.util.concurrent.Executor)nativelyFuture<V>addListener(io.netty.util.concurrent.GenericFutureListener<? extends io.netty.util.concurrent.Future<? super V>> genericFutureListener)voidaddListener(java.lang.Runnable runnable)Invokerunnableon completion.voidaddListener(java.lang.Runnable runnable, java.util.concurrent.Executor executor)Invokerunnableon completion, usingexecutor.Future<V>addListeners(io.netty.util.concurrent.GenericFutureListener<? extends io.netty.util.concurrent.Future<? super V>>... genericFutureListeners)Future<V>await()Wait indefinitely for this future to complete, throwing any interruptdefault booleanawait(long l)Deprecated.Future<V>awaitThrowUncheckedOnInterrupt()Wait indefinitely for this promise to complete, throwing any interrupt as an UncheckedInterruptedExceptionFuture<V>awaitUninterruptibly()Wait indefinitely for this future to completedefault booleanawaitUninterruptibly(long l)Deprecated.default <T> Future<T>flatMap(java.util.function.Function<? super V,? extends Future<T>> flatMapper)SupportFutures.transformAsync(ListenableFuture, AsyncFunction, Executor)natively<T> Future<T>flatMap(java.util.function.Function<? super V,? extends Future<T>> flatMapper, java.util.concurrent.Executor executor)SupportFutures.transformAsync(ListenableFuture, AsyncFunction, Executor)nativelydefault <T> Future<T>map(java.util.function.Function<? super V,? extends T> mapper)SupportFutures.transform(ListenableFuture, com.google.common.base.Function, Executor)natively<T> Future<T>map(java.util.function.Function<? super V,? extends T> mapper, java.util.concurrent.Executor executor)SupportFutures.transform(ListenableFuture, com.google.common.base.Function, Executor)nativelyjava.util.concurrent.ExecutornotifyExecutor()Future<V>removeListener(io.netty.util.concurrent.GenericFutureListener<? extends io.netty.util.concurrent.Future<? super V>> genericFutureListener)Future<V>removeListeners(io.netty.util.concurrent.GenericFutureListener<? extends io.netty.util.concurrent.Future<? super V>>... genericFutureListeners)default voidrethrowIfFailed()default Future<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 tracesdefault Future<V>syncThrowUncheckedOnInterrupt()waits for completion; in case of failure rethrows the original exception without a new wrapping exception so may cause problems for reporting stack tracesdefault Future<V>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-
Methods inherited from interface org.apache.cassandra.utils.concurrent.Awaitable
await, awaitThrowUncheckedOnInterrupt, awaitUninterruptibly, awaitUntil, awaitUntilThrowUncheckedOnInterrupt, awaitUntilUninterruptibly
-
-
-
-
Method Detail
-
await
Future<V> await() throws java.lang.InterruptedException
Wait indefinitely for this future to complete, throwing any interrupt
-
awaitUninterruptibly
Future<V> awaitUninterruptibly()
Wait indefinitely for this future to complete- Specified by:
awaitUninterruptiblyin interfaceAwaitable- Specified by:
awaitUninterruptiblyin interfaceio.netty.util.concurrent.Future<V>
-
awaitThrowUncheckedOnInterrupt
Future<V> awaitThrowUncheckedOnInterrupt()
Wait indefinitely for this promise to complete, throwing any interrupt as an UncheckedInterruptedException- Specified by:
awaitThrowUncheckedOnInterruptin interfaceAwaitable- Throws:
UncheckedInterruptedException- if interrupted
-
rethrowIfFailed
default void rethrowIfFailed()
-
sync
default Future<V> sync() throws java.lang.InterruptedException
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:
syncin interfaceio.netty.util.concurrent.Future<V>- Throws:
java.lang.InterruptedException
-
syncUninterruptibly
default Future<V> 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>
-
syncThrowUncheckedOnInterrupt
default Future<V> syncThrowUncheckedOnInterrupt()
waits for completion; in case of failure rethrows the original exception without a new wrapping exception so may cause problems for reporting stack traces
-
await
@Deprecated default boolean await(long l) throws java.lang.InterruptedExceptionDeprecated.- Specified by:
awaitin interfaceio.netty.util.concurrent.Future<V>- Throws:
java.lang.InterruptedException
-
awaitUninterruptibly
@Deprecated default boolean awaitUninterruptibly(long l)
Deprecated.- Specified by:
awaitUninterruptiblyin interfaceio.netty.util.concurrent.Future<V>
-
addCallback
Future<V> addCallback(java.util.function.BiConsumer<? super V,java.lang.Throwable> callback)
SupportFutures.addCallback(com.google.common.util.concurrent.ListenableFuture<V>, com.google.common.util.concurrent.FutureCallback<? super V>, java.util.concurrent.Executor)natively
-
addCallback
Future<V> addCallback(java.util.function.BiConsumer<? super V,java.lang.Throwable> callback, java.util.concurrent.Executor executor)
SupportFutures.addCallback(com.google.common.util.concurrent.ListenableFuture<V>, com.google.common.util.concurrent.FutureCallback<? super V>, java.util.concurrent.Executor)natively
-
addCallback
Future<V> addCallback(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
-
addCallback
Future<V> addCallback(com.google.common.util.concurrent.FutureCallback<? super V> callback, java.util.concurrent.Executor executor)
SupportFutures.addCallback(com.google.common.util.concurrent.ListenableFuture<V>, com.google.common.util.concurrent.FutureCallback<? super V>, java.util.concurrent.Executor)natively
-
addCallback
Future<V> addCallback(java.util.function.Consumer<? super V> onSuccess, java.util.function.Consumer<? super java.lang.Throwable> onFailure)
SupportFutures.addCallback(com.google.common.util.concurrent.ListenableFuture<V>, com.google.common.util.concurrent.FutureCallback<? super V>, java.util.concurrent.Executor)natively
-
addCallback
Future<V> addCallback(java.util.function.Consumer<? super V> onSuccess, java.util.function.Consumer<? super java.lang.Throwable> onFailure, java.util.concurrent.Executor executor)
SupportFutures.addCallback(com.google.common.util.concurrent.ListenableFuture<V>, com.google.common.util.concurrent.FutureCallback<? super V>, java.util.concurrent.Executor)natively
-
map
default <T> Future<T> map(java.util.function.Function<? super V,? extends T> mapper)
SupportFutures.transform(ListenableFuture, com.google.common.base.Function, Executor)natively
-
map
<T> Future<T> map(java.util.function.Function<? super V,? extends T> mapper, java.util.concurrent.Executor executor)
SupportFutures.transform(ListenableFuture, com.google.common.base.Function, Executor)natively
-
flatMap
default <T> Future<T> flatMap(java.util.function.Function<? super V,? extends Future<T>> flatMapper)
SupportFutures.transformAsync(ListenableFuture, AsyncFunction, Executor)natively
-
flatMap
<T> Future<T> flatMap(java.util.function.Function<? super V,? extends Future<T>> flatMapper, java.util.concurrent.Executor executor)
SupportFutures.transformAsync(ListenableFuture, AsyncFunction, Executor)natively
-
addListener
void addListener(java.lang.Runnable runnable, java.util.concurrent.Executor executor)Invokerunnableon completion, usingexecutor. Tasks are submitted to their executors in the order they were added to this Future.- Specified by:
addListenerin interfacecom.google.common.util.concurrent.ListenableFuture<V>
-
addListener
void addListener(java.lang.Runnable runnable)
Invokerunnableon completion. Depending on the implementation and its configuration, this may be executed immediately by the notifying/completing thread, or asynchronously by an executor. Tasks are executed, or submitted to the executor, in the order they were added to this Future.
-
notifyExecutor
java.util.concurrent.Executor notifyExecutor()
-
addListener
Future<V> addListener(io.netty.util.concurrent.GenericFutureListener<? extends io.netty.util.concurrent.Future<? super V>> genericFutureListener)
- Specified by:
addListenerin interfaceio.netty.util.concurrent.Future<V>
-
addListeners
Future<V> addListeners(io.netty.util.concurrent.GenericFutureListener<? extends io.netty.util.concurrent.Future<? super V>>... genericFutureListeners)
- Specified by:
addListenersin interfaceio.netty.util.concurrent.Future<V>
-
removeListener
Future<V> removeListener(io.netty.util.concurrent.GenericFutureListener<? extends io.netty.util.concurrent.Future<? super V>> genericFutureListener)
- Specified by:
removeListenerin interfaceio.netty.util.concurrent.Future<V>
-
-