Node codecs¶
-
exception
larch.codec.
CodecError
(msg)¶
-
class
larch.codec.
NodeCodec
(key_bytes)¶ 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
(encoded)¶ Decode node of any type.
-
decode_index
(encoded)¶ Decode an index node from its encoded byte string.
-
decode_leaf
(encoded)¶ Decode a leaf node from its encoded byte string.
-
encode
(node)¶ Encode a node of any type.
-
encode_index
(node)¶ Encode an index node as a byte string.
-
encode_leaf
(node)¶ Encode a leaf node as a byte string.
-
format
= 1¶
-
index_size
(keys, values)¶ Return size of an index node with the given pairs.
-
leaf_size
(keys, values)¶ Return size of a leaf node with the given pairs.
-
leaf_size_delta_add
(old_size, value)¶ 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.
-
leaf_size_delta_replace
(old_size, old_value, new_value)¶ Return size of node that gets a value replaced.
-
max_index_pairs
(node_size)¶ Return number of index pairs that fit in a node of a given size.
-
size
(node)¶ Return encoded size of a node, regardless of type.
-