org.jboss.netty.handler.codec.http2
Class HttpContentCompressor

java.lang.Object
  extended by org.jboss.netty.channel.SimpleChannelHandler
      extended by org.jboss.netty.handler.codec.http2.HttpContentEncoder
          extended by org.jboss.netty.handler.codec.http2.HttpContentCompressor
All Implemented Interfaces:
org.jboss.netty.channel.ChannelDownstreamHandler, org.jboss.netty.channel.ChannelHandler, org.jboss.netty.channel.ChannelUpstreamHandler

public class HttpContentCompressor
extends HttpContentEncoder

Compresses an HttpMessage and an HttpChunk in gzip or deflate encoding while respecting the "Accept-Encoding" header. If there is no matching encoding, no compression is done. For more information on how this handler modifies the message, please refer to HttpContentEncoder.

Version:
$Rev: 1107 $, $Date: 2012-04-15 19:00:57 +0200 (dim., 15 avr. 2012) $
Author:
The Netty Project, Trustin Lee

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.jboss.netty.channel.ChannelHandler
org.jboss.netty.channel.ChannelHandler.Sharable
 
Constructor Summary
HttpContentCompressor()
          Creates a new handler with the default compression level (6), default window size (15) and default memory level (8).
HttpContentCompressor(int compressionLevel)
          Creates a new handler with the specified compression level, default window size (15) and default memory level (8).
HttpContentCompressor(int compressionLevel, int windowBits, int memLevel)
          Creates a new handler with the specified compression level, window size, and memory level..
 
Method Summary
protected  String getTargetContentEncoding(String acceptEncoding)
          Returns the expected content encoding of the encoded content.
protected  org.jboss.netty.handler.codec.embedder.EncoderEmbedder<org.jboss.netty.buffer.ChannelBuffer> newContentEncoder(String acceptEncoding)
          Returns a new EncoderEmbedder that encodes the HTTP message content.
 
Methods inherited from class org.jboss.netty.handler.codec.http2.HttpContentEncoder
messageReceived, writeRequested
 
Methods inherited from class org.jboss.netty.channel.SimpleChannelHandler
bindRequested, channelBound, channelClosed, channelConnected, channelDisconnected, channelInterestChanged, channelOpen, channelUnbound, childChannelClosed, childChannelOpen, closeRequested, connectRequested, disconnectRequested, exceptionCaught, handleDownstream, handleUpstream, setInterestOpsRequested, unbindRequested, writeComplete
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HttpContentCompressor

public HttpContentCompressor()
Creates a new handler with the default compression level (6), default window size (15) and default memory level (8).


HttpContentCompressor

public HttpContentCompressor(int compressionLevel)
Creates a new handler with the specified compression level, default window size (15) and default memory level (8).

Parameters:
compressionLevel - 1 yields the fastest compression and 9 yields the best compression. 0 means no compression. The default compression level is 6.

HttpContentCompressor

public HttpContentCompressor(int compressionLevel,
                             int windowBits,
                             int memLevel)
Creates a new handler with the specified compression level, window size, and memory level..

Parameters:
compressionLevel - 1 yields the fastest compression and 9 yields the best compression. 0 means no compression. The default compression level is 6.
windowBits - The base two logarithm of the size of the history buffer. The value should be in the range 9 to 15 inclusive. Larger values result in better compression at the expense of memory usage. The default value is 15.
memLevel - How much memory should be allocated for the internal compression state. 1 uses minimum memory and 9 uses maximum memory. Larger values result in better and faster compression at the expense of memory usage. The default value is 8
Method Detail

newContentEncoder

protected org.jboss.netty.handler.codec.embedder.EncoderEmbedder<org.jboss.netty.buffer.ChannelBuffer> newContentEncoder(String acceptEncoding)
                                                                                                                  throws Exception
Description copied from class: HttpContentEncoder
Returns a new EncoderEmbedder that encodes the HTTP message content.

Specified by:
newContentEncoder in class HttpContentEncoder
Parameters:
acceptEncoding - the value of the "Accept-Encoding" header
Returns:
a new EncoderEmbedder if there is a supported encoding in acceptEncoding. null otherwise.
Throws:
Exception

getTargetContentEncoding

protected String getTargetContentEncoding(String acceptEncoding)
                                   throws Exception
Description copied from class: HttpContentEncoder
Returns the expected content encoding of the encoded content.

Specified by:
getTargetContentEncoding in class HttpContentEncoder
Parameters:
acceptEncoding - the value of the "Accept-Encoding" header
Returns:
the expected content encoding of the new content
Throws:
Exception


Copyright © 2009-2012 Frederic Bregier. All Rights Reserved.