Encode and decode nodes from their binary format.
Node identifiers are assumed to fit into 64 bits.
Leaf node values are assumed to fit into 4 gibibytes.
Decode node of any type.
Decode an index node from its encoded byte string.
Decode a leaf node from its encoded byte string.
Encode a node of any type.
Encode an index node as a byte string.
Encode a leaf node as a byte string.
Return size of an index node with the given pairs.
Return size of a leaf node with the given pairs.
Return size of node that gets a new key/value pair added.
old_size is the old size of the node. The key must not already have existed in the node.
Return size of node that gets a value replaced.
Return number of index pairs that fit in a node of a given size.
Return encoded size of a node, regardless of type.