pub struct MerkleSearchTree<K: MerkleKey, V: MerkleValue> { /* private fields */ }Implementations§
Source§impl<K: MerkleKey, V: MerkleValue> MerkleSearchTree<K, V>
impl<K: MerkleKey, V: MerkleValue> MerkleSearchTree<K, V>
Sourcepub fn open<P: AsRef<Path>>(path: P) -> Result<Self>
pub fn open<P: AsRef<Path>>(path: P) -> Result<Self>
Opens or creates a file-backed Merkle Search Tree at the given path.
Sourcepub fn new_temporary() -> Result<Self>
pub fn new_temporary() -> Result<Self>
Creates a new MST backed by a temporary file.
Sourcepub fn load_from_root<P: AsRef<Path>>(
path: P,
root_offset: u64,
root_hash: Hash,
) -> Result<Self>
pub fn load_from_root<P: AsRef<Path>>( path: P, root_offset: u64, root_hash: Hash, ) -> Result<Self>
Loads a tree from a known root offset and hash.
Sourcepub fn insert(&mut self, key: K, value: V) -> Result<()>
pub fn insert(&mut self, key: K, value: V) -> Result<()>
Inserts a key-value pair into the tree, modifying it in-place.
Sourcepub fn get(&self, key: &K) -> Result<Option<V>>
pub fn get(&self, key: &K) -> Result<Option<V>>
Retrieves a value by key. Returns None if the key does not exist.
Sourcepub fn flush(&mut self) -> Result<(u64, Hash)>
pub fn flush(&mut self) -> Result<(u64, Hash)>
Persists any dirty nodes to disk and updates the root pointer.
pub fn root_hash(&self) -> Hash
Auto Trait Implementations§
impl<K, V> Freeze for MerkleSearchTree<K, V>
impl<K, V> RefUnwindSafe for MerkleSearchTree<K, V>where
V: RefUnwindSafe,
K: RefUnwindSafe,
impl<K, V> Send for MerkleSearchTree<K, V>
impl<K, V> Sync for MerkleSearchTree<K, V>
impl<K, V> Unpin for MerkleSearchTree<K, V>
impl<K, V> UnwindSafe for MerkleSearchTree<K, V>where
V: RefUnwindSafe,
K: RefUnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more