Interface CloseFuture

All Superinterfaces:
IoFuture
All Known Implementing Classes:
DefaultCloseFuture

public interface CloseFuture extends IoFuture
An IoFuture for asynchronous close requests.

Example

IoSession session = ...;
CloseFuture future = session.close(true);

// Wait until the connection is closed
future.awaitUninterruptibly();

// Now connection should be closed.
assert future.isClosed();
  • Method Details

    • isClosed

      boolean isClosed()
      Returns:
      true if the close request is finished and the session is closed.
    • setClosed

      void setClosed()
      Marks this future as closed and notifies all threads waiting for this future. This method is invoked by MINA internally. Please do not call this method directly.
    • await

      Wait for the asynchronous operation to complete. The attached listeners will be notified when the operation is completed.
      Specified by:
      await in interface IoFuture
      Returns:
      The instance of IoFuture that we are waiting for
      Throws:
      InterruptedException - If the thread is interrupted while waiting
    • awaitUninterruptibly

      CloseFuture awaitUninterruptibly()
      Wait for the asynchronous operation to complete uninterruptibly. The attached listeners will be notified when the operation is completed.
      Specified by:
      awaitUninterruptibly in interface IoFuture
      Returns:
      the current IoFuture
    • addListener

      CloseFuture addListener(IoFutureListener<?> listener)
      Adds an event listener which is notified when this future is completed. If the listener is added after the completion, the listener is directly notified.
      Specified by:
      addListener in interface IoFuture
      Parameters:
      listener - The listener to add
      Returns:
      the current IoFuture
    • removeListener

      CloseFuture removeListener(IoFutureListener<?> listener)
      Removes an existing event listener so it won't be notified when the future is completed.
      Specified by:
      removeListener in interface IoFuture
      Parameters:
      listener - The listener to remove
      Returns:
      the current IoFuture