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.LengthFieldBasedFrameDecoder
A 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 useObjectEncoder
orObjectEncoderOutputStream
to ensure the interoperability with this decoder.Unless there's a requirement for the interoperability with the standard object streams, it is recommended to use
ObjectEncoder
andObjectDecoder
rather 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 long
MAX_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 Object
decode(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf buffer)
protected io.netty.buffer.ByteBuf
extractFrame(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,StreamCorruptedException
will be raised.classLoader
- theClassLoader
which 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:
decode
in 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:
extractFrame
in classio.netty.handler.codec.LengthFieldBasedFrameDecoder
-
-