Consensus parameter is only configurable in test mode.
CowNodeRef facilities access and modification to trie nodes in multi-version
MPT. It offers read-only access to the original trie node, and creates an
unique owned trie node once there is any modification. The ownership is
maintained centralized in owned_node_set which is passed into many methods
as argument. When CowNodeRef is created from an owned node, the ownership is
transferred into the CowNodeRef object. The visitor of MPT makes sure that
ownership of any trie node is not transferred more than once at the same
time.
A node consists of an optional compressed path (concept of Patricia
Trie), an optional ChildrenTable (if the node is intermediate), an
optional value attached, and the Merkle hash for subtree.
The MSB is used to indicate if a node is in mem or on disk,
the rest 31 bits specifies the index of the node in the
memory region.
A container to store information about owned nodes.
Pre-allocated storage for a uniform data type.
The modified slab offers thread-safety without giant lock by mimicking the
behavior of independent pointer at best.