Crate cfx_storage

Source

Re-exports§

pub use self::state::State as StorageState;
pub use self::state::StateTrait as StorageStateTrait;
pub use self::state::StateTraitExt as StorageStateTraitExt;
pub use self::state_manager::StateIndex;
pub use self::state_manager::StateManager as StorageManager;
pub use self::state_manager::StateManagerTrait as StorageManagerTrait;
pub use self::storage_db::KeyValueDbTrait;
pub use crate::tests::FakeSnapshotMptDb as SimpleMpt;

Modules§

cache
cache_manager_delta_mpts
cow_node_ref
defaults
delta_mpt_iterator
delta_mpt_open_db_manager
state
state_manager
storage_db
storage_dir
subtrie_visitor
tests
utils

Structs§

ArcDeltaDbWrapper
AtomicCommit
AtomicCommitTransaction
CompressedPathRaw
ConsensusParam
Consensus parameter is only configurable in test mode.
CowNodeRef
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.
DeltaMptIdGen
DeltaMptIterator
FullSyncVerifier
KvdbRocksdb
KvdbSqlite
KvdbSqliteStatements
MaybeNodeRefDeltaMptCompact
MemOptimizedTrieNode
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.
MptSlicer
MultiVersionMerklePatriciaTrie
NodeMerkleProof
NodeRefDeltaMptCompact
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.
OpenDeltaDbLru
OwnedNodeSet
A container to store information about owned nodes.
RecordingStorage
ReplicatedState
Slab
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.
SnapshotDbManagerSqlite
SqliteConnection
StateProof
StateProofMerger
StorageConfiguration
SubTrieVisitor
TrieProof
TrieProofNode
VanillaChildrenTable

Enums§

Error
NodeRefDeltaMpt
ProvideExtraSnapshotSyncConfig

Constants§

DEFAULT_NODE_MAP_SIZE

Traits§

KVInserter
Classes implement KVInserter is used to store key-values in MPT iteration.
OpenableOnDemandOpenDeltaDbTrait

Functions§

into_simple_mpt_key
Given an integer-indexed SimpleMpt with num_keys elements stored in it, convert key into the corresponding key format.
make_simple_mpt
rlp_key_value_len
We assume that the keys and values are serialized in separate vector, therefore we only add up those rlp string lengths. The rlp bytes for the up-most structures are ignored for sync slicer.
simple_mpt_merkle_root
simple_mpt_proof

Type Aliases§

ChildrenTableDeltaMpt
ChildrenTableManagedDeltaMpt
CompactNodeRef
DeltaMpt
MptKeyValue
Result
StorageRootProof
TrieNodeDeltaMpt
TrieNodeDeltaMptCell