org.apache.mina.handler.stream

## Class StreamIoHandler

- java.lang.Object
- - org.apache.mina.core.service.IoHandlerAdapter
  - - org.apache.mina.handler.stream.StreamIoHandler

- All Implemented Interfaces:
    IoHandler

      public abstract class StreamIoHandler
      extends IoHandlerAdapter

  A `IoHandler` that adapts asynchronous MINA events to stream I/O.

  Please extend this class and implement `processStreamIo(IoSession, InputStream, OutputStream)` to execute your stream I/O logic; please note that you must forward the process request to other thread or thread pool.

  Author:
    Apache MINA Project

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `StreamIoHandler()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `exceptionCaught(IoSession session, Throwable cause)` Forwards caught exceptions to input stream.
    `int` | `getReadTimeout()` Returns read timeout in seconds.
    `int` | `getWriteTimeout()` Returns write timeout in seconds.
    `void` | `messageReceived(IoSession session, Object buf)` Forwards read data to input stream.
    `protected abstract void` | `processStreamIo(IoSession session, InputStream in, OutputStream out)` Implement this method to execute your stream I/O logic; please note that you must forward the process request to other thread or thread pool.
    `void` | `sessionClosed(IoSession session)` Closes streams
    `void` | `sessionIdle(IoSession session, IdleStatus status)` Handles read timeout.
    `void` | `sessionOpened(IoSession session)` Initializes streams and timeout settings.
    `void` | `setReadTimeout(int readTimeout)` Sets read timeout in seconds.
    `void` | `setWriteTimeout(int writeTimeout)` Sets write timeout in seconds.

    - ### Methods inherited from class org.apache.mina.core.service.IoHandlerAdapter

      `messageSent, sessionCreated`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### StreamIoHandler

          protected StreamIoHandler()

  - ### Method Detail

    - #### processStreamIo

          protected abstract void processStreamIo(IoSession session,
                             InputStream in,
                             OutputStream out)

      Implement this method to execute your stream I/O logic; please note that you must forward the process request to other thread or thread pool.

    - #### getReadTimeout

          public int getReadTimeout()

      Returns read timeout in seconds. The default value is `0` (disabled).

    - #### setReadTimeout

          public void setReadTimeout(int readTimeout)

      Sets read timeout in seconds. The default value is `0` (disabled).

    - #### getWriteTimeout

          public int getWriteTimeout()

      Returns write timeout in seconds. The default value is `0` (disabled).

    - #### setWriteTimeout

          public void setWriteTimeout(int writeTimeout)

      Sets write timeout in seconds. The default value is `0` (disabled).

    - #### sessionOpened

          public void sessionOpened(IoSession session)

      Initializes streams and timeout settings.
      Specified by:
        `sessionOpened` in interface `IoHandler`
      Overrides:
        `sessionOpened` in class `IoHandlerAdapter`

    - #### sessionClosed

          public void sessionClosed(IoSession session)
                             throws Exception

      Closes streams
      Specified by:
        `sessionClosed` in interface `IoHandler`
      Overrides:
        `sessionClosed` in class `IoHandlerAdapter`
      Throws:
        `Exception`

    - #### messageReceived

          public void messageReceived(IoSession session,
                             Object buf)

      Forwards read data to input stream.
      Specified by:
        `messageReceived` in interface `IoHandler`
      Overrides:
        `messageReceived` in class `IoHandlerAdapter`

    - #### exceptionCaught

          public void exceptionCaught(IoSession session,
                             Throwable cause)

      Forwards caught exceptions to input stream.
      Specified by:
        `exceptionCaught` in interface `IoHandler`
      Overrides:
        `exceptionCaught` in class `IoHandlerAdapter`

    - #### sessionIdle

          public void sessionIdle(IoSession session,
                         IdleStatus status)

      Handles read timeout.
      Specified by:
        `sessionIdle` in interface `IoHandler`
      Overrides:
        `sessionIdle` in class `IoHandlerAdapter`

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