@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, handleDownstreampublic 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
OneToOneEncodernull, unlike
you can in OneToOneDecoder.decode(ChannelHandlerContext, Channel, Object);
you must return something, at least ChannelBuffers.EMPTY_BUFFER.encode 在类中 OneToOneEncoderjava.lang.Exception