Package org.apache.mina.core.service
Interface IoHandler
-
- All Known Implementing Classes:
AbstractLdapConnection,AbstractProxyIoHandler,ChainedIoHandler,DemuxingIoHandler,IoHandlerAdapter,LdapNetworkConnection,SingleSessionIoHandlerDelegate,StreamIoHandler
public interface IoHandlerHandles 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 voidevent(IoSession session, FilterEvent event)Invoked when a filter event is fired.voidexceptionCaught(IoSession session, Throwable cause)Invoked when any exception is thrown by userIoHandlerimplementation or by MINA.voidinputClosed(IoSession session)Handle the closure of an half-duplex TCP channelvoidmessageReceived(IoSession session, Object message)Invoked when a message is received.voidmessageSent(IoSession session, Object message)Invoked when a message written byIoSession.write(Object)is sent out.voidsessionClosed(IoSession session)Invoked when a connection is closed.voidsessionCreated(IoSession session)Invoked from an I/O processor thread when a new connection has been created.voidsessionIdle(IoSession session, IdleStatus status)Invoked with the relatedIdleStatuswhen a connection becomes idle.voidsessionOpened(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 relatedIdleStatuswhen 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 userIoHandlerimplementation or by MINA. Ifcauseis 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
-
-