Package org.teiid.transport
Class ObjectDecoder
- java.lang.Object
-
- io.netty.channel.ChannelHandlerAdapter
-
- io.netty.channel.ChannelInboundHandlerAdapter
-
- io.netty.handler.codec.ByteToMessageDecoder
-
- io.netty.handler.codec.LengthFieldBasedFrameDecoder
-
- org.teiid.transport.ObjectDecoder
-
- All Implemented Interfaces:
io.netty.channel.ChannelHandler,io.netty.channel.ChannelInboundHandler
public class ObjectDecoder extends io.netty.handler.codec.LengthFieldBasedFrameDecoderA decoder which deserializes the received values into Java objects.Please note that the serialized form this decoder expects is not compatible with the standard
ObjectOutputStream. Please useObjectEncoderorObjectEncoderOutputStreamto ensure the interoperability with this decoder.Unless there's a requirement for the interoperability with the standard object streams, it is recommended to use
ObjectEncoderandObjectDecoderrather thanCompatibleObjectEncoder.- Version:
- $Rev: 381 $, $Date: 2008-10-01 20:06:18 +0900 (Wed, 01 Oct 2008) $ Note this has been customized to utilize even more idomatic serialization and to support out of message streaming
- Author:
- The Netty Project (netty-dev@lists.jboss.org), Trustin Lee (tlee@redhat.com)
-
-
Field Summary
Fields Modifier and Type Field Description static longMAX_LOB_SIZE
-
Constructor Summary
Constructors Constructor Description ObjectDecoder(int maxObjectSize, long maxLobSize, ClassLoader classLoader, StorageManager storageManager)Creates a new decoder with the specified maximum object size.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Objectdecode(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf buffer)protected io.netty.buffer.ByteBufextractFrame(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf buffer, int index, int length)-
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
-
-
-
-
Field Detail
-
MAX_LOB_SIZE
public static final long MAX_LOB_SIZE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ObjectDecoder
public ObjectDecoder(int maxObjectSize, long maxLobSize, ClassLoader classLoader, StorageManager storageManager)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,StreamCorruptedExceptionwill be raised.classLoader- theClassLoaderwhich will load the class of the serialized object
-
-
Method Detail
-
decode
protected Object decode(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf buffer) throws Exception
- Overrides:
decodein classio.netty.handler.codec.LengthFieldBasedFrameDecoder- Throws:
Exception
-
extractFrame
protected io.netty.buffer.ByteBuf extractFrame(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf buffer, int index, int length)- Overrides:
extractFramein classio.netty.handler.codec.LengthFieldBasedFrameDecoder
-
-