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 java.lang.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
event(IoSession session, FilterEvent event)
Invoked when a filter event is fired.void
exceptionCaught(IoSession session, java.lang.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, java.lang.Object message)
Invoked when a message is received.void
messageSent(IoSession session, java.lang.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 java.lang.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:
java.lang.Exception
- If we get an exception while processing the create event
-
sessionOpened
public void sessionOpened(IoSession session) throws java.lang.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:
java.lang.Exception
- If we get an exception while processing the open event
-
sessionClosed
public void sessionClosed(IoSession session) throws java.lang.Exception
Invoked when a connection is closed.- Specified by:
sessionClosed
in interfaceIoHandler
- Parameters:
session
- The session being closed- Throws:
java.lang.Exception
- If we get an exception while processing the close event
-
sessionIdle
public void sessionIdle(IoSession session, IdleStatus status) throws java.lang.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:
java.lang.Exception
- If we get an exception while processing the idle event
-
exceptionCaught
public void exceptionCaught(IoSession session, java.lang.Throwable cause) throws java.lang.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:
java.lang.Exception
- If we get an exception while processing the caught exception
-
messageReceived
public void messageReceived(IoSession session, java.lang.Object message) throws java.lang.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:
java.lang.Exception
- If we get an exception while processing the received message
-
messageSent
public void messageSent(IoSession session, java.lang.Object message) throws java.lang.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:
java.lang.Exception
- If we get an exception while processing the sent message
-
inputClosed
public void inputClosed(IoSession session) throws java.lang.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:
java.lang.Exception
- If we get an exception while closing the input
-
event
public void event(IoSession session, FilterEvent event) throws java.lang.Exception
Invoked when a filter event is fired. Each filter might sent a different event, this is very application specific.
-
-