Interface IoHandler

    • 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 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