Package 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
AIoHandler
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 Description protected
StreamIoHandler()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
exceptionCaught(IoSession session, Throwable cause)
Forwards caught exceptions to input stream.int
getReadTimeout()
int
getWriteTimeout()
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 streamsvoid
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
inputClosed, messageSent, sessionCreated
-
-
-
-
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.- Parameters:
session
- The current sessionin
- The input streamout
- The output stream
-
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).- Parameters:
readTimeout
- The Read timeout
-
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).- Parameters:
writeTimeout
- The Write timeout
-
sessionOpened
public void sessionOpened(IoSession session)
Initializes streams and timeout settings.- Specified by:
sessionOpened
in interfaceIoHandler
- Overrides:
sessionOpened
in classIoHandlerAdapter
- Parameters:
session
- The session being opened
-
sessionClosed
public void sessionClosed(IoSession session) throws Exception
Closes streams- Specified by:
sessionClosed
in interfaceIoHandler
- Overrides:
sessionClosed
in classIoHandlerAdapter
- Parameters:
session
- The session being closed- Throws:
Exception
- If we get an exception while processing the close event
-
messageReceived
public void messageReceived(IoSession session, Object buf)
Forwards read data to input stream.- Specified by:
messageReceived
in interfaceIoHandler
- Overrides:
messageReceived
in classIoHandlerAdapter
- Parameters:
session
- The session that is receiving a messagebuf
- The received message
-
exceptionCaught
public void exceptionCaught(IoSession session, Throwable cause)
Forwards caught exceptions to input stream.- Specified by:
exceptionCaught
in interfaceIoHandler
- Overrides:
exceptionCaught
in classIoHandlerAdapter
- Parameters:
session
- The session for which we have got an exceptioncause
- The exception that has been caught
-
sessionIdle
public void sessionIdle(IoSession session, IdleStatus status)
Handles read timeout.- Specified by:
sessionIdle
in interfaceIoHandler
- Overrides:
sessionIdle
in classIoHandlerAdapter
- Parameters:
session
- The idling sessionstatus
- The session's status
-
-