Class CompatibleMarshallingDecoder
- java.lang.Object
-
- io.netty.channel.ChannelHandlerAdapter
-
- io.netty.channel.ChannelInboundHandlerAdapter
-
- io.netty.handler.codec.ByteToMessageDecoder
-
- io.netty.handler.codec.ReplayingDecoder<Void>
-
- io.netty.handler.codec.marshalling.CompatibleMarshallingDecoder
-
- All Implemented Interfaces:
io.netty.channel.ChannelHandler,io.netty.channel.ChannelInboundHandler
public class CompatibleMarshallingDecoder extends io.netty.handler.codec.ReplayingDecoder<Void>
ReplayingDecoderwhich use anUnmarshallerto read the Object out of theByteBuf. If you can you should useMarshallingDecoder.
-
-
Field Summary
Fields Modifier and Type Field Description protected intmaxObjectSizeprotected UnmarshallerProviderprovider
-
Constructor Summary
Constructors Constructor Description CompatibleMarshallingDecoder(UnmarshallerProvider provider, int maxObjectSize)Create a new instance ofCompatibleMarshallingDecoder.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddecode(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf buffer, List<Object> out)protected voiddecodeLast(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf buffer, List<Object> out)voidexceptionCaught(io.netty.channel.ChannelHandlerContext ctx, Throwable cause)-
Methods inherited from class io.netty.handler.codec.ReplayingDecoder
callDecode, checkpoint, checkpoint, state, state
-
Methods inherited from class io.netty.handler.codec.ByteToMessageDecoder
actualReadableBytes, channelInactive, channelRead, channelReadComplete, discardSomeReadBytes, handlerRemoved, handlerRemoved0, internalBuffer, isSingleDecode, setCumulator, setDiscardAfterReads, setSingleDecode, userEventTriggered
-
Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter
channelActive, channelRegistered, channelUnregistered, channelWritabilityChanged
-
Methods inherited from class io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, handlerAdded, isSharable
-
-
-
-
Field Detail
-
provider
protected final UnmarshallerProvider provider
-
maxObjectSize
protected final int maxObjectSize
-
-
Constructor Detail
-
CompatibleMarshallingDecoder
public CompatibleMarshallingDecoder(UnmarshallerProvider provider, int maxObjectSize)
Create a new instance ofCompatibleMarshallingDecoder.- Parameters:
provider- theUnmarshallerProviderwhich is used to obtain theUnmarshallerfor theChannelmaxObjectSize- the maximal size (in bytes) of theObjectto unmarshal. Once the size is exceeded theChannelwill get closed. Use a maxObjectSize ofInteger.MAX_VALUEto disable this. You should only do this if you are sure that the received Objects will never be big and the sending side are trusted, as this opens the possibility for a DOS-Attack due anOutOfMemoryError.
-
-
Method Detail
-
decode
protected void decode(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf buffer, List<Object> out) throws Exception- Specified by:
decodein classio.netty.handler.codec.ByteToMessageDecoder- Throws:
Exception
-
decodeLast
protected void decodeLast(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf buffer, List<Object> out) throws Exception- Overrides:
decodeLastin classio.netty.handler.codec.ByteToMessageDecoder- Throws:
Exception
-
exceptionCaught
public void exceptionCaught(io.netty.channel.ChannelHandlerContext ctx, Throwable cause) throws Exception- Specified by:
exceptionCaughtin interfaceio.netty.channel.ChannelHandler- Specified by:
exceptionCaughtin interfaceio.netty.channel.ChannelInboundHandler- Overrides:
exceptionCaughtin classio.netty.channel.ChannelInboundHandlerAdapter- Throws:
Exception
-
-