Interface IPartitionerDependentSerializer<T>

All Known Implementing Classes:
AbstractBounds.AbstractBoundsSerializer, PartitionPosition.RowPositionSerializer, Token.TokenSerializer

public interface IPartitionerDependentSerializer<T>
Versioned serializer where the serialization depends on partitioner. On serialization the partitioner is given by the entity being serialized. To deserialize the partitioner used must be known to the calling method.
  • Method Summary

    Modifier and Type
    Method
    Description
    deserialize(DataInput in, IPartitioner p, int version)
    Deserialize into the specified DataInputStream instance.
    void
    serialize(T t, DataOutputPlus out, int version)
    Serialize the specified type into the specified DataOutputStream instance.
    long
    serializedSize(T t, int version)
    Calculate serialized size of object without actually serializing.
  • Method Details

    • serialize

      void serialize(T t, DataOutputPlus out, int version) throws IOException
      Serialize the specified type into the specified DataOutputStream instance.
      Parameters:
      t - type that needs to be serialized
      out - DataOutput into which serialization needs to happen.
      version - protocol version
      Throws:
      IOException - if serialization fails
    • deserialize

      T deserialize(DataInput in, IPartitioner p, int version) throws IOException
      Deserialize into the specified DataInputStream instance.
      Parameters:
      in - DataInput from which deserialization needs to happen.
      p - Partitioner that will be used to construct tokens. Needs to match the partitioner that was used to serialize the token.
      version - protocol version
      Returns:
      the type that was deserialized
      Throws:
      IOException - if deserialization fails
    • serializedSize

      long serializedSize(T t, int version)
      Calculate serialized size of object without actually serializing.
      Parameters:
      t - object to calculate serialized size
      version - protocol version
      Returns:
      serialized size of object t