Package org.apache.mina.core.service
Class IoHandlerAdapter
- java.lang.Object
-
- org.apache.mina.core.service.IoHandlerAdapter
-
- All Implemented Interfaces:
IoHandler
- Direct Known Subclasses:
AbstractProxyIoHandler
,ChainedIoHandler
,DemuxingIoHandler
,StreamIoHandler
public class IoHandlerAdapter extends Object implements IoHandler
An adapter class forIoHandler
. You can extend this class and selectively override required event handler methods only. All methods do nothing by default.- Author:
- Apache MINA Project
-
-
Constructor Summary
Constructors Constructor Description IoHandlerAdapter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
exceptionCaught(IoSession session, Throwable cause)
Invoked when any exception is thrown by userIoHandler
implementation or by MINA.void
inputClosed(IoSession session)
Handle the closure of an half-duplex TCP channelvoid
messageReceived(IoSession session, Object message)
Invoked when a message is received.void
messageSent(IoSession session, Object message)
Invoked when a message written byIoSession.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 relatedIdleStatus
when a connection becomes idle.void
sessionOpened(IoSession session)
Invoked when a connection has been opened.
-
-
-
Method Detail
-
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 interfaceIoHandler
- Parameters:
session
- The session being created- Throws:
Exception
- If we get an exception while processing the create event
-
sessionOpened
public void sessionOpened(IoSession session) throws Exception
Invoked when a connection has been opened. This method is invoked afterIoHandler.sessionCreated(IoSession)
. The biggest difference fromIoHandler.sessionCreated(IoSession)
is that it's invoked from other thread than an I/O processor thread once thread model is configured properly.- Specified by:
sessionOpened
in interfaceIoHandler
- Parameters:
session
- The session being opened- Throws:
Exception
- If we get an exception while processing the open event
-
sessionClosed
public void sessionClosed(IoSession session) throws Exception
Invoked when a connection is closed.- Specified by:
sessionClosed
in interfaceIoHandler
- Parameters:
session
- The session being closed- Throws:
Exception
- If we get an exception while processing the close event
-
sessionIdle
public void sessionIdle(IoSession session, IdleStatus status) throws Exception
Invoked with the relatedIdleStatus
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 interfaceIoHandler
- Parameters:
session
- The idling sessionstatus
- The session's status- Throws:
Exception
- If we get an exception while processing the idle event
-
exceptionCaught
public void exceptionCaught(IoSession session, Throwable cause) throws Exception
Invoked when any exception is thrown by userIoHandler
implementation or by MINA. Ifcause
is an instance ofIOException
, MINA will close the connection automatically.- Specified by:
exceptionCaught
in interfaceIoHandler
- Parameters:
session
- The session for which we have got an exceptioncause
- The exception that has been caught- Throws:
Exception
- If we get an exception while processing the caught exception
-
messageReceived
public void messageReceived(IoSession session, Object message) throws Exception
Invoked when a message is received.- Specified by:
messageReceived
in interfaceIoHandler
- Parameters:
session
- The session that is receiving a messagemessage
- The received message- Throws:
Exception
- If we get an exception while processing the received message
-
messageSent
public void messageSent(IoSession session, Object message) throws Exception
Invoked when a message written byIoSession.write(Object)
is sent out.- Specified by:
messageSent
in interfaceIoHandler
- Parameters:
session
- The session that has sent a full messagemessage
- The sent message- Throws:
Exception
- If we get an exception while processing the sent message
-
inputClosed
public void inputClosed(IoSession session) throws Exception
Handle the closure of an half-duplex TCP channel- Specified by:
inputClosed
in interfaceIoHandler
- Parameters:
session
- The session which input is being closed- Throws:
Exception
- If we get an exception while closing the input
-
-