Class ObjectDecoder
- 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.serialization.ObjectDecoder
-
- All Implemented Interfaces:
ChannelHandler
,ChannelInboundHandler
public class ObjectDecoder extends LengthFieldBasedFrameDecoder
A decoder which deserializes the receivedByteBuf
s into Java objects.Please note that the serialized form this decoder expects is not compatible with the standard
ObjectOutputStream
. Please useObjectEncoder
orObjectEncoderOutputStream
to ensure the interoperability with this decoder.
-
-
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 ObjectDecoder(int maxObjectSize, ClassResolver classResolver)
Creates a new decoder with the specified maximum object size.ObjectDecoder(ClassResolver classResolver)
Creates a new decoder whose maximum object size is1048576
bytes.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Object
decode(ChannelHandlerContext ctx, ByteBuf in)
Create a frame out of theByteBuf
and return it.-
Methods inherited from class io.netty.handler.codec.LengthFieldBasedFrameDecoder
decode, extractFrame, 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
-
ObjectDecoder
public ObjectDecoder(ClassResolver classResolver)
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.- Parameters:
classResolver
- theClassResolver
to use for this decoder
-
ObjectDecoder
public ObjectDecoder(int maxObjectSize, ClassResolver classResolver)
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,StreamCorruptedException
will be raised.classResolver
- theClassResolver
which will load the class of the serialized object
-
-
Method Detail
-
decode
protected Object decode(ChannelHandlerContext ctx, ByteBuf in) throws 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:
Exception
-
-