Skip to main content

FileSystem

Struct FileSystem 

Source
pub struct FileSystem { /* private fields */ }
Expand description

Application-facing synchronous filesystem facade.

§Examples

The example runs against an isolated in-memory fixture. Applications obtain their configured facade from a provider or registry integration.

use qubit_fs::Path;
use qubit_fs::read::ReadOptions;

let path = Path::parse("/report")?;
let bytes = filesystem.read_prefix(&path, ReadOptions::default(), 3)?;
assert_eq!(b"rep", bytes.bytes());

Implementations§

Source§

impl FileSystem

Source

pub fn from_spi<S>(spi: S) -> FsResult<Self>
where S: FileSystemSpi + 'static,

Constructs a facade and caches the provider’s single validated property snapshot.

Source

pub fn from_shared_spi(spi: Arc<dyn FileSystemSpi>) -> FsResult<Self>

Constructs a facade from a shared provider implementation.

Source

pub fn properties(&self) -> &FileSystemProperties

Returns the immutable property snapshot without provider I/O.

Source

pub fn validate_write( &self, path: &Path, options: &WriteOptions, ) -> FsResult<()>

Validates a write request without opening a provider session.

Source

pub fn assess_copy( &self, source: &Path, target: &Path, options: &CopyOptions, ) -> FsResult<CopyAssessment>

Assesses copy routes without performing provider I/O.

§Errors

Returns an invalid-options or requirement error when no provider or stream execution route can satisfy the request.

Source

pub fn stat(&self, path: &Path) -> FsResult<FileMetadata>

Reads metadata after all local validation succeeds.

§Errors

Returns the provider or validation error when path is invalid, the provider cannot stat it, or the provider returns a mismatched path.

Source

pub fn exists(&self, path: &Path) -> FsResult<bool>

Returns false only for an explicit not-found response.

§Errors

Returns the original filesystem error for validation, provider, or provider-contract failures other than NotFound.

Source

pub fn copy( &self, source: &Path, target: &Path, options: CopyOptions, ) -> Result<CopyOutcome, CopyFailure>

Copies source to target through an optional provider fast path and a safe stream fallback.

§Errors

Returns CopyFailure with a recovery state. A provider failure is never retried; only an explicit provider decline can select the facade’s allowlisted fallback.

Source

pub fn rename( &self, source: &Path, target: &Path, options: RenameOptions, ) -> Result<RenameOutcome, RenameFailure>

Renames one resource through exactly one provider rename primitive.

§Errors

Returns RenameFailure with the provider-confirmed transition state. This method never implements rename through copy and delete.

Source

pub fn list( &self, scope: &ListScope, options: ListOptions, ) -> FsResult<DirectoryStream>

Opens a provider directory stream after local option validation.

§Errors

Returns an invalid-options, missing-capability, or provider error when the scope or options cannot be served.

Source

pub fn open_reader( &self, path: &Path, options: ReadOptions, ) -> FsResult<FileReader>

Opens a provider reader after local option validation.

§Errors

Returns an invalid-path, unsupported-capability, provider, or provider-contract error when the reader cannot be opened safely.

Source

pub fn open_writer( &self, path: &Path, options: WriteOptions, ) -> Result<FileWriter, OpenFailure<RejectedWriter>>

Opens a provider writer after local option validation.

§Errors

Returns OpenFailure identifying preflight, provider-open, or provider-contract failure; a retained rejected writer is available when provider cleanup is required.

Source

pub fn create_temp_file( &self, options: TempOptions, ) -> Result<TempFile, OpenFailure<RejectedTempResource>>

Creates a temporary file and binds its provider session to this facade.

§Errors

Returns OpenFailure when preflight, provider creation, or temporary identity validation fails; the recovery value may retain cleanup work.

Source

pub fn create_temp_directory( &self, options: TempOptions, ) -> Result<TempDirectory, OpenFailure<RejectedTempResource>>

Creates a temporary directory and binds its provider session to this facade.

§Errors

Returns OpenFailure when preflight, provider creation, or temporary identity validation fails; the recovery value may retain cleanup work.

Source

pub fn create_directory( &self, path: &Path, options: CreateDirectoryOptions, ) -> FsResult<CreateDirectoryOutcome>

Creates a directory after local path validation.

§Errors

Returns an invalid-path, missing-capability, provider, or provider- contract error when the directory cannot be created as requested.

Source

pub fn delete_file( &self, path: &Path, options: DeleteOptions, ) -> FsResult<DeleteOutcome>

Deletes a file after local option validation.

§Errors

Returns an invalid-options, missing-capability, provider, or provider-contract error when deletion cannot be confirmed.

Source

pub fn delete_directory( &self, path: &Path, options: DeleteOptions, ) -> FsResult<DeleteOutcome>

Deletes a directory after local option validation.

§Errors

Returns an invalid-options, missing-capability, provider, or provider-contract error when deletion cannot be confirmed.

Source

pub fn read_all( &self, path: &Path, options: ReadOptions, max_bytes: usize, ) -> FsResult<Vec<u8>>

Reads one file into memory up to max_bytes after opening a reader.

The byte cap applies to bytes actually read, even when opened metadata overestimates the resource length.

§Errors

Returns the reader or read error when validation, opening, or bounded reading fails.

Source

pub fn read_prefix( &self, path: &Path, options: ReadOptions, max_bytes: usize, ) -> FsResult<PrefixReadOutcome>

Reads at most max_bytes from a file without requiring a complete read.

§Errors

Returns the reader or read error when validation, opening, or bounded reading fails.

Source

pub fn write_all( &self, path: &Path, bytes: &[u8], options: WriteOptions, ) -> Result<WriteOutcome, WriteAllFailure>

Writes all bytes and retains the writer if transfer or commit fails.

§Errors

Returns WriteAllFailure with the confirmed byte count and retained writer when validation, transfer, or publication fails.

Trait Implementations§

Source§

impl Clone for FileSystem

Source§

fn clone(&self) -> FileSystem

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.