Package org.apache.mina.core.future
Interface CloseFuture
-
- All Superinterfaces:
IoFuture
- All Known Implementing Classes:
DefaultCloseFuture
public interface CloseFuture extends IoFuture
AnIoFuture
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
All Methods Instance Methods Abstract Methods Modifier and Type Method 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()
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
Wait for the asynchronous operation to complete. The attached listeners will be notified when the operation is completed.- Specified by:
await
in interfaceIoFuture
- 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 interfaceIoFuture
- 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 interfaceIoFuture
- 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 interfaceIoFuture
- Parameters:
listener
- The listener to remove- Returns:
- the current IoFuture
-
-