@ChannelHandler.Sharable public class LengthFieldPrepender extends MessageToMessageEncoder<ByteBuf>
For example, LengthFieldPrepender
(2) will encode the
following 12-bytes string:
+----------------+ | "HELLO, WORLD" | +----------------+into the following:
+--------+----------------+ + 0x000C | "HELLO, WORLD" | +--------+----------------+If you turned on the
lengthIncludesLengthFieldLength
flag in the
constructor, the encoded data would look like the following
(12 (original data) + 2 (prepended data) = 14 (0xE)):
+--------+----------------+ + 0x000E | "HELLO, WORLD" | +--------+----------------+
ChannelHandler.Sharable, ChannelHandler.Skip
Constructor and Description |
---|
LengthFieldPrepender(int lengthFieldLength)
Creates a new instance.
|
LengthFieldPrepender(int lengthFieldLength,
boolean lengthIncludesLengthFieldLength)
Creates a new instance.
|
LengthFieldPrepender(int lengthFieldLength,
int lengthAdjustment)
Creates a new instance.
|
LengthFieldPrepender(int lengthFieldLength,
int lengthAdjustment,
boolean lengthIncludesLengthFieldLength)
Creates a new instance.
|
Modifier and Type | Method and Description |
---|---|
protected void |
encode(ChannelHandlerContext ctx,
ByteBuf msg,
List<Object> out)
Encode from one message to an other.
|
acceptOutboundMessage, write
bind, channelActive, channelInactive, channelRead, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, close, connect, deregister, disconnect, exceptionCaught, flush, handlerAdded, handlerRemoved, isSharable, read, userEventTriggered
public LengthFieldPrepender(int lengthFieldLength)
lengthFieldLength
- the length of the prepended length field.
Only 1, 2, 3, 4, and 8 are allowed.IllegalArgumentException
- if lengthFieldLength
is not 1, 2, 3, 4, or 8public LengthFieldPrepender(int lengthFieldLength, boolean lengthIncludesLengthFieldLength)
lengthFieldLength
- the length of the prepended length field.
Only 1, 2, 3, 4, and 8 are allowed.lengthIncludesLengthFieldLength
- if true
, the length of the prepended
length field is added to the value of the
prepended length field.IllegalArgumentException
- if lengthFieldLength
is not 1, 2, 3, 4, or 8public LengthFieldPrepender(int lengthFieldLength, int lengthAdjustment)
lengthFieldLength
- the length of the prepended length field.
Only 1, 2, 3, 4, and 8 are allowed.lengthAdjustment
- the compensation value to add to the value
of the length fieldIllegalArgumentException
- if lengthFieldLength
is not 1, 2, 3, 4, or 8public LengthFieldPrepender(int lengthFieldLength, int lengthAdjustment, boolean lengthIncludesLengthFieldLength)
lengthFieldLength
- the length of the prepended length field.
Only 1, 2, 3, 4, and 8 are allowed.lengthAdjustment
- the compensation value to add to the value
of the length fieldlengthIncludesLengthFieldLength
- if true
, the length of the prepended
length field is added to the value of the
prepended length field.IllegalArgumentException
- if lengthFieldLength
is not 1, 2, 3, 4, or 8protected void encode(ChannelHandlerContext ctx, ByteBuf msg, List<Object> out) throws Exception
MessageToMessageEncoder
encode
in class MessageToMessageEncoder<ByteBuf>
ctx
- the ChannelHandlerContext
which this MessageToMessageEncoder
belongs tomsg
- the message to encode to an other oneout
- the List
into which the encoded msg should be added
needs to do some kind of aggragationException
- is thrown if an error accourCopyright © 2008–2015 The Netty Project. All rights reserved.