Package org.apache.sshd.common.future
Interface WaitableFuture
- All Known Subinterfaces:
AuthFuture,CancelFuture,CloseFuture,ConnectFuture,IoConnectFuture,IoReadFuture,IoWriteFuture,KeyExchangeFuture,OpenFuture,SshFuture<T>
- All Known Implementing Classes:
AbstractIoWriteFuture,AbstractSshFuture,ChannelAsyncInputStream.IoReadFutureImpl,ChannelAsyncOutputStream.BufferedFuture,DefaultAuthFuture,DefaultCancelFuture,DefaultCancellableSshFuture,DefaultCloseFuture,DefaultConnectFuture,DefaultIoConnectFuture,DefaultKeyExchangeFuture,DefaultOpenFuture,DefaultSshFuture,DefaultVerifiableSshFuture,GlobalRequestFuture,IoWriteFutureImpl,Nio2DefaultIoWriteFuture,PendingWriteFuture,SimpleIoOutputStream.DefaultIoWriteFuture
public interface WaitableFuture
Represents an asynchronous operation which one can wait for its completion. Note: the only thing guaranteed is
that if
true is returned from one of the awaitXXX methods then the operation has completed. However,
the caller has to determine whether it was a successful or failed completion.-
Method Summary
Modifier and TypeMethodDescriptiondefault booleanawait(long timeout, TimeUnit unit, CancelOption... options) Wait for the asynchronous operation to complete with the specified timeout.booleanawait(long timeoutMillis, CancelOption... options) Wait for the asynchronous operation to complete with the specified timeout.default booleanawait(Duration timeout, CancelOption... options) Wait for the asynchronous operation to complete with the specified timeout.default booleanawait(CancelOption... options) WaitLong.MAX_VALUEmsec.default booleanawaitUninterruptibly(long timeout, TimeUnit unit, CancelOption... options) Wait for the asynchronous operation to complete with the specified timeout uninterruptibly.booleanawaitUninterruptibly(long timeoutMillis, CancelOption... options) Wait for the asynchronous operation to complete with the specified timeout uninterruptibly.default booleanawaitUninterruptibly(Duration timeoutMillis, CancelOption... options) Wait for the asynchronous operation to complete with the specified timeout uninterruptibly.default booleanawaitUninterruptibly(CancelOption... options) WaitLong.MAX_VALUEmsec.getId()booleanisDone()
-
Method Details
-
getId
Object getId()- Returns:
- Some identifier useful as
toString()value
-
await
WaitLong.MAX_VALUEmsec. for the asynchronous operation to complete. The attached listeners will be notified when the operation is completed.- Parameters:
options- OptionalCancelOptions defining the behavior on time-out or interrupt; ignored if the future is notCancellable.- Returns:
trueif the operation is completed.- Throws:
IOException- if failed - specificallyInterruptedIOExceptionif waiting was interrupted- See Also:
-
await
Wait for the asynchronous operation to complete with the specified timeout.- Parameters:
timeout- The number of time units to waitunit- TheTimeUnitfor waitingoptions- OptionalCancelOptions defining the behavior on time-out or interrupt; ignored if the future is notCancellable.- Returns:
trueif the operation is completed.- Throws:
IOException- if failed - specificallyInterruptedIOExceptionif waiting was interrupted- See Also:
-
await
Wait for the asynchronous operation to complete with the specified timeout.- Parameters:
timeout- The maximum duration to wait,nullto wait foreveroptions- OptionalCancelOptions defining the behavior on time-out or interrupt; ignored if the future is notCancellable.- Returns:
trueif the operation is completed.- Throws:
IOException- if failed - specificallyInterruptedIOExceptionif waiting was interrupted- See Also:
-
await
Wait for the asynchronous operation to complete with the specified timeout.- Parameters:
timeoutMillis- Wait time in millisecondsoptions- OptionalCancelOptions defining the behavior on time-out or interrupt; ignored if the future is notCancellable.- Returns:
trueif the operation is completed.- Throws:
IOException- if failed - specificallyInterruptedIOExceptionif waiting was interrupted
-
awaitUninterruptibly
WaitLong.MAX_VALUEmsec. for the asynchronous operation to complete uninterruptibly. The attached listeners will be notified when the operation is completed.- Parameters:
options- OptionalCancelOptions defining the behavior on time-out; ignored if the future is notCancellable.- Returns:
trueif the operation is completed.- See Also:
-
awaitUninterruptibly
Wait for the asynchronous operation to complete with the specified timeout uninterruptibly.- Parameters:
timeout- The number of time units to waitunit- TheTimeUnitfor waitingoptions- OptionalCancelOptions defining the behavior on time-out; ignored if the future is notCancellable.- Returns:
trueif the operation is completed.- See Also:
-
awaitUninterruptibly
Wait for the asynchronous operation to complete with the specified timeout uninterruptibly.- Parameters:
timeoutMillis- Wait time,nullto wait foreveroptions- OptionalCancelOptions defining the behavior on time-out; ignored if the future is notCancellable.- Returns:
trueif the operation is finished.
-
awaitUninterruptibly
Wait for the asynchronous operation to complete with the specified timeout uninterruptibly.- Parameters:
timeoutMillis- Wait time in millisecondsoptions- OptionalCancelOptions defining the behavior on time-out; ignored if the future is notCancellable.- Returns:
trueif the operation is finished.
-
isDone
boolean isDone()- Returns:
trueif the asynchronous operation is completed. Note: it is up to the caller to determine whether it was a successful or failed completion.
-