logo
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

Errors possible from this store.

Underlying store type.

Required Methods

handle returns the underlying store.

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.

Returns an optional value (may exist or not) as read through a transaction, or an error of the associated Self::Error variety.

Implementors