Class BufferedWriteFilter

java.lang.Object
org.apache.mina.core.filterchain.IoFilterAdapter
org.apache.mina.filter.buffer.BufferedWriteFilter
All Implemented Interfaces:
IoFilter

public final class BufferedWriteFilter extends IoFilterAdapter
An IoFilter implementation used to buffer outgoing WriteRequest almost like what BufferedOutputStream does. Using this filter allows to be less dependent from network latency. It is also useful when a session is generating very small messages too frequently and consequently generating unnecessary traffic overhead. Please note that it should always be placed before the ProtocolCodecFilter as it only handles WriteRequest's carrying IoBuffer objects.
Since:
MINA 2.0.0-M2
  • Field Details

    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • DEFAULT_BUFFER_SIZE

      public static final int DEFAULT_BUFFER_SIZE
      Default buffer size value in bytes.
      See Also:
    • bufferSize

      private int bufferSize
      The buffer size allocated for each new session's buffer.
    • buffersMap

      private final LazyInitializedCacheMap<IoSession, IoBuffer> buffersMap
      The map that matches an IoSession and it's IoBuffer buffer.
  • Constructor Details

    • BufferedWriteFilter

      public BufferedWriteFilter()
      Default constructor. Sets buffer size to DEFAULT_BUFFER_SIZE bytes. Uses a default instance of ConcurrentHashMap.
    • BufferedWriteFilter

      public BufferedWriteFilter(int bufferSize)
      Constructor which sets buffer size to bufferSize.Uses a default instance of ConcurrentHashMap.
      Parameters:
      bufferSize - the new buffer size
    • BufferedWriteFilter

      public BufferedWriteFilter(int bufferSize, LazyInitializedCacheMap<IoSession, IoBuffer> buffersMap)
      Constructor which sets buffer size to bufferSize. If buffersMap is null then a default instance of ConcurrentHashMap is created else the provided instance is used.
      Parameters:
      bufferSize - the new buffer size
      buffersMap - the map to use for storing each session buffer
  • Method Details