org.apache.mina.filter
Class ReadThrottleFilterBuilder
java.lang.Object
org.apache.mina.filter.ReadThrottleFilterBuilder
public class ReadThrottleFilterBuilder
extends java.lang.Object
This filter will automatically disable reads on an
IoSession
once the data
batched for that session in the
ExecutorFilter
reaches a defined threshold (the
default is 1 megabytes). It accomplishes this by being in the filter chain before
and after the
ExecutorFilter
. It is possible to subvert the
behavior of this filter by adding filters immediately after the
ExecutorFilter
after adding this filter. Thus, it is recommended to add this filter towards the end of
your filter chain construction, if you need to ensure that other filters need to be right
after the
ExecutorFilter
Usage:
DefaultFilterChainBuilder builder = ...
ReadThrottleFilterBuilder filter = new ReadThrottleFilterBuilder();
filter.attach( builder );
or
IoFilterChain chain = ...
ReadThrottleFilterBuilder filter = new ReadThrottleFilterBuilder();
filter.attach( chain );
COUNTER
public static final String COUNTER
SUSPENDED_READS
public static final String SUSPENDED_READS
attach
public void attach(IoFilterChain chain)
Attach this filter to the specified filter chain. It will search for the ThreadPoolFilter, and attach itself
before and after that filter.
setMaximumConnectionBufferSize
public void setMaximumConnectionBufferSize(int maximumConnectionBufferSize)
Set the maximum amount of data to buffer in the ThreadPoolFilter prior to disabling
reads. Changing the value will only take effect when new data is received for a
connection, including existing connections. Default value is 1 megabytes.
maximumConnectionBufferSize
- New buffer size. Must be > 0