Class MarshallingEncoder
java.lang.Object
org.jboss.netty.handler.codec.oneone.OneToOneEncoder
org.jboss.netty.handler.codec.marshalling.MarshallingEncoder
- All Implemented Interfaces:
ChannelDownstreamHandler
,ChannelHandler
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 informations-
Nested Class Summary
Nested classes/interfaces inherited from interface org.jboss.netty.channel.ChannelHandler
ChannelHandler.Sharable
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final int
private static final byte[]
private final MarshallerProvider
-
Constructor Summary
ConstructorsConstructorDescriptionMarshallingEncoder
(MarshallerProvider provider) Creates a new encoder with the estimated length of 512 bytes.MarshallingEncoder
(MarshallerProvider provider, int estimatedLength) Creates a new encoder. -
Method Summary
Modifier and TypeMethodDescriptionprotected Object
encode
(ChannelHandlerContext ctx, Channel channel, Object msg) Transforms the specified message into another message and return the transformed message.Methods inherited from class org.jboss.netty.handler.codec.oneone.OneToOneEncoder
doEncode, handleDownstream
-
Field Details
-
LENGTH_PLACEHOLDER
private static final byte[] LENGTH_PLACEHOLDER -
provider
-
estimatedLength
private final int estimatedLength
-
-
Constructor Details
-
MarshallingEncoder
Creates a new encoder with the estimated length of 512 bytes.- Parameters:
provider
- theMarshallerProvider
to use
-
MarshallingEncoder
Creates a new encoder.- Parameters:
provider
- theMarshallerProvider
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.
-
-
Method Details
-
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
-