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§
sourcefn get(&self, key: &K) -> Option<V>
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.
sourcefn emplace(&mut self, key: K, value: V)
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.
sourcefn remove(&mut self, key: &K)
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>
impl<'a, K, V> AsPlainDB<K, V> for &'a mut dyn PlainDB<K, V>
source§fn as_plain_db(&self) -> &dyn PlainDB<K, V>
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)
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.