Class StreamWriteFilter

All Implemented Interfaces:
IoFilter

public class StreamWriteFilter extends AbstractStreamWriteFilter<InputStream>
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 IoBuffer objects and write those buffers to the next filter. When end of stream has been reached this filter will call IoFilter.NextFilter.messageSent(org.apache.mina.core.session.IoSession, org.apache.mina.core.write.WriteRequest) using the original InputStream written to the session and notifies WriteFuture on the original 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.