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.