pub struct FsStore { /* private fields */ }Expand description
Filesystem-backed object store.
Objects are stored in a two-level directory structure:
objects/<prefix>/<cid>
Implementations§
Source§impl FsStore
impl FsStore
Sourcepub fn new(root: impl Into<Utf8PathBuf>) -> Result<Self>
pub fn new(root: impl Into<Utf8PathBuf>) -> Result<Self>
Creates a new filesystem store at the given path.
Creates the directory if it doesn’t exist.
Sourcepub fn root(&self) -> &Utf8PathBuf
pub fn root(&self) -> &Utf8PathBuf
Returns the root directory path of this store.
Sourcepub fn object_path(root: &Path, cid_str: &str) -> PathBuf
pub fn object_path(root: &Path, cid_str: &str) -> PathBuf
Compute the filesystem path for a CID string within an objects directory.
Layout: <root>/<first-2-chars>/<full-cid-string>
This is the canonical path scheme for void object storage.
Used by FsStore, CliBlockStore, and the daemon files command.
Auto Trait Implementations§
impl Freeze for FsStore
impl RefUnwindSafe for FsStore
impl Send for FsStore
impl Sync for FsStore
impl Unpin for FsStore
impl UnsafeUnpin for FsStore
impl UnwindSafe for FsStore
Blanket Implementations§
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> ObjectStoreExt for Twhere
T: ObjectStore + ?Sized,
impl<T> ObjectStoreExt for Twhere
T: ObjectStore + ?Sized,
Source§fn put_blob<B>(&self, blob: &B) -> Result<VoidCid, VoidError>where
B: EncryptedBlob,
fn put_blob<B>(&self, blob: &B) -> Result<VoidCid, VoidError>where
B: EncryptedBlob,
Store a typed encrypted blob, returning its CID.
Source§fn get_blob<B>(&self, cid: &VoidCid) -> Result<B, VoidError>where
B: EncryptedBlob,
fn get_blob<B>(&self, cid: &VoidCid) -> Result<B, VoidError>where
B: EncryptedBlob,
Retrieve a typed encrypted blob by CID. Read more
Source§fn get_blob_verified<B>(&self, cid: &VoidCid) -> Result<B, VoidError>where
B: EncryptedBlob,
fn get_blob_verified<B>(&self, cid: &VoidCid) -> Result<B, VoidError>where
B: EncryptedBlob,
Retrieve a typed encrypted blob with CID hash verification. Read more