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.
