org.apache.mina.core.future

## 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();

  Author:
    Apache MINA Project

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `CloseFuture` | `addListener(IoFutureListener<?> listener)` Adds an event `listener` which is notified when this future is completed.
    `CloseFuture` | `await()` Wait for the asynchronous operation to complete.
    `CloseFuture` | `awaitUninterruptibly()` Wait for the asynchronous operation to complete uninterruptibly.
    `boolean` | `isClosed()` Returns `true` if the close request is finished and the session is closed.
    `CloseFuture` | `removeListener(IoFutureListener<?> listener)` Removes an existing event `listener` so it won't be notified when the future is completed.
    `void` | `setClosed()` Marks this future as closed and notifies all threads waiting for this future.

    - ### Methods inherited from interface org.apache.mina.core.future.IoFuture

      `await, await, awaitUninterruptibly, awaitUninterruptibly, getSession, isDone, join, join`

- - ### Method Detail

    - #### 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

          CloseFuture await()
                            throws InterruptedException

      Description copied from interface: `IoFuture`
      Wait for the asynchronous operation to complete. The attached listeners will be notified when the operation is completed.
      Specified by:
        `await` in interface `IoFuture`
      Throws:
        `InterruptedException`

    - #### awaitUninterruptibly

          CloseFuture awaitUninterruptibly()

      Description copied from interface: `IoFuture`
      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)

      Description copied from interface: `IoFuture`
      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`

    - #### removeListener

          CloseFuture removeListener(IoFutureListener<?> listener)

      Description copied from interface: `IoFuture`
      Removes an existing event `listener` so it won't be notified when the future is completed.
      Specified by:
        `removeListener` in interface `IoFuture`

Copyright © 2004-2012 Apache MINA Project. All Rights Reserved.