Class ZlibEncoder
java.lang.Object
org.jboss.netty.handler.codec.oneone.OneToOneEncoder
org.jboss.netty.handler.codec.oneone.OneToOneStrictEncoder
org.jboss.netty.handler.codec.compression.ZlibEncoder
- 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 ChannelHandlerContext
private static final byte[]
private final AtomicBoolean
private final int
private final com.jcraft.jzlib.ZStream
-
Constructor Summary
ConstructorsConstructorDescriptionCreates a new zlib encoder with the default compression level (6
), default window bits (15
), default memory level (8
), and the default wrapper (ZlibWrapper.ZLIB
).ZlibEncoder
(byte[] dictionary) Creates a new zlib encoder with the default compression level (6
), default window bits (15
), default memory level (8
), and the specified preset dictionary.ZlibEncoder
(int compressionLevel) Creates a new zlib encoder with the specifiedcompressionLevel
, default window bits (15
), default memory level (8
), and the default wrapper (ZlibWrapper.ZLIB
).ZlibEncoder
(int compressionLevel, byte[] dictionary) Creates a new zlib encoder with the specifiedcompressionLevel
, default window bits (15
), default memory level (8
), and the specified preset dictionary.ZlibEncoder
(int compressionLevel, int windowBits, int memLevel, byte[] dictionary) Creates a new zlib encoder with the specifiedcompressionLevel
, the specifiedwindowBits
, the specifiedmemLevel
, and the specified preset dictionary.ZlibEncoder
(ZlibWrapper wrapper) Creates a new zlib encoder with the default compression level (6
), default window bits (15
), default memory level (8
), and the specified wrapper.ZlibEncoder
(ZlibWrapper wrapper, int compressionLevel) Creates a new zlib encoder with the specifiedcompressionLevel
, default window bits (15
), default memory level (8
), and the specified wrapper.ZlibEncoder
(ZlibWrapper wrapper, int compressionLevel, int windowBits, int memLevel) Creates a new zlib encoder with the specifiedcompressionLevel
, the specifiedwindowBits
, the specifiedmemLevel
, and the specified wrapper. -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
void
void
close()
protected Object
encode
(ChannelHandlerContext ctx, Channel channel, Object msg) Transforms the specified message into another message and return the transformed message.private ChannelFuture
finishEncode
(ChannelHandlerContext ctx, ChannelEvent evt) void
Handles the specified downstream event.boolean
isClosed()
Methods inherited from class org.jboss.netty.handler.codec.oneone.OneToOneStrictEncoder
doEncode
-
Field Details
-
EMPTY_ARRAY
private static final byte[] EMPTY_ARRAY -
wrapperOverhead
private final int wrapperOverhead -
z
private final com.jcraft.jzlib.ZStream z -
finished
-
ctx
-
-
Constructor Details
-
ZlibEncoder
public ZlibEncoder()Creates a new zlib encoder with the default compression level (6
), default window bits (15
), default memory level (8
), and the default wrapper (ZlibWrapper.ZLIB
).- Throws:
CompressionException
- if failed to initialize zlib
-
ZlibEncoder
public ZlibEncoder(int compressionLevel) Creates a new zlib encoder with the specifiedcompressionLevel
, default window bits (15
), default memory level (8
), and the default wrapper (ZlibWrapper.ZLIB
).- Parameters:
compressionLevel
-1
yields the fastest compression and9
yields the best compression.0
means no compression. The default compression level is6
.- Throws:
CompressionException
- if failed to initialize zlib
-
ZlibEncoder
Creates a new zlib encoder with the default compression level (6
), default window bits (15
), default memory level (8
), and the specified wrapper.- Throws:
CompressionException
- if failed to initialize zlib
-
ZlibEncoder
Creates a new zlib encoder with the specifiedcompressionLevel
, default window bits (15
), default memory level (8
), and the specified wrapper.- Parameters:
compressionLevel
-1
yields the fastest compression and9
yields the best compression.0
means no compression. The default compression level is6
.- Throws:
CompressionException
- if failed to initialize zlib
-
ZlibEncoder
Creates a new zlib encoder with the specifiedcompressionLevel
, the specifiedwindowBits
, the specifiedmemLevel
, and the specified wrapper.- Parameters:
compressionLevel
-1
yields the fastest compression and9
yields the best compression.0
means no compression. The default compression level is6
.windowBits
- The base two logarithm of the size of the history buffer. The value should be in the range9
to15
inclusive. Larger values result in better compression at the expense of memory usage. The default value is15
.memLevel
- How much memory should be allocated for the internal compression state.1
uses minimum memory and9
uses maximum memory. Larger values result in better and faster compression at the expense of memory usage. The default value is8
- Throws:
CompressionException
- if failed to initialize zlib
-
ZlibEncoder
public ZlibEncoder(byte[] dictionary) Creates a new zlib encoder with the default compression level (6
), default window bits (15
), default memory level (8
), and the specified preset dictionary. The wrapper is alwaysZlibWrapper.ZLIB
because it is the only format that supports the preset dictionary.- Parameters:
dictionary
- the preset dictionary- Throws:
CompressionException
- if failed to initialize zlib
-
ZlibEncoder
public ZlibEncoder(int compressionLevel, byte[] dictionary) Creates a new zlib encoder with the specifiedcompressionLevel
, default window bits (15
), default memory level (8
), and the specified preset dictionary. The wrapper is alwaysZlibWrapper.ZLIB
because it is the only format that supports the preset dictionary.- Parameters:
compressionLevel
-1
yields the fastest compression and9
yields the best compression.0
means no compression. The default compression level is6
.dictionary
- the preset dictionary- Throws:
CompressionException
- if failed to initialize zlib
-
ZlibEncoder
public ZlibEncoder(int compressionLevel, int windowBits, int memLevel, byte[] dictionary) Creates a new zlib encoder with the specifiedcompressionLevel
, the specifiedwindowBits
, the specifiedmemLevel
, and the specified preset dictionary. The wrapper is alwaysZlibWrapper.ZLIB
because it is the only format that supports the preset dictionary.- Parameters:
compressionLevel
-1
yields the fastest compression and9
yields the best compression.0
means no compression. The default compression level is6
.windowBits
- The base two logarithm of the size of the history buffer. The value should be in the range9
to15
inclusive. Larger values result in better compression at the expense of memory usage. The default value is15
.memLevel
- How much memory should be allocated for the internal compression state.1
uses minimum memory and9
uses maximum memory. Larger values result in better and faster compression at the expense of memory usage. The default value is8
dictionary
- the preset dictionary- Throws:
CompressionException
- if failed to initialize zlib
-
-
Method Details
-
close
-
isClosed
public boolean isClosed() -
encode
Description copied from class:OneToOneEncoder
Transforms 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:
encode
in classOneToOneEncoder
- Throws:
Exception
-
handleDownstream
Description copied from interface:ChannelDownstreamHandler
Handles the specified downstream event.- Specified by:
handleDownstream
in interfaceChannelDownstreamHandler
- Overrides:
handleDownstream
in classOneToOneEncoder
- Parameters:
ctx
- the context object for this handlerevt
- the downstream event to process or intercept- Throws:
Exception
-
finishEncode
-
beforeAdd
- Specified by:
beforeAdd
in interfaceLifeCycleAwareChannelHandler
- Throws:
Exception
-
afterAdd
- Specified by:
afterAdd
in interfaceLifeCycleAwareChannelHandler
- Throws:
Exception
-
beforeRemove
- Specified by:
beforeRemove
in interfaceLifeCycleAwareChannelHandler
- Throws:
Exception
-
afterRemove
- Specified by:
afterRemove
in interfaceLifeCycleAwareChannelHandler
- Throws:
Exception
-