pub trait Store<K, V> {
type Error: From<Error>;
type Handle;
fn handle(&self) -> Self::Handle;
fn get<T>(&self, txn: &T, key: &K) -> Result<Option<V>, Self::Error>
where
T: Readable<Handle = Self::Handle>,
K: ToBytes,
V: FromBytes,
Self::Error: From<T::Error>,
{ ... }
fn put<T>(&self, txn: &mut T, key: &K, value: &V) -> Result<(), Self::Error>
where
T: Writable<Handle = Self::Handle>,
K: ToBytes,
V: ToBytes,
Self::Error: From<T::Error>,
{ ... }
fn get_raw<T>(&self, txn: &T, key: &K) -> Result<Option<Bytes>, Self::Error>
where
T: Readable<Handle = Self::Handle>,
K: AsRef<[u8]>,
Self::Error: From<T::Error>,
{ ... }
}
Expand description
Store is responsible for abstracting get
and put
operations over the underlying store
specified by its associated Handle
type.
Required Associated Types
Required Methods
Provided Methods
Returns an optional value (may exist or not) as read through a transaction, or an error
of the associated Self::Error
variety.
Puts a value
into the store at key
within a transaction, potentially returning an
error of type Self::Error
if that fails.