@ChannelHandler.Sharable public class MarshallingEncoder extends OneToOneEncoder
OneToOneEncoder
implementation which uses JBoss Marshalling to marshal
an Object. Be aware that this OneToOneEncoder
is not compatible with
an other client that just use JBoss Marshalling as it includes the size of every
Object
that gets serialized in front of the Object
itself.
Use this with MarshallingDecoder
See JBoss Marshalling website
for more informationsChannelHandler.Sharable
构造器和说明 |
---|
MarshallingEncoder(MarshallerProvider provider)
Creates a new encoder with the estimated length of 512 bytes.
|
MarshallingEncoder(MarshallerProvider provider,
int estimatedLength)
Creates a new encoder.
|
限定符和类型 | 方法和说明 |
---|---|
protected java.lang.Object |
encode(ChannelHandlerContext ctx,
Channel channel,
java.lang.Object msg)
Transforms the specified message into another message and return the
transformed message.
|
doEncode, handleDownstream
public MarshallingEncoder(MarshallerProvider provider)
provider
- the MarshallerProvider
to usepublic MarshallingEncoder(MarshallerProvider provider, int estimatedLength)
provider
- the MarshallerProvider
to useestimatedLength
- the estimated byte length of the serialized form of an object.
If the length of the serialized form exceeds this value, the
internal buffer will be expanded automatically at the cost of
memory bandwidth. If this value is too big, it will also waste
memory bandwidth. To avoid unnecessary memory copy or allocation
cost, please specify the properly estimated value.protected java.lang.Object encode(ChannelHandlerContext ctx, Channel channel, java.lang.Object msg) throws java.lang.Exception
OneToOneEncoder
null
, unlike
you can in OneToOneDecoder.decode(ChannelHandlerContext, Channel, Object)
;
you must return something, at least ChannelBuffers.EMPTY_BUFFER
.encode
在类中 OneToOneEncoder
java.lang.Exception