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.
Implementations§
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 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,
    _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, _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,
    _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, _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,
    _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, _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.