org.apache.mina.common

Class IoHandlerAdapter

Implemented Interfaces:
IoHandler
Known Direct Subclasses:
ChainedIoHandler, DemuxingIoHandler, StreamIoHandler

public class IoHandlerAdapter
extends java.lang.Object
implements IoHandler

An abstract adapter class for IoHandler. You can extend this class and selectively override required event handler methods only. All methods do nothing by default.

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 Details

exceptionCaught

public 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.
Specified by:
exceptionCaught in interface IoHandler

messageReceived

public void messageReceived(IoSession session,
                            Object message)
            throws Exception
Invoked when a message is received.
Specified by:
messageReceived in interface IoHandler

messageSent

public void messageSent(IoSession session,
                        Object message)
            throws Exception
Invoked when a message written by IoSession.write(Object) is sent out.
Specified by:
messageSent in interface IoHandler

sessionClosed

public void sessionClosed(IoSession session)
            throws Exception
Invoked when a connection is closed.
Specified by:
sessionClosed in interface IoHandler

sessionCreated

public 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.
Specified by:
sessionCreated in interface IoHandler

sessionIdle

public 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.
Specified by:
sessionIdle in interface IoHandler

sessionOpened

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