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§fn remove<'life0, 'life1, 'async_trait>(
&'life0 self,
_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, _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§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.
Auto Trait Implementations§
impl !RefUnwindSafe for FsDataStore
impl Send for FsDataStore
impl Sync for FsDataStore
impl Unpin for FsDataStore
impl !UnwindSafe for FsDataStore
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere T: 'a,
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more