Class ObjectSerializationDecoder

All Implemented Interfaces:
ProtocolDecoder

public class ObjectSerializationDecoder extends CumulativeProtocolDecoder
A ProtocolDecoder which deserializes Serializable Java objects using ByteBuffer.getObject(ClassLoader).
  • Constructor Details

    • ObjectSerializationDecoder

      public ObjectSerializationDecoder()
      Creates a new instance with the ClassLoader of the current thread.
    • ObjectSerializationDecoder

      public ObjectSerializationDecoder(ClassLoader classLoader)
      Creates a new instance with the specified ClassLoader.
  • Method Details

    • getMaxObjectSize

      public int getMaxObjectSize()
      Returns the allowed maximum size of the object to be decoded. If the size of the object to be decoded exceeds this value, this decoder will throw a BufferDataException. The default value is 1048576 (1MB).
    • setMaxObjectSize

      public void setMaxObjectSize(int maxObjectSize)
      Sets the allowed maximum size of the object to be decoded. If the size of the object to be decoded exceeds this value, this decoder will throw a BufferDataException. The default value is 1048576 (1MB).
    • doDecode

      protected boolean doDecode(IoSession session, ByteBuffer in, ProtocolDecoderOutput out) throws Exception
      Description copied from class: CumulativeProtocolDecoder
      Implement this method to consume the specified cumulative buffer and decode its content into message(s).
      Specified by:
      doDecode in class CumulativeProtocolDecoder
      Parameters:
      in - the cumulative buffer
      Returns:
      true if and only if there's more to decode in the buffer and you want to have doDecode method invoked again. Return false if remaining data is not enough to decode, then this method will be invoked again when more data is cumulated.
      Throws:
      Exception - if cannot decode in.