Class MarshallingDecoder
- java.lang.Object
-
- io.netty.channel.ChannelHandlerAdapter
-
- io.netty.channel.ChannelInboundHandlerAdapter
-
- io.netty.handler.codec.ByteToMessageDecoder
-
- io.netty.handler.codec.LengthFieldBasedFrameDecoder
-
- io.netty.handler.codec.marshalling.MarshallingDecoder
-
- All Implemented Interfaces:
ChannelHandler
,ChannelInboundHandler
public class MarshallingDecoder extends LengthFieldBasedFrameDecoder
Decoder which MUST be used withMarshallingEncoder
. ALengthFieldBasedFrameDecoder
which use anUnmarshaller
to read the Object out of theByteBuf
.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class io.netty.handler.codec.ByteToMessageDecoder
ByteToMessageDecoder.Cumulator
-
Nested classes/interfaces inherited from interface io.netty.channel.ChannelHandler
ChannelHandler.Sharable
-
-
Field Summary
-
Fields inherited from class io.netty.handler.codec.ByteToMessageDecoder
COMPOSITE_CUMULATOR, MERGE_CUMULATOR
-
-
Constructor Summary
Constructors Constructor Description MarshallingDecoder(UnmarshallerProvider provider)
Creates a new decoder whose maximum object size is1048576
bytes.MarshallingDecoder(UnmarshallerProvider provider, int maxObjectSize)
Creates a new decoder with the specified maximum object size.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.Object
decode(ChannelHandlerContext ctx, ByteBuf in)
Create a frame out of theByteBuf
and return it.protected ByteBuf
extractFrame(ChannelHandlerContext ctx, ByteBuf buffer, int index, int length)
Extract the sub-region of the specified buffer.-
Methods inherited from class io.netty.handler.codec.LengthFieldBasedFrameDecoder
decode, getUnadjustedFrameLength
-
Methods inherited from class io.netty.handler.codec.ByteToMessageDecoder
actualReadableBytes, callDecode, channelInactive, channelRead, channelReadComplete, decodeLast, discardSomeReadBytes, handlerRemoved, handlerRemoved0, internalBuffer, isSingleDecode, setCumulator, setDiscardAfterReads, setSingleDecode, userEventTriggered
-
Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter
channelActive, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught
-
Methods inherited from class io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, handlerAdded, isSharable
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.netty.channel.ChannelHandler
handlerAdded
-
-
-
-
Constructor Detail
-
MarshallingDecoder
public MarshallingDecoder(UnmarshallerProvider provider)
Creates a new decoder whose maximum object size is1048576
bytes. If the size of the received object is greater than1048576
bytes, aStreamCorruptedException
will be raised.
-
MarshallingDecoder
public MarshallingDecoder(UnmarshallerProvider provider, int maxObjectSize)
Creates a new decoder with the specified maximum object size.- Parameters:
maxObjectSize
- the maximum byte length of the serialized object. if the length of the received object is greater than this value,TooLongFrameException
will be raised.
-
-
Method Detail
-
decode
protected java.lang.Object decode(ChannelHandlerContext ctx, ByteBuf in) throws java.lang.Exception
Description copied from class:LengthFieldBasedFrameDecoder
Create a frame out of theByteBuf
and return it.- Overrides:
decode
in classLengthFieldBasedFrameDecoder
- Parameters:
ctx
- theChannelHandlerContext
which thisByteToMessageDecoder
belongs toin
- theByteBuf
from which to read data- Returns:
- frame the
ByteBuf
which represent the frame ornull
if no frame could be created. - Throws:
java.lang.Exception
-
extractFrame
protected ByteBuf extractFrame(ChannelHandlerContext ctx, ByteBuf buffer, int index, int length)
Description copied from class:LengthFieldBasedFrameDecoder
Extract the sub-region of the specified buffer.- Overrides:
extractFrame
in classLengthFieldBasedFrameDecoder
-
-