Interface IoHandler
- All Known Implementing Classes:
AbstractProxyIoHandler, ChainedIoHandler, DemuxingIoHandler, IoHandlerAdapter, SingleSessionIoHandlerDelegate, StreamIoHandler
public interface IoHandler
Handles all I/O events fired by MINA.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoidevent(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 Details
-
sessionCreated
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
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
-
sessionIdle
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
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
-
messageSent
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
-
event
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
-