Package org.apache.mina.core.service
Interface IoHandler
-
- All Known Implementing Classes:
AbstractProxyIoHandler
,ChainedIoHandler
,DemuxingIoHandler
,IoHandlerAdapter
,SingleSessionIoHandlerDelegate
,StreamIoHandler
public interface IoHandler
Handles all I/O events fired by MINA.- Author:
- Apache MINA Project
- See Also:
IoHandlerAdapter
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
event(IoSession session, FilterEvent event)
Invoked when a filter event is fired.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
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.- Parameters:
session
- The session being created- Throws:
Exception
- If we get an exception while processing the create event
-
sessionOpened
void sessionOpened(IoSession session) throws Exception
Invoked when a connection has been opened. This method is invoked aftersessionCreated(IoSession)
. The biggest difference fromsessionCreated(IoSession)
is that it's invoked from other thread than an I/O processor thread once thread model is configured properly.- Parameters:
session
- The session being opened- Throws:
Exception
- If we get an exception while processing the open event
-
sessionClosed
void sessionClosed(IoSession session) throws Exception
Invoked when a connection is closed.- Parameters:
session
- The session being closed- Throws:
Exception
- If we get an exception while processing the close event
-
sessionIdle
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.- Parameters:
session
- The idling sessionstatus
- The session's status- Throws:
Exception
- If we get an exception while processing the idle event
-
exceptionCaught
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.- 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
void messageReceived(IoSession session, Object message) throws Exception
Invoked when a message is received.- 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
void messageSent(IoSession session, Object message) throws Exception
Invoked when a message written byIoSession.write(Object)
is sent out.- 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
void inputClosed(IoSession session) throws Exception
Handle the closure of an half-duplex TCP channel- Parameters:
session
- The session which input is being closed- Throws:
Exception
- If we get an exception while closing the input
-
event
void event(IoSession session, FilterEvent event) throws Exception
Invoked when a filter event is fired. Each filter might sent a different event, this is very application specific.- Parameters:
session
- The session for which we have an event to processevent
- The event to process- Throws:
Exception
- If we get an exception while processing the event
-
-