Struct rust_ipfs::repo::fs::FsDataStore
source · pub struct FsDataStore { /* private fields */ }
Expand description
FsDataStore which uses the filesystem as a lockable key-value store. Maintains a similar to
FsBlockStore
sharded two level storage. Direct have empty files, recursive pins record all of
their indirect descendants. Pin files are separated by their file extensions.
When modifying, single lock is used.
For the crate::repo::PinStore
implementation see fs/pinstore.rs
.
Trait Implementations§
source§impl DataStore for FsDataStore
impl DataStore for FsDataStore
The column operations are all unimplemented pending at least downscoping of the DataStore trait itself.
fn new(root: PathBuf) -> Self
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§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§impl Debug for FsDataStore
impl Debug for FsDataStore
source§impl PinStore for FsDataStore
impl PinStore for FsDataStore
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, __arg2: 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.