Class JdkZlibEncoder
java.lang.Object
org.jboss.netty.handler.codec.oneone.OneToOneEncoder
org.jboss.netty.handler.codec.oneone.OneToOneStrictEncoder
org.jboss.netty.handler.codec.compression.JdkZlibEncoder
- All Implemented Interfaces:
ChannelDownstreamHandler,ChannelHandler,LifeCycleAwareChannelHandler
Compresses a
ChannelBuffer using the deflate algorithm.-
Nested Class Summary
Nested classes/interfaces inherited from interface org.jboss.netty.channel.ChannelHandler
ChannelHandler.Sharable -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final CRC32private ChannelHandlerContextprivate final Deflaterprivate final AtomicBooleanprivate static final byte[]private byte[]private final ZlibWrapperprivate boolean -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new zlib encoder with the default compression level (6) and the default wrapper (ZlibWrapper.ZLIB).JdkZlibEncoder(byte[] dictionary) Creates a new zlib encoder with the default compression level (6) and the specified preset dictionary.JdkZlibEncoder(int compressionLevel) Creates a new zlib encoder with the specifiedcompressionLeveland the default wrapper (ZlibWrapper.ZLIB).JdkZlibEncoder(int compressionLevel, byte[] dictionary) Creates a new zlib encoder with the specifiedcompressionLeveland the specified preset dictionary.JdkZlibEncoder(ZlibWrapper wrapper) Creates a new zlib encoder with the default compression level (6) and the specified wrapper.JdkZlibEncoder(ZlibWrapper wrapper, int compressionLevel) Creates a new zlib encoder with the specifiedcompressionLeveland the specified wrapper. -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidvoidvoidclose()private voiddeflate(ChannelBuffer out) protected Objectencode(ChannelHandlerContext ctx, Channel channel, Object msg) Transforms the specified message into another message and return the transformed message.private intestimateCompressedSize(int originalSize) private ChannelFuturefinishEncode(ChannelHandlerContext ctx, ChannelEvent evt) voidHandles the specified downstream event.booleanisClosed()private booleanisGzip()Methods inherited from class org.jboss.netty.handler.codec.oneone.OneToOneStrictEncoder
doEncode
-
Field Details
-
wrapper
-
deflater
-
finished
-
ctx
-
out
private byte[] out -
crc
-
gzipHeader
private static final byte[] gzipHeader -
writeHeader
private boolean writeHeader
-
-
Constructor Details
-
JdkZlibEncoder
public JdkZlibEncoder()Creates a new zlib encoder with the default compression level (6) and the default wrapper (ZlibWrapper.ZLIB).- Throws:
CompressionException- if failed to initialize zlib
-
JdkZlibEncoder
public JdkZlibEncoder(int compressionLevel) Creates a new zlib encoder with the specifiedcompressionLeveland the default wrapper (ZlibWrapper.ZLIB).- Parameters:
compressionLevel-1yields the fastest compression and9yields the best compression.0means no compression. The default compression level is6.- Throws:
CompressionException- if failed to initialize zlib
-
JdkZlibEncoder
Creates a new zlib encoder with the default compression level (6) and the specified wrapper.- Throws:
CompressionException- if failed to initialize zlib
-
JdkZlibEncoder
Creates a new zlib encoder with the specifiedcompressionLeveland the specified wrapper.- Parameters:
compressionLevel-1yields the fastest compression and9yields the best compression.0means no compression. The default compression level is6.- Throws:
CompressionException- if failed to initialize zlib
-
JdkZlibEncoder
public JdkZlibEncoder(byte[] dictionary) Creates a new zlib encoder with the default compression level (6) and the specified preset dictionary. The wrapper is alwaysZlibWrapper.ZLIBbecause it is the only format that supports the preset dictionary.- Parameters:
dictionary- the preset dictionary- Throws:
CompressionException- if failed to initialize zlib
-
JdkZlibEncoder
public JdkZlibEncoder(int compressionLevel, byte[] dictionary) Creates a new zlib encoder with the specifiedcompressionLeveland the specified preset dictionary. The wrapper is alwaysZlibWrapper.ZLIBbecause it is the only format that supports the preset dictionary.- Parameters:
compressionLevel-1yields the fastest compression and9yields the best compression.0means no compression. The default compression level is6.dictionary- the preset dictionary- Throws:
CompressionException- if failed to initialize zlib
-
-
Method Details
-
close
-
isGzip
private boolean isGzip() -
isClosed
public boolean isClosed() -
encode
Description copied from class:OneToOneEncoderTransforms the specified message into another message and return the transformed message. Note that you can not returnnull, unlike you can inOneToOneDecoder.decode(ChannelHandlerContext, Channel, Object); you must return something, at leastChannelBuffers.EMPTY_BUFFER.- Specified by:
encodein classOneToOneEncoder- Throws:
Exception
-
estimateCompressedSize
private int estimateCompressedSize(int originalSize) -
handleDownstream
Description copied from interface:ChannelDownstreamHandlerHandles the specified downstream event.- Specified by:
handleDownstreamin interfaceChannelDownstreamHandler- Overrides:
handleDownstreamin classOneToOneEncoder- Parameters:
ctx- the context object for this handlerevt- the downstream event to process or intercept- Throws:
Exception
-
finishEncode
-
deflate
-
beforeAdd
- Specified by:
beforeAddin interfaceLifeCycleAwareChannelHandler- Throws:
Exception
-
afterAdd
- Specified by:
afterAddin interfaceLifeCycleAwareChannelHandler- Throws:
Exception
-
beforeRemove
- Specified by:
beforeRemovein interfaceLifeCycleAwareChannelHandler- Throws:
Exception
-
afterRemove
- Specified by:
afterRemovein interfaceLifeCycleAwareChannelHandler- Throws:
Exception
-