Trait hash_db::PlainDB

source ·
pub trait PlainDB<K, V>: Send + Sync + AsPlainDB<K, V> {
    // Required methods
    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);
}
Expand description

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§

source

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.

source

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

Check for the existance of a hash-key.

source

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.

source

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.

Trait Implementations§

source§

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

source§

fn as_plain_db(&self) -> &dyn PlainDB<K, V>

Perform upcast to PlainDB for anything that derives from PlainDB.
source§

fn as_plain_db_mut<'b>(&'b mut self) -> &'b mut (dyn PlainDB<K, V> + 'b)

Perform mutable upcast to PlainDB for anything that derives from PlainDB.
source§

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

source§

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.
source§

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

Check for the existance of a hash-key.
source§

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

source§

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.
source§

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

Check for the existance of a hash-key.

Implementors§