pub trait Storage:
Send
+ Sync
+ Debug {
// Required methods
fn get<'a>(
&'a self,
namespace: &'a str,
key: &'a str,
) -> StorageFuture<'a, Option<Vec<u8>>>;
fn put<'a>(
&'a self,
namespace: &'a str,
key: &'a str,
value: Vec<u8>,
) -> StorageFuture<'a, ()>;
fn delete<'a>(
&'a self,
namespace: &'a str,
key: &'a str,
) -> StorageFuture<'a, ()>;
fn list_keys<'a>(
&'a self,
namespace: &'a str,
prefix: &'a str,
) -> StorageFuture<'a, Vec<String>>;
}