Package org.apache.cassandra.dht
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 TypeMethodDescriptiondeserialize(DataInput in, IPartitioner p, int version) Deserialize into the specified DataInputStream instance.voidserialize(T t, DataOutputPlus out, int version) Serialize the specified type into the specified DataOutputStream instance.longserializedSize(T t, int version) Calculate serialized size of object without actually serializing.
-
Method Details
-
serialize
Serialize the specified type into the specified DataOutputStream instance.- Parameters:
t- type that needs to be serializedout- DataOutput into which serialization needs to happen.version- protocol version- Throws:
IOException- if serialization fails
-
deserialize
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
Calculate serialized size of object without actually serializing.- Parameters:
t- object to calculate serialized sizeversion- protocol version- Returns:
- serialized size of object t
-