[][src]Trait bm::MerkleDB

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

Traits for a merkle database.

Associated Types

type Digest: Digest

Hash function for merkle tree.

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

End value stored in this merkle database.

type Error

Error type for DB access.

Loading content...

Required methods

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

Get an internal item by key.

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

Rootify a key.

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

Unrootify a key.

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

Insert a new internal item.

Loading content...

Implementors

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

type Digest = D

type End = V

type Error = InMemoryMerkleDBError

Loading content...