org.apache.mina.core.service
Interface IoHandler

All Known Implementing Classes:
ChainedIoHandler, DemuxingIoHandler, IoHandlerAdapter, SingleSessionIoHandlerDelegate, StreamIoHandler

public interface IoHandler

Handles all I/O events fired by MINA.

Version:
$Rev: 671827 $, $Date: 2008-06-26 10:49:48 +0200 (jeu, 26 jun 2008) $
Author:
The Apache MINA Project (dev@mina.apache.org)
See Also:
IoHandlerAdapter

Method Summary
 void exceptionCaught(IoSession session, Throwable cause)
          Invoked when any exception is thrown by user IoHandler implementation or by MINA.
 void messageReceived(IoSession session, Object message)
          Invoked when a message is received.
 void messageSent(IoSession session, Object message)
          Invoked when a message written by IoSession.write(Object) is sent out.
 void sessionClosed(IoSession session)
          Invoked when a connection is closed.
 void sessionCreated(IoSession session)
          Invoked from an I/O processor thread when a new connection has been created.
 void sessionIdle(IoSession session, IdleStatus status)
          Invoked with the related IdleStatus when a connection becomes idle.
 void sessionOpened(IoSession session)
          Invoked when a connection has been opened.
 

Method Detail

sessionCreated

void sessionCreated(IoSession session)
                    throws Exception
Invoked from an I/O processor thread when a new connection has been created. Because this method is supposed to be called from the same thread that handles I/O of multiple sessions, please implement this method to perform tasks that consumes minimal amount of time such as socket parameter and user-defined session attribute initialization.

Throws:
Exception

sessionOpened

void sessionOpened(IoSession session)
                   throws Exception
Invoked when a connection has been opened. This method is invoked after sessionCreated(IoSession). The biggest difference from sessionCreated(IoSession) is that it's invoked from other thread than an I/O processor thread once thread model is configured properly.

Throws:
Exception

sessionClosed

void sessionClosed(IoSession session)
                   throws Exception
Invoked when a connection is closed.

Throws:
Exception

sessionIdle

void sessionIdle(IoSession session,
                 IdleStatus status)
                 throws Exception
Invoked with the related IdleStatus when a connection becomes idle. This method is not invoked if the transport type is UDP; it's a known bug, and will be fixed in 2.0.

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 an instance of IOException, MINA will close the connection automatically.

Throws:
Exception

messageReceived

void messageReceived(IoSession session,
                     Object message)
                     throws Exception
Invoked when a message is received.

Throws:
Exception

messageSent

void messageSent(IoSession session,
                 Object message)
                 throws Exception
Invoked when a message written by IoSession.write(Object) is sent out.

Throws:
Exception


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