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 Details

    • 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 after sessionCreated(IoSession). The biggest difference from sessionCreated(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 related IdleStatus 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 session
      status - 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 user IoHandler implementation or by MINA. If cause is an instance of IOException, MINA will close the connection automatically.
      Parameters:
      session - The session for which we have got an exception
      cause - 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 message
      message - 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 by IoSession.write(Object) is sent out.
      Parameters:
      session - The session that has sent a full message
      message - 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 process
      event - The event to process
      Throws:
      Exception - If we get an exception while processing the event