Skip to main content

FileSystem

Trait FileSystem 

Source
pub trait FileSystem {
    // Required methods
    fn capabilities(&self) -> Capabilities;
    fn open_one(&mut self, request: &OpenRequest) -> VfResult<VfFile>;
    fn close_one(&mut self, file: &VfFile) -> VfResult<()>;
    fn sync_data(&mut self, file: &VfFile) -> VfResult<()>;
    fn sync_all(&mut self, file: &VfFile) -> VfResult<()>;
    fn read_one(&mut self, request: &ReadOp) -> VfResult<ReadResult>;
    fn write_one(&mut self, request: WriteOpRef<'_>) -> VfResult<WriteResult>;
    fn seek_one(&mut self, file: &VfFile, position: SeekFrom) -> VfResult<u64>;
    fn metadata(&mut self, query: MetadataQuery) -> VfResult<VfAttrs>;
    fn set_attributes(&mut self, update: SetAttributes) -> VfResult<()>;
}
Expand description

Core synchronous scalar filesystem operations.

Required Methods§

Source

fn capabilities(&self) -> Capabilities

Source

fn open_one(&mut self, request: &OpenRequest) -> VfResult<VfFile>

Source

fn close_one(&mut self, file: &VfFile) -> VfResult<()>

Source

fn sync_data(&mut self, file: &VfFile) -> VfResult<()>

Source

fn sync_all(&mut self, file: &VfFile) -> VfResult<()>

Source

fn read_one(&mut self, request: &ReadOp) -> VfResult<ReadResult>

Source

fn write_one(&mut self, request: WriteOpRef<'_>) -> VfResult<WriteResult>

Source

fn seek_one(&mut self, file: &VfFile, position: SeekFrom) -> VfResult<u64>

Source

fn metadata(&mut self, query: MetadataQuery) -> VfResult<VfAttrs>

Source

fn set_attributes(&mut self, update: SetAttributes) -> VfResult<()>

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<T: VecFs + ?Sized> FileSystem for T