Trait endr::StorageBackend
source · pub trait StorageBackend {
// Required methods
fn get_key<'a>(
&self,
key: &str
) -> Pin<Box<dyn Future<Output = Option<Vec<u8>>> + 'a>>;
fn set_key<'a>(
&self,
key: &str,
value: Vec<u8>
) -> Pin<Box<dyn Future<Output = ()> + 'a>>;
fn get_stream<'a>(
&self,
key: &str
) -> Pin<Box<dyn Stream<Item = Vec<u8>> + 'a>>;
fn append_to_stream<'a>(
&self,
key: &str,
value: Vec<u8>,
expected_offset: Option<usize>
) -> Pin<Box<dyn Future<Output = ()> + 'a>>;
fn clone_ref(&self) -> Box<dyn StorageBackend>;
}