org.apache.mina.io
Interface IoHandler

All Known Implementing Classes:
IoHandlerAdapter, StreamIoHandler

public interface IoHandler

Handles all I/O events fired by IoAcceptor and IoConnector. There are 6 event handler methods, and they are all invoked by MINA automatically. Most users of MINA I/O package will be OK with this single interface to implement their protocols.

Please refer to EchoProtocolHandler example.

Version:
$Rev: 332218 $, $Date: 2005-11-10 12:52:42 +0900 $
Author:
The Apache Directory Project (dev@directory.apache.org)
See Also:
IoHandlerAdapter

Method Summary
 void dataRead(IoSession session, ByteBuffer buf)
          Invoked when data is read from the connection.
 void dataWritten(IoSession session, Object marker)
          Invoked when MINA wrote IoSession.write(ByteBuffer, Object) request successfully.
 void exceptionCaught(IoSession session, Throwable cause)
          Invoked when any exception is thrown by user IoHandler implementation or by MINA.
 void sessionClosed(IoSession session)
          Invoked when the connection is closed.
 void sessionCreated(IoSession session)
          Invoked when the session is created.
 void sessionIdle(IoSession session, IdleStatus status)
          Invoked when the connection is idle.
 void sessionOpened(IoSession session)
          Invoked when the connection is opened.
 

Method Detail

sessionCreated

void sessionCreated(IoSession session)
                    throws Exception
Invoked when the session is created. Initialize default socket parameters and user-defined attributes here.

Throws:
Exception

sessionOpened

void sessionOpened(IoSession session)
                   throws Exception
Invoked when the connection is opened. This method is not invoked if the transport type is UDP.

Throws:
Exception

sessionClosed

void sessionClosed(IoSession session)
                   throws Exception
Invoked when the connection is closed. This method is not invoked if the transport type is UDP.

Throws:
Exception

sessionIdle

void sessionIdle(IoSession session,
                 IdleStatus status)
                 throws Exception
Invoked when the connection is idle. Refer to IdleStatus. This method is not invoked if the transport type is UDP.

Throws:
Exception

exceptionCaught

void exceptionCaught(IoSession session,
                     Throwable cause)
                     throws Exception
Invoked when any exception is thrown by user IoHandler implementation or by MINA. If cause is instanceof IOException, MINA will close the connection automatically.

Throws:
Exception

dataRead

void dataRead(IoSession session,
              ByteBuffer buf)
              throws Exception
Invoked when data is read from the connection. You can access buf to get read data. buf returns to the internal buffer pool of MINA after this method is invoked, so please don't try to reuse it.

Throws:
Exception

dataWritten

void dataWritten(IoSession session,
                 Object marker)
                 throws Exception
Invoked when MINA wrote IoSession.write(ByteBuffer, Object) request successfully. marker is what you specified at the point of invocation of IoSession.write(ByteBuffer, Object).

Throws:
Exception


Copyright © 2004-2005 . All Rights Reserved.