Package org.apache.cassandra.io.tries
Interface SerializationNode<VALUE>
public interface SerializationNode<VALUE>
An abstraction of a node given to the trie serializer to write.
-
Method Summary
Modifier and TypeMethodDescriptionintThe number of children of the node.longmaxPositionDelta(long nodePosition) Returns the furthest distance that needs to be written to store this node, i.e.payload()The payload of the node if the node has any associated, otherwise null.longserializedPositionDelta(int i, long nodePosition) Returns the distance between this node's position and the child at index i.inttransition(int i) The transition character for the child at position i.
-
Method Details
-
childCount
int childCount()The number of children of the node. -
payload
VALUE payload()The payload of the node if the node has any associated, otherwise null. -
transition
int transition(int i) The transition character for the child at position i. Must be an integer between 0 and 255. -
serializedPositionDelta
long serializedPositionDelta(int i, long nodePosition) Returns the distance between this node's position and the child at index i. Given as a difference calculation to be able to handle two different types of calls: - writing nodes where all children's positions are already completely determined - sizing and writing branches within a page where we don't know where we'll actually place the nodes, but we know how far backward the child nodes will end up -
maxPositionDelta
long maxPositionDelta(long nodePosition) Returns the furthest distance that needs to be written to store this node, i.e. min(serializedPositionDelta(i, nodePosition) for 0 <= i < childCount()) Given separately as the loop above can be inefficient (e.g. when children are not yet written).
-