Interface WaitableFuture

All Known Subinterfaces:
AuthFuture, CloseFuture, ConnectFuture, IoConnectFuture, IoReadFuture, IoWriteFuture, KeyExchangeFuture, OpenFuture, SshFuture<T>
All Known Implementing Classes:
AbstractIoWriteFuture, AbstractSshFuture, ChannelAsyncInputStream.IoReadFutureImpl, ChannelAsyncOutputStream.BufferedFuture, DefaultAuthFuture, DefaultCloseFuture, DefaultConnectFuture, DefaultKeyExchangeFuture, DefaultOpenFuture, DefaultSshFuture, DefaultVerifiableSshFuture, GlobalRequestFuture, IoWriteFutureImpl, Nio2Connector.DefaultIoConnectFuture, 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 Type
    Method
    Description
    default boolean
    Wait Long.MAX_VALUE msec.
    boolean
    await(long timeoutMillis)
    Wait for the asynchronous operation to complete with the specified timeout.
    default boolean
    await(long timeout, TimeUnit unit)
    Wait for the asynchronous operation to complete with the specified timeout.
    default boolean
    await(Duration timeout)
    Wait for the asynchronous operation to complete with the specified timeout.
    default boolean
    Wait Long.MAX_VALUE msec.
    boolean
    awaitUninterruptibly(long timeoutMillis)
    Wait for the asynchronous operation to complete with the specified timeout uninterruptibly.
    default boolean
    awaitUninterruptibly(long timeout, TimeUnit unit)
    Wait for the asynchronous operation to complete with the specified timeout uninterruptibly.
    default boolean
    Wait for the asynchronous operation to complete with the specified timeout uninterruptibly.
     
    boolean
     
  • Method Details

    • getId

      Object getId()
      Returns:
      Some identifier useful as toString() value
    • await

      default boolean await() throws IOException
      Wait Long.MAX_VALUE msec. for the asynchronous operation to complete. The attached listeners will be notified when the operation is completed.
      Returns:
      true if the operation is completed.
      Throws:
      IOException - if failed - specifically InterruptedIOException if waiting was interrupted
      See Also:
    • await

      default boolean await(long timeout, TimeUnit unit) throws IOException
      Wait for the asynchronous operation to complete with the specified timeout.
      Parameters:
      timeout - The number of time units to wait
      unit - The TimeUnit for waiting
      Returns:
      true if the operation is completed.
      Throws:
      IOException - if failed - specifically InterruptedIOException if waiting was interrupted
      See Also:
    • await

      default boolean await(Duration timeout) throws IOException
      Wait for the asynchronous operation to complete with the specified timeout.
      Parameters:
      timeout - The maximum duration to wait, null to wait forever
      Returns:
      true if the operation is completed.
      Throws:
      IOException - if failed - specifically InterruptedIOException if waiting was interrupted
      See Also:
    • await

      boolean await(long timeoutMillis) throws IOException
      Wait for the asynchronous operation to complete with the specified timeout.
      Parameters:
      timeoutMillis - Wait time in milliseconds
      Returns:
      true if the operation is completed.
      Throws:
      IOException - if failed - specifically InterruptedIOException if waiting was interrupted
    • awaitUninterruptibly

      default boolean awaitUninterruptibly()
      Wait Long.MAX_VALUE msec. for the asynchronous operation to complete uninterruptibly. The attached listeners will be notified when the operation is completed.
      Returns:
      true if the operation is completed.
      See Also:
    • awaitUninterruptibly

      default boolean awaitUninterruptibly(long timeout, TimeUnit unit)
      Wait for the asynchronous operation to complete with the specified timeout uninterruptibly.
      Parameters:
      timeout - The number of time units to wait
      unit - The TimeUnit for waiting
      Returns:
      true if the operation is completed.
      See Also:
    • awaitUninterruptibly

      default boolean awaitUninterruptibly(Duration timeoutMillis)
      Wait for the asynchronous operation to complete with the specified timeout uninterruptibly.
      Parameters:
      timeoutMillis - Wait time, null to wait forever
      Returns:
      true if the operation is finished.
    • awaitUninterruptibly

      boolean awaitUninterruptibly(long timeoutMillis)
      Wait for the asynchronous operation to complete with the specified timeout uninterruptibly.
      Parameters:
      timeoutMillis - Wait time in milliseconds
      Returns:
      true if the operation is finished.
    • isDone

      boolean isDone()
      Returns:
      true if the asynchronous operation is completed. Note: it is up to the caller to determine whether it was a successful or failed completion.