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§
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<()>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".