|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.mina.common.IoFilterAdapter
org.apache.mina.filter.StreamWriteFilter
public class StreamWriteFilter
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 NextFilter#messageSent(IoSession, Object)
using the original
InputStream
written to the session and notifies
WriteFuture
on the
original IoFilter.WriteRequest
.
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.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface org.apache.mina.common.IoFilter |
---|
IoFilter.NextFilter, IoFilter.WriteRequest |
Field Summary | |
---|---|
static java.lang.String |
CURRENT_STREAM
The attribute name used when binding the InputStream to the session. |
static int |
DEFAULT_STREAM_BUFFER_SIZE
The default buffer size this filter uses for writing. |
protected static java.lang.String |
INITIAL_WRITE_FUTURE
|
protected static java.lang.String |
WRITE_REQUEST_QUEUE
|
Constructor Summary | |
---|---|
StreamWriteFilter()
|
Method Summary | |
---|---|
void |
filterWrite(IoFilter.NextFilter nextFilter,
IoSession session,
IoFilter.WriteRequest writeRequest)
Filters IoSession.write(Object) method invocation. |
int |
getWriteBufferSize()
Returns the size of the write buffer in bytes. |
void |
messageSent(IoFilter.NextFilter nextFilter,
IoSession session,
java.lang.Object message)
Filters IoHandler.messageSent(IoSession,Object)
event. |
void |
setWriteBufferSize(int writeBufferSize)
Sets the size of the write buffer in bytes. |
Methods inherited from class org.apache.mina.common.IoFilterAdapter |
---|
destroy, exceptionCaught, filterClose, init, messageReceived, onPostAdd, onPostRemove, onPreAdd, onPreRemove, sessionClosed, sessionCreated, sessionIdle, sessionOpened |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int DEFAULT_STREAM_BUFFER_SIZE
public static final java.lang.String CURRENT_STREAM
InputStream
to the session.
protected static final java.lang.String WRITE_REQUEST_QUEUE
protected static final java.lang.String INITIAL_WRITE_FUTURE
Constructor Detail |
---|
public StreamWriteFilter()
Method Detail |
---|
public void filterWrite(IoFilter.NextFilter nextFilter, IoSession session, IoFilter.WriteRequest writeRequest) throws java.lang.Exception
IoFilter
IoSession.write(Object)
method invocation.
filterWrite
in interface IoFilter
filterWrite
in class IoFilterAdapter
java.lang.Exception
public void messageSent(IoFilter.NextFilter nextFilter, IoSession session, java.lang.Object message) throws java.lang.Exception
IoFilter
IoHandler.messageSent(IoSession,Object)
event.
messageSent
in interface IoFilter
messageSent
in class IoFilterAdapter
java.lang.Exception
public int getWriteBufferSize()
public void setWriteBufferSize(int writeBufferSize)
java.lang.IllegalArgumentException
- if the specified size is < 1.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |