Store

Trait Store 

Source
pub trait Store<V> {
    // Required methods
    fn get_branch(&self, node: &H256) -> Result<Option<BranchNode>, Error>;
    fn get_leaf(&self, leaf_hash: &H256) -> Result<Option<LeafNode<V>>, Error>;
    fn insert_branch(
        &mut self,
        node: H256,
        branch: BranchNode,
    ) -> Result<(), Error>;
    fn insert_leaf(
        &mut self,
        leaf_hash: H256,
        leaf: LeafNode<V>,
    ) -> Result<(), Error>;
    fn remove_branch(&mut self, node: &H256) -> Result<(), Error>;
    fn remove_leaf(&mut self, leaf_hash: &H256) -> Result<(), Error>;
}
Expand description

Trait for customize backend storage

Required Methods§

Source

fn get_branch(&self, node: &H256) -> Result<Option<BranchNode>, Error>

Source

fn get_leaf(&self, leaf_hash: &H256) -> Result<Option<LeafNode<V>>, Error>

Source

fn insert_branch(&mut self, node: H256, branch: BranchNode) -> Result<(), Error>

Source

fn insert_leaf( &mut self, leaf_hash: H256, leaf: LeafNode<V>, ) -> Result<(), Error>

Source

fn remove_branch(&mut self, node: &H256) -> Result<(), Error>

Source

fn remove_leaf(&mut self, leaf_hash: &H256) -> Result<(), Error>

Implementors§

Source§

impl<V: Clone> Store<V> for DefaultStore<V>