Trait cache_loader_async::backing::CacheBacking
source · [−]pub trait CacheBacking<K, V>where
K: Eq + Hash + Sized + Clone + Send,
V: Sized + Clone + Send,{
type Meta: Clone + Send;
fn get_mut(&mut self, key: &K) -> Result<Option<&mut V>, BackingError>;
fn get(&mut self, key: &K) -> Result<Option<&V>, BackingError>;
fn set(
&mut self,
key: K,
value: V,
meta: Option<Self::Meta>
) -> Result<Option<V>, BackingError>;
fn remove(&mut self, key: &K) -> Result<Option<V>, BackingError>;
fn contains_key(&mut self, key: &K) -> Result<bool, BackingError>;
fn remove_if(
&mut self,
predicate: Box<dyn Fn((&K, &V)) -> bool + Send + Sync + 'static>
) -> Result<Vec<(K, V)>, BackingError>;
fn clear(&mut self) -> Result<(), BackingError>;
}
Required Associated Types
Required Methods
sourcefn set(
fn set(
&mut self,
key: K,
value: V,
meta: Option<Self::Meta>
) -> Result<Option<V>, BackingError>
source
fn contains_key(&mut self, key: &K) -> Result<bool, BackingError>
sourcefn remove_if(
fn remove_if(
&mut self,
predicate: Box<dyn Fn((&K, &V)) -> bool + Send + Sync + 'static>
) -> Result<Vec<(K, V)>, BackingError>
source