Class StreamWriteFilter

java.lang.Object
org.apache.mina.common.IoFilterAdapter
org.apache.mina.filter.StreamWriteFilter
All Implemented Interfaces:
IoFilter

public class StreamWriteFilter extends IoFilterAdapter
Filter implementation which makes it possible to write InputStream objects directly using IoSession.write(Object). When an InputStream is written to a session this filter will read the bytes from the stream into ByteBuffer objects and write those buffers to the next filter. When end of stream has been reached this filter will call IoFilter.NextFilter.messageSent(IoSession, Object) using the original InputStream written to the session and notifies WriteFuture on the original IoFilter.WriteRequest.

This filter will ignore written messages which aren't InputStream instances. Such messages will be passed to the next filter directly.

NOTE: this filter does not close the stream after all data from stream has been written. The IoHandler should take care of that in its IoHandler.messageSent(IoSession, Object) callback.