Package io.netty.channel
Class DefaultChannelProgressivePromise
- java.lang.Object
-
- io.netty.util.concurrent.AbstractFuture<V>
-
- io.netty.util.concurrent.DefaultPromise<V>
-
- io.netty.util.concurrent.DefaultProgressivePromise<java.lang.Void>
-
- io.netty.channel.DefaultChannelProgressivePromise
-
- All Implemented Interfaces:
ChannelFuture,ChannelProgressiveFuture,ChannelProgressivePromise,ChannelPromise,Future<java.lang.Void>,ProgressiveFuture<java.lang.Void>,ProgressivePromise<java.lang.Void>,Promise<java.lang.Void>,java.util.concurrent.Future<java.lang.Void>
public class DefaultChannelProgressivePromise extends DefaultProgressivePromise<java.lang.Void> implements ChannelProgressivePromise
The defaultChannelProgressivePromiseimplementation. It is recommended to useChannel.newProgressivePromise()to create a newChannelProgressivePromiserather than calling the constructor explicitly.
-
-
Field Summary
-
Fields inherited from class io.netty.util.concurrent.DefaultPromise
PROPERTY_MAX_LISTENER_STACK_DEPTH
-
-
Constructor Summary
Constructors Constructor Description DefaultChannelProgressivePromise(Channel channel)Creates a new instance.DefaultChannelProgressivePromise(Channel channel, EventExecutor executor)Creates a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ChannelProgressivePromiseaddListener(GenericFutureListener<? extends Future<? super java.lang.Void>> listener)Adds the specified listener to this future.ChannelProgressivePromiseaddListeners(GenericFutureListener<? extends Future<? super java.lang.Void>>... listeners)Adds the specified listeners to this future.ChannelProgressivePromiseawait()Waits for this future to be completed.ChannelProgressivePromiseawaitUninterruptibly()Waits for this future to be completed without interruption.Channelchannel()Returns a channel where the I/O operation associated with this future takes place.protected voidcheckDeadLock()protected EventExecutorexecutor()Get the executor used to notify listeners when this promise is complete.longflushCheckpoint()voidflushCheckpoint(long checkpoint)booleanisVoid()Returnstrueif thisChannelFutureis a void future and so not allow to call any of the following methods:ChannelFuture.addListener(GenericFutureListener)ChannelFuture.addListeners(GenericFutureListener[])ChannelFuture.await()Future.await(long, TimeUnit)()}Future.await(long)()}ChannelFuture.awaitUninterruptibly()ChannelFuture.sync()ChannelFuture.syncUninterruptibly()ChannelProgressivePromisepromise()ChannelProgressivePromiseremoveListener(GenericFutureListener<? extends Future<? super java.lang.Void>> listener)Removes the first occurrence of the specified listener from this future.ChannelProgressivePromiseremoveListeners(GenericFutureListener<? extends Future<? super java.lang.Void>>... listeners)Removes the first occurrence for each of the listeners from this future.ChannelProgressivePromisesetFailure(java.lang.Throwable cause)Marks this future as a failure and notifies all listeners.ChannelProgressivePromisesetProgress(long progress, long total)Sets the current progress of the operation and notifies the listeners that implementGenericProgressiveFutureListener.ChannelProgressivePromisesetSuccess()ChannelProgressivePromisesetSuccess(java.lang.Void result)Marks this future as a success and notifies all listeners.ChannelProgressivePromisesync()Waits for this future until it is done, and rethrows the cause of the failure if this future failed.ChannelProgressivePromisesyncUninterruptibly()Waits for this future until it is done, and rethrows the cause of the failure if this future failed.booleantrySuccess()ChannelProgressivePromiseunvoid()-
Methods inherited from class io.netty.util.concurrent.DefaultProgressivePromise
tryProgress
-
Methods inherited from class io.netty.util.concurrent.DefaultPromise
await, await, awaitUninterruptibly, awaitUninterruptibly, cancel, cause, get, get, getNow, isCancellable, isCancelled, isDone, isSuccess, notifyListener, setUncancellable, toString, toStringBuilder, tryFailure, trySuccess
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface io.netty.util.concurrent.Future
await, await, awaitUninterruptibly, awaitUninterruptibly, cancel, cause, getNow, isCancellable, isSuccess
-
Methods inherited from interface io.netty.util.concurrent.ProgressivePromise
tryProgress
-
Methods inherited from interface io.netty.util.concurrent.Promise
setUncancellable, tryFailure, trySuccess
-
-
-
-
Constructor Detail
-
DefaultChannelProgressivePromise
public DefaultChannelProgressivePromise(Channel channel)
Creates a new instance.- Parameters:
channel- theChannelassociated with this future
-
DefaultChannelProgressivePromise
public DefaultChannelProgressivePromise(Channel channel, EventExecutor executor)
Creates a new instance.- Parameters:
channel- theChannelassociated with this future
-
-
Method Detail
-
executor
protected EventExecutor executor()
Description copied from class:DefaultPromiseGet the executor used to notify listeners when this promise is complete.It is assumed this executor will protect against
StackOverflowErrorexceptions. The executor may be used to avoidStackOverflowErrorby executing aRunnableif the stack depth exceeds a threshold.- Overrides:
executorin classDefaultPromise<java.lang.Void>- Returns:
- The executor used to notify listeners when this promise is complete.
-
channel
public Channel channel()
Description copied from interface:ChannelFutureReturns a channel where the I/O operation associated with this future takes place.- Specified by:
channelin interfaceChannelFuture- Specified by:
channelin interfaceChannelPromise
-
setSuccess
public ChannelProgressivePromise setSuccess()
- Specified by:
setSuccessin interfaceChannelProgressivePromise- Specified by:
setSuccessin interfaceChannelPromise
-
setSuccess
public ChannelProgressivePromise setSuccess(java.lang.Void result)
Description copied from interface:PromiseMarks this future as a success and notifies all listeners. If it is success or failed already it will throw anIllegalStateException.- Specified by:
setSuccessin interfaceChannelProgressivePromise- Specified by:
setSuccessin interfaceChannelPromise- Specified by:
setSuccessin interfaceProgressivePromise<java.lang.Void>- Specified by:
setSuccessin interfacePromise<java.lang.Void>- Overrides:
setSuccessin classDefaultProgressivePromise<java.lang.Void>
-
trySuccess
public boolean trySuccess()
- Specified by:
trySuccessin interfaceChannelPromise
-
setFailure
public ChannelProgressivePromise setFailure(java.lang.Throwable cause)
Description copied from interface:PromiseMarks this future as a failure and notifies all listeners. If it is success or failed already it will throw anIllegalStateException.- Specified by:
setFailurein interfaceChannelProgressivePromise- Specified by:
setFailurein interfaceChannelPromise- Specified by:
setFailurein interfaceProgressivePromise<java.lang.Void>- Specified by:
setFailurein interfacePromise<java.lang.Void>- Overrides:
setFailurein classDefaultProgressivePromise<java.lang.Void>
-
setProgress
public ChannelProgressivePromise setProgress(long progress, long total)
Description copied from interface:ProgressivePromiseSets the current progress of the operation and notifies the listeners that implementGenericProgressiveFutureListener.- Specified by:
setProgressin interfaceChannelProgressivePromise- Specified by:
setProgressin interfaceProgressivePromise<java.lang.Void>- Overrides:
setProgressin classDefaultProgressivePromise<java.lang.Void>
-
addListener
public ChannelProgressivePromise addListener(GenericFutureListener<? extends Future<? super java.lang.Void>> listener)
Description copied from interface:FutureAdds the specified listener to this future. The specified listener is notified when this future is done. If this future is already completed, the specified listener is notified immediately.- Specified by:
addListenerin interfaceChannelFuture- Specified by:
addListenerin interfaceChannelProgressiveFuture- Specified by:
addListenerin interfaceChannelProgressivePromise- Specified by:
addListenerin interfaceChannelPromise- Specified by:
addListenerin interfaceFuture<java.lang.Void>- Specified by:
addListenerin interfaceProgressiveFuture<java.lang.Void>- Specified by:
addListenerin interfaceProgressivePromise<java.lang.Void>- Specified by:
addListenerin interfacePromise<java.lang.Void>- Overrides:
addListenerin classDefaultProgressivePromise<java.lang.Void>
-
addListeners
public ChannelProgressivePromise addListeners(GenericFutureListener<? extends Future<? super java.lang.Void>>... listeners)
Description copied from interface:FutureAdds the specified listeners to this future. The specified listeners are notified when this future is done. If this future is already completed, the specified listeners are notified immediately.- Specified by:
addListenersin interfaceChannelFuture- Specified by:
addListenersin interfaceChannelProgressiveFuture- Specified by:
addListenersin interfaceChannelProgressivePromise- Specified by:
addListenersin interfaceChannelPromise- Specified by:
addListenersin interfaceFuture<java.lang.Void>- Specified by:
addListenersin interfaceProgressiveFuture<java.lang.Void>- Specified by:
addListenersin interfaceProgressivePromise<java.lang.Void>- Specified by:
addListenersin interfacePromise<java.lang.Void>- Overrides:
addListenersin classDefaultProgressivePromise<java.lang.Void>
-
removeListener
public ChannelProgressivePromise removeListener(GenericFutureListener<? extends Future<? super java.lang.Void>> listener)
Description copied from interface:FutureRemoves the first occurrence of the specified listener from this future. The specified listener is no longer notified when this future is done. If the specified listener is not associated with this future, this method does nothing and returns silently.- Specified by:
removeListenerin interfaceChannelFuture- Specified by:
removeListenerin interfaceChannelProgressiveFuture- Specified by:
removeListenerin interfaceChannelProgressivePromise- Specified by:
removeListenerin interfaceChannelPromise- Specified by:
removeListenerin interfaceFuture<java.lang.Void>- Specified by:
removeListenerin interfaceProgressiveFuture<java.lang.Void>- Specified by:
removeListenerin interfaceProgressivePromise<java.lang.Void>- Specified by:
removeListenerin interfacePromise<java.lang.Void>- Overrides:
removeListenerin classDefaultProgressivePromise<java.lang.Void>
-
removeListeners
public ChannelProgressivePromise removeListeners(GenericFutureListener<? extends Future<? super java.lang.Void>>... listeners)
Description copied from interface:FutureRemoves the first occurrence for each of the listeners from this future. The specified listeners are no longer notified when this future is done. If the specified listeners are not associated with this future, this method does nothing and returns silently.- Specified by:
removeListenersin interfaceChannelFuture- Specified by:
removeListenersin interfaceChannelProgressiveFuture- Specified by:
removeListenersin interfaceChannelProgressivePromise- Specified by:
removeListenersin interfaceChannelPromise- Specified by:
removeListenersin interfaceFuture<java.lang.Void>- Specified by:
removeListenersin interfaceProgressiveFuture<java.lang.Void>- Specified by:
removeListenersin interfaceProgressivePromise<java.lang.Void>- Specified by:
removeListenersin interfacePromise<java.lang.Void>- Overrides:
removeListenersin classDefaultProgressivePromise<java.lang.Void>
-
sync
public ChannelProgressivePromise sync() throws java.lang.InterruptedException
Description copied from interface:FutureWaits for this future until it is done, and rethrows the cause of the failure if this future failed.- Specified by:
syncin interfaceChannelFuture- Specified by:
syncin interfaceChannelProgressiveFuture- Specified by:
syncin interfaceChannelProgressivePromise- Specified by:
syncin interfaceChannelPromise- Specified by:
syncin interfaceFuture<java.lang.Void>- Specified by:
syncin interfaceProgressiveFuture<java.lang.Void>- Specified by:
syncin interfaceProgressivePromise<java.lang.Void>- Specified by:
syncin interfacePromise<java.lang.Void>- Overrides:
syncin classDefaultProgressivePromise<java.lang.Void>- Throws:
java.lang.InterruptedException
-
syncUninterruptibly
public ChannelProgressivePromise syncUninterruptibly()
Description copied from interface:FutureWaits for this future until it is done, and rethrows the cause of the failure if this future failed.- Specified by:
syncUninterruptiblyin interfaceChannelFuture- Specified by:
syncUninterruptiblyin interfaceChannelProgressiveFuture- Specified by:
syncUninterruptiblyin interfaceChannelProgressivePromise- Specified by:
syncUninterruptiblyin interfaceChannelPromise- Specified by:
syncUninterruptiblyin interfaceFuture<java.lang.Void>- Specified by:
syncUninterruptiblyin interfaceProgressiveFuture<java.lang.Void>- Specified by:
syncUninterruptiblyin interfaceProgressivePromise<java.lang.Void>- Specified by:
syncUninterruptiblyin interfacePromise<java.lang.Void>- Overrides:
syncUninterruptiblyin classDefaultProgressivePromise<java.lang.Void>
-
await
public ChannelProgressivePromise await() throws java.lang.InterruptedException
Description copied from interface:FutureWaits for this future to be completed.- Specified by:
awaitin interfaceChannelFuture- Specified by:
awaitin interfaceChannelProgressiveFuture- Specified by:
awaitin interfaceChannelProgressivePromise- Specified by:
awaitin interfaceChannelPromise- Specified by:
awaitin interfaceFuture<java.lang.Void>- Specified by:
awaitin interfaceProgressiveFuture<java.lang.Void>- Specified by:
awaitin interfaceProgressivePromise<java.lang.Void>- Specified by:
awaitin interfacePromise<java.lang.Void>- Overrides:
awaitin classDefaultProgressivePromise<java.lang.Void>- Throws:
java.lang.InterruptedException- if the current thread was interrupted
-
awaitUninterruptibly
public ChannelProgressivePromise awaitUninterruptibly()
Description copied from interface:FutureWaits for this future to be completed without interruption. This method catches anInterruptedExceptionand discards it silently.- Specified by:
awaitUninterruptiblyin interfaceChannelFuture- Specified by:
awaitUninterruptiblyin interfaceChannelProgressiveFuture- Specified by:
awaitUninterruptiblyin interfaceChannelProgressivePromise- Specified by:
awaitUninterruptiblyin interfaceChannelPromise- Specified by:
awaitUninterruptiblyin interfaceFuture<java.lang.Void>- Specified by:
awaitUninterruptiblyin interfaceProgressiveFuture<java.lang.Void>- Specified by:
awaitUninterruptiblyin interfaceProgressivePromise<java.lang.Void>- Specified by:
awaitUninterruptiblyin interfacePromise<java.lang.Void>- Overrides:
awaitUninterruptiblyin classDefaultProgressivePromise<java.lang.Void>
-
flushCheckpoint
public long flushCheckpoint()
-
flushCheckpoint
public void flushCheckpoint(long checkpoint)
-
promise
public ChannelProgressivePromise promise()
-
checkDeadLock
protected void checkDeadLock()
- Overrides:
checkDeadLockin classDefaultPromise<java.lang.Void>
-
unvoid
public ChannelProgressivePromise unvoid()
Description copied from interface:ChannelPromise- Specified by:
unvoidin interfaceChannelProgressivePromise- Specified by:
unvoidin interfaceChannelPromise
-
isVoid
public boolean isVoid()
Description copied from interface:ChannelFutureReturnstrueif thisChannelFutureis a void future and so not allow to call any of the following methods:- Specified by:
isVoidin interfaceChannelFuture
-
-