Struct rust_ipfs::repo::kv::KvDataStore
source · pub struct KvDataStore { /* private fields */ }
Expand description
sled
based pinstore implementation. Implements datastore which errors for each call.
Currently feature-gated behind sled_data_store
feature in the crate::Types
, usable
directly in custom type configurations.
Current schema is to use the the default tree for storing pins, which are serialized as
[get_pin_key
]. Depending on the kind of pin values are generated by [direct_value
],
[recursive_value
], and [indirect_value
].
Trait Implementations§
source§impl DataStore for KvDataStore
impl DataStore for KvDataStore
source§fn contains<'life0, 'life1, 'async_trait>(
&'life0 self,
_col: Column,
_key: &'life1 [u8]
) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn contains<'life0, 'life1, 'async_trait>(
&'life0 self,
_col: Column,
_key: &'life1 [u8]
) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Checks if a key is present in the datastore.
source§fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
_col: Column,
_key: &'life1 [u8]
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
_col: Column,
_key: &'life1 [u8]
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Returns the value associated with a key from the datastore.
source§fn put<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_col: Column,
_key: &'life1 [u8],
_value: &'life2 [u8]
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn put<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_col: Column,
_key: &'life1 [u8],
_value: &'life2 [u8]
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Puts the value under the key in the datastore.
source§fn remove<'life0, 'life1, 'async_trait>(
&'life0 self,
_col: Column,
_key: &'life1 [u8]
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn remove<'life0, 'life1, 'async_trait>(
&'life0 self,
_col: Column,
_key: &'life1 [u8]
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Removes a key-value pair from the datastore.
source§fn wipe<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn wipe<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Wipes the datastore.
fn new(root: PathBuf) -> KvDataStore
fn init<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn open<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
source§impl Debug for KvDataStore
impl Debug for KvDataStore
source§impl PinStore for KvDataStore
impl PinStore for KvDataStore
fn is_pinned<'life0, 'life1, 'async_trait>(
&'life0 self,
cid: &'life1 Cid
) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn insert_direct_pin<'life0, 'life1, 'async_trait>(
&'life0 self,
target: &'life1 Cid
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn insert_recursive_pin<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
target: &'life1 Cid,
referenced: BoxStream<'life2, Result<Cid, IpldRefsError>>
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn remove_direct_pin<'life0, 'life1, 'async_trait>(
&'life0 self,
target: &'life1 Cid
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn remove_recursive_pin<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
target: &'life1 Cid,
referenced: BoxStream<'life2, Result<Cid, IpldRefsError>>
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn list<'life0, 'async_trait>(
&'life0 self,
requirement: Option<PinMode>
) -> Pin<Box<dyn Future<Output = BoxStream<'static, Result<(Cid, PinMode), Error>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
source§fn query<'life0, 'async_trait>(
&'life0 self,
ids: Vec<Cid>,
requirement: Option<PinMode>
) -> Pin<Box<dyn Future<Output = Result<Vec<(Cid, PinKind<Cid>)>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn query<'life0, 'async_trait>(
&'life0 self,
ids: Vec<Cid>,
requirement: Option<PinMode>
) -> Pin<Box<dyn Future<Output = Result<Vec<(Cid, PinKind<Cid>)>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns error if any of the ids isn’t pinned in the required type, otherwise returns
the pin details if all of the cids are pinned in one way or the another.