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. ALengthFieldBasedFrameDecoderwhich use anUnmarshallerto 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 is1048576bytes.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.Objectdecode(ChannelHandlerContext ctx, ByteBuf in)Create a frame out of theByteBufand return it.protected ByteBufextractFrame(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 is1048576bytes. If the size of the received object is greater than1048576bytes, aStreamCorruptedExceptionwill 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,TooLongFrameExceptionwill be raised.
-
-
Method Detail
-
decode
protected java.lang.Object decode(ChannelHandlerContext ctx, ByteBuf in) throws java.lang.Exception
Description copied from class:LengthFieldBasedFrameDecoderCreate a frame out of theByteBufand return it.- Overrides:
decodein classLengthFieldBasedFrameDecoder- Parameters:
ctx- theChannelHandlerContextwhich thisByteToMessageDecoderbelongs toin- theByteBuffrom which to read data- Returns:
- frame the
ByteBufwhich represent the frame ornullif 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:LengthFieldBasedFrameDecoderExtract the sub-region of the specified buffer.- Overrides:
extractFramein classLengthFieldBasedFrameDecoder
-
-