pub trait Store<T>: Send + Sync{
type Error;
type Key;
Show 13 methods
// Required methods
fn open(&self) -> Result<(), Self::Error>;
fn put(&self, item: Arc<T>) -> Result<Self::Key, Self::Error>;
fn put_multiple(&self, items: Vec<T>) -> Result<Self::Key, Self::Error>;
fn put_raw(&self, data: &[u8]) -> Result<Self::Key, Self::Error>;
fn get(&self, key: &Self::Key) -> Result<T, Self::Error>;
fn get_multiple(&self, key: &Self::Key) -> Result<Vec<T>, Self::Error>;
fn get_raw(&self, key: &Self::Key) -> Result<Vec<u8>, Self::Error>;
fn del(&self, key: &Self::Key) -> Result<(), Self::Error>;
fn delete(&self) -> Result<(), Self::Error>;
fn list(&self) -> Vec<Self::Key>;
fn len(&self) -> usize;
fn is_empty(&self) -> bool;
fn boxed_clone(
&self,
) -> Box<dyn Store<T, Error = Self::Error, Key = Self::Key> + Send + Sync>;
}Expand description
Trait for a store that can store and retrieve items of type T
Required Associated Types§
Required Methods§
Sourcefn put_multiple(&self, items: Vec<T>) -> Result<Self::Key, Self::Error>
fn put_multiple(&self, items: Vec<T>) -> Result<Self::Key, Self::Error>
Stores multiple items in a single batch
Sourcefn put_raw(&self, data: &[u8]) -> Result<Self::Key, Self::Error>
fn put_raw(&self, data: &[u8]) -> Result<Self::Key, Self::Error>
Stores raw bytes in a single entry.
Sourcefn get_multiple(&self, key: &Self::Key) -> Result<Vec<T>, Self::Error>
fn get_multiple(&self, key: &Self::Key) -> Result<Vec<T>, Self::Error>
Retrieves multiple items by key
Sourcefn get_raw(&self, key: &Self::Key) -> Result<Vec<u8>, Self::Error>
fn get_raw(&self, key: &Self::Key) -> Result<Vec<u8>, Self::Error>
Retrieves the raw bytes stored for a key.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".