org.apache.mina.core.future
Interface ReadFuture

All Superinterfaces:
IoFuture
All Known Implementing Classes:
DefaultReadFuture

public interface ReadFuture
extends IoFuture

An IoFuture for asynchronous read requests.

Example

 IoSession session = ...;
 // useReadOperation must be enabled to use read operation.
 session.getConfig().setUseReadOperation(true);
 
 ReadFuture future = session.read();
 // Wait until a message is received.
 future.await();
 try {
     Object message = future.getMessage();
 } catch (Exception e) {
     ...
 }
 

Author:
Apache MINA Project

Method Summary
 ReadFuture addListener(IoFutureListener<?> listener)
          Adds an event listener which is notified when this future is completed.
 ReadFuture await()
          Wait for the asynchronous operation to complete.
 ReadFuture awaitUninterruptibly()
          Wait for the asynchronous operation to complete uninterruptibly.
 java.lang.Throwable getException()
          Returns the cause of the read failure if and only if the read operation has failed due to an Exception.
 java.lang.Object getMessage()
          Returns the received message.
 boolean isClosed()
          Returns true if the IoSession associated with this future has been closed.
 boolean isRead()
          Returns true if a message was received successfully.
 ReadFuture removeListener(IoFutureListener<?> listener)
          Removes an existing event listener so it won't be notified when the future is completed.
 void setClosed()
          Sets the associated IoSession is closed.
 void setException(java.lang.Throwable cause)
          Sets the cause of the read failure, and notifies all threads waiting for this future.
 void setRead(java.lang.Object message)
          Sets the message is written, 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

getMessage

java.lang.Object getMessage()
Returns the received message. It returns null if this future is not ready or the associated IoSession has been closed.

Throws:
java.lang.RuntimeException - if read or any relevant operation has failed.

isRead

boolean isRead()
Returns true if a message was received successfully.


isClosed

boolean isClosed()
Returns true if the IoSession associated with this future has been closed.


getException

java.lang.Throwable getException()
Returns the cause of the read failure if and only if the read operation has failed due to an Exception. Otherwise, null is returned.


setRead

void setRead(java.lang.Object message)
Sets the message is written, and notifies all threads waiting for this future. This method is invoked by MINA internally. Please do not call this method directly.


setClosed

void setClosed()
Sets the associated IoSession is closed. This method is invoked by MINA internally. Please do not call this method directly.


setException

void setException(java.lang.Throwable cause)
Sets the cause of the read failure, and notifies all threads waiting for this future. This method is invoked by MINA internally. Please do not call this method directly.


await

ReadFuture await()
                 throws java.lang.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:
java.lang.InterruptedException

awaitUninterruptibly

ReadFuture 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

ReadFuture 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

ReadFuture 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-2011 Apache MINA Project. All Rights Reserved.