pub struct StdFs;Expand description
ReadStorage over the process filesystem (std::fs).
Reads only. The matching Storage implementation — everything that changes
a byte — is prov-store’s, so this adapter is writable exactly when that
crate is in the dependency graph.
The trait is async so that genuinely async backends (network, OPFS) fit;
this adapter’s futures are immediately ready, so any executor — including
the dependency-free crate::exec::block_on — drives them to completion
in a single poll.
Trait Implementations§
impl Copy for StdFs
Source§impl ReadStorage for StdFs
impl ReadStorage for StdFs
Source§async fn read(&self, path: &Path) -> Result<Vec<u8>, Error>
async fn read(&self, path: &Path) -> Result<Vec<u8>, Error>
Read the entire contents of a file as bytes. Mirrors
std::fs::read.Source§async fn read_to_string(&self, path: &Path) -> Result<String, Error>
async fn read_to_string(&self, path: &Path) -> Result<String, Error>
Read the entire contents of a file as a string. Mirrors
std::fs::read_to_string.Source§async fn read_dir(&self, path: &Path) -> Result<Vec<DirEntry>, Error>
async fn read_dir(&self, path: &Path) -> Result<Vec<DirEntry>, Error>
Return the entries in a directory (non-recursive). Mirrors
std::fs::read_dir, but yields a Vec since async iterators are not
yet stable.Source§impl Storage for StdFs
impl Storage for StdFs
Source§async fn write(&self, path: &Path, contents: &[u8]) -> Result<()>
async fn write(&self, path: &Path, contents: &[u8]) -> Result<()>
Write a file, replacing it if it already exists. Mirrors
std::fs::write.Source§async fn create_dir_all(&self, path: &Path) -> Result<()>
async fn create_dir_all(&self, path: &Path) -> Result<()>
Create a directory and all missing parents. Mirrors
std::fs::create_dir_all.Source§async fn remove_file(&self, path: &Path) -> Result<()>
async fn remove_file(&self, path: &Path) -> Result<()>
Remove a regular file. Mirrors
std::fs::remove_file.Source§async fn remove_dir_all(&self, path: &Path) -> Result<()>
async fn remove_dir_all(&self, path: &Path) -> Result<()>
Recursively remove a directory and its contents. Mirrors
std::fs::remove_dir_all.Source§async fn rename(&self, from: &Path, to: &Path) -> Result<()>
async fn rename(&self, from: &Path, to: &Path) -> Result<()>
Rename or move a file or directory. Mirrors
std::fs::rename.Source§fn capabilities(&self) -> Capabilities
fn capabilities(&self) -> Capabilities
What durability guarantees this backend can make. Defaults to
Capabilities::NONE — a backend promises a guarantee only by saying so,
so an adapter that forgets to override this degrades to the most defensive
path rather than to a false promise.Source§fn write_atomic(
&self,
path: &Path,
contents: &[u8],
) -> impl Future<Output = Result<()>>
fn write_atomic( &self, path: &Path, contents: &[u8], ) -> impl Future<Output = Result<()>>
Replace
path’s contents with contents atomically and durably: no
observer — concurrent reader or post-crash survivor — ever sees a splice
of old and new bytes, and once this returns the new contents outlive a
power loss. Read moreAuto Trait Implementations§
impl Freeze for StdFs
impl RefUnwindSafe for StdFs
impl Send for StdFs
impl Sync for StdFs
impl Unpin for StdFs
impl UnsafeUnpin for StdFs
impl UnwindSafe for StdFs
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