[][src]Trait hash_db::PlainDB

pub trait PlainDB<K, V>: Send + Sync + AsPlainDB<K, V> {
    fn get(&self, key: &K) -> Option<V>;
fn contains(&self, key: &K) -> bool;
fn emplace(&mut self, key: K, value: V);
fn remove(&mut self, key: &K); }

Trait modelling a plain datastore whose key is a fixed type. The caller should ensure that a key only corresponds to one value.

Required methods

fn get(&self, key: &K) -> Option<V>

Look up a given hash into the bytes that hash to it, returning None if the hash is not known.

fn contains(&self, key: &K) -> bool

Check for the existance of a hash-key.

fn emplace(&mut self, key: K, value: V)

Insert a datum item into the DB. Insertions are counted and the equivalent number of remove()s must be performed before the data is considered dead. The caller should ensure that a key only corresponds to one value.

fn remove(&mut self, key: &K)

Remove a datum previously inserted. Insertions can be "owed" such that the same number of insert()s may happen without the data being eventually being inserted into the DB. It can be "owed" more than once. The caller should ensure that a key only corresponds to one value.

Loading content...

Trait Implementations

impl<'a, K, V> PlainDBRef<K, V> for &'a dyn PlainDB<K, V>[src]

impl<'a, K, V> PlainDBRef<K, V> for &'a mut dyn PlainDB<K, V>[src]

impl<'a, K, V> AsPlainDB<K, V> for &'a mut dyn PlainDB<K, V>[src]

Implementors

Loading content...