[][src]Trait bm::MerkleDB

pub trait MerkleDB: Default {
type Digest: Digest;
type Value: AsRef<[u8]> + Clone + Default;
    fn get(
        &self,
        key: &IntermediateOf<Self>
    ) -> Option<(ValueOf<Self>, ValueOf<Self>)>;
fn rootify(&mut self, key: &IntermediateOf<Self>);
fn unrootify(&mut self, key: &IntermediateOf<Self>);
fn insert(
        &mut self,
        key: IntermediateOf<Self>,
        value: (ValueOf<Self>, ValueOf<Self>)
    ); }

Traits for a merkle database.

Associated Types

type Digest: Digest

Hash function for merkle tree.

type Value: AsRef<[u8]> + Clone + Default

End value stored in this merkle database.

Loading content...

Required methods

fn get(
    &self,
    key: &IntermediateOf<Self>
) -> Option<(ValueOf<Self>, ValueOf<Self>)>

Get an internal item by key.

fn rootify(&mut self, key: &IntermediateOf<Self>)

Rootify a key.

fn unrootify(&mut self, key: &IntermediateOf<Self>)

Unrootify a key.

fn insert(
    &mut self,
    key: IntermediateOf<Self>,
    value: (ValueOf<Self>, ValueOf<Self>)
)

Insert a new internal item.

Loading content...

Implementors

impl<D: Digest, T: AsRef<[u8]> + Clone + Default> MerkleDB for InMemoryMerkleDB<D, T>[src]

type Digest = D

type Value = T

Loading content...