public abstract class AbstractStreamWriteFilter<T> extends IoFilterAdapter
IoFilter.NextFilter| Modifier and Type | Field and Description |
|---|---|
protected AttributeKey |
CURRENT_STREAM
The attribute name used when binding the streaming object to the session.
|
protected AttributeKey |
CURRENT_WRITE_REQUEST |
static int |
DEFAULT_STREAM_BUFFER_SIZE
The default buffer size this filter uses for writing.
|
protected AttributeKey |
WRITE_REQUEST_QUEUE |
private int |
writeBufferSize |
| Constructor and Description |
|---|
AbstractStreamWriteFilter() |
| Modifier and Type | Method and Description |
|---|---|
void |
filterWrite(IoFilter.NextFilter nextFilter,
IoSession session,
WriteRequest writeRequest)
Filters
IoSession.write(Object) method invocation. |
protected abstract java.lang.Class<T> |
getMessageClass() |
protected abstract IoBuffer |
getNextBuffer(T message) |
int |
getWriteBufferSize()
Returns the size of the write buffer in bytes.
|
private java.util.Queue<WriteRequest> |
getWriteRequestQueue(IoSession session) |
void |
messageSent(IoFilter.NextFilter nextFilter,
IoSession session,
WriteRequest writeRequest)
Filters
IoHandler.messageSent(IoSession,Object) event. |
void |
onPreAdd(IoFilterChain parent,
java.lang.String name,
IoFilter.NextFilter nextFilter)
Invoked before this filter is added to the specified parent.
|
private java.util.Queue<WriteRequest> |
removeWriteRequestQueue(IoSession session) |
void |
setWriteBufferSize(int writeBufferSize)
Sets the size of the write buffer in bytes.
|
destroy, exceptionCaught, filterClose, init, inputClosed, messageReceived, onPostAdd, onPostRemove, onPreRemove, sessionClosed, sessionCreated, sessionIdle, sessionOpened, toStringpublic static final int DEFAULT_STREAM_BUFFER_SIZE
protected final AttributeKey CURRENT_STREAM
protected final AttributeKey WRITE_REQUEST_QUEUE
protected final AttributeKey CURRENT_WRITE_REQUEST
private int writeBufferSize
public void onPreAdd(IoFilterChain parent, java.lang.String name, IoFilter.NextFilter nextFilter) throws java.lang.Exception
IoFilterAdapterIoFilter.init() is invoked.onPreAdd in interface IoFilteronPreAdd in class IoFilterAdapterparent - the parent who called this methodname - the name assigned to this filternextFilter - the IoFilter.NextFilter for this filter. You can reuse
this object until this filter is removed from the chain.java.lang.Exceptionpublic void filterWrite(IoFilter.NextFilter nextFilter, IoSession session, WriteRequest writeRequest) throws java.lang.Exception
IoFilterAdapterIoSession.write(Object) method invocation.filterWrite in interface IoFilterfilterWrite in class IoFilterAdapternextFilter - the IoFilter.NextFilter for this filter. You can reuse this
object until this filter is removed from the chain.session - The IoSession which has to process this invocationwriteRequest - The WriteRequest to processjava.lang.Exceptionprotected abstract java.lang.Class<T> getMessageClass()
private java.util.Queue<WriteRequest> getWriteRequestQueue(IoSession session)
private java.util.Queue<WriteRequest> removeWriteRequestQueue(IoSession session)
public void messageSent(IoFilter.NextFilter nextFilter, IoSession session, WriteRequest writeRequest) throws java.lang.Exception
IoFilterAdapterIoHandler.messageSent(IoSession,Object) event.messageSent in interface IoFiltermessageSent in class IoFilterAdapternextFilter - the IoFilter.NextFilter for this filter. You can reuse this
object until this filter is removed from the chain.session - The IoSession which has received this eventwriteRequest - The WriteRequest that contains the sent messagejava.lang.Exceptionpublic int getWriteBufferSize()
public void setWriteBufferSize(int writeBufferSize)
java.lang.IllegalArgumentException - if the specified size is < 1.