org.apache.mina.core.service

## Interface IoHandler

- All Known Implementing Classes:
    AbstractProxyIoHandler, AbstractProxyIoHandler, ChainedIoHandler, ChatProtocolHandler, ClientSessionHandler, ClientToProxyIoHandler, DemuxingIoHandler, EchoProtocolHandler, HaikuValidatorIoHandler, ImageClient, ImageServerIoHandler, ImageServerIoHandler, IoHandlerAdapter, MemMonClient, MemoryMonitorHandler, NetCatProtocolHandler, ReverseProtocolHandler, ServerSessionHandler, ServerToProxyIoHandler, SingleSessionIoHandlerDelegate, StreamIoHandler, SwingChatClientHandler, TcpClient, TcpServer, TennisPlayer, TimeServerHandler, UdpClient, UdpServer

      public interface IoHandler

  Handles all I/O events fired by MINA.
  Author:
    Apache MINA Project
  See Also:
    `IoHandlerAdapter`

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `exceptionCaught(IoSession session, Throwable cause)` Invoked when any exception is thrown by user `IoHandler` implementation or by MINA.
    `void` | `messageReceived(IoSession session, Object message)` Invoked when a message is received.
    `void` | `messageSent(IoSession session, Object message)` Invoked when a message written by `IoSession.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 related `IdleStatus` 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.
      Throws:
        `Exception`

    - #### 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.
      Throws:
        `Exception`

    - #### sessionClosed

          void sessionClosed(IoSession session)
                             throws Exception

      Invoked when a connection is closed.
      Throws:
        `Exception`

    - #### 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.
      Throws:
        `Exception`

    - #### 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.
      Throws:
        `Exception`

    - #### messageReceived

          void messageReceived(IoSession session,
                             Object message)
                               throws Exception

      Invoked when a message is received.
      Throws:
        `Exception`

    - #### messageSent

          void messageSent(IoSession session,
                         Object message)
                           throws Exception

      Invoked when a message written by `IoSession.write(Object)` is sent out.
      Throws:
        `Exception`

Copyright © 2004-2012 Apache MINA Project. All Rights Reserved.