pub trait Cache {
type Item;
type Client;
// Required methods
async fn new() -> Self;
async fn get_con(&self) -> Self::Client;
async fn get(&self, id: Self::Item) -> Option<String>;
async fn set(&self, id: Self::Item, content: Self::Item) -> bool;
async fn update(&self, id: Self::Item, content: Self::Item) -> bool;
async fn remove(&self, id: Self::Item) -> bool;
async fn remove_starting_with(&self, id: Self::Item) -> bool;
async fn incr(&self, id: Self::Item) -> bool;
async fn decr(&self, id: Self::Item) -> bool;
}Expand description
A simple cache “database”.
Required Associated Types§
Required Methods§
Sourceasync fn set(&self, id: Self::Item, content: Self::Item) -> bool
async fn set(&self, id: Self::Item, content: Self::Item) -> bool
Set a cache object by its identifier and content
§Arguments
id-Stringof the object’s idcontent-Stringof the object’s content
Sourceasync fn update(&self, id: Self::Item, content: Self::Item) -> bool
async fn update(&self, id: Self::Item, content: Self::Item) -> bool
Update a cache object by its identifier and content
§Arguments
id-Stringof the object’s idcontent-Stringof the object’s content
Sourceasync fn remove_starting_with(&self, id: Self::Item) -> bool
async fn remove_starting_with(&self, id: Self::Item) -> bool
Remove a cache object by its identifier(’s start)
§Arguments
id-Stringof the object’s id(’s start)
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.