Trait Vfs

Source
pub trait Vfs: Send + Sync {
    type Handle: VfsHandle;

Show 16 methods // Required methods fn register_logger(&self, logger: SqliteLogger); fn open( &self, path: Option<&str>, opts: OpenOpts, ) -> VfsResult<Self::Handle>; fn delete(&self, path: &str) -> VfsResult<()>; fn access(&self, path: &str, flags: AccessFlags) -> VfsResult<bool>; fn file_size(&self, handle: &mut Self::Handle) -> VfsResult<usize>; fn truncate(&self, handle: &mut Self::Handle, size: usize) -> VfsResult<()>; fn write( &self, handle: &mut Self::Handle, offset: usize, data: &[u8], ) -> VfsResult<usize>; fn read( &self, handle: &mut Self::Handle, offset: usize, data: &mut [u8], ) -> VfsResult<usize>; fn close(&self, handle: Self::Handle) -> VfsResult<()>; // Provided methods fn canonical_path<'a>(&self, path: Cow<'a, str>) -> VfsResult<Cow<'a, str>> { ... } fn lock(&self, handle: &mut Self::Handle, level: LockLevel) -> VfsResult<()> { ... } fn unlock( &self, handle: &mut Self::Handle, level: LockLevel, ) -> VfsResult<()> { ... } fn sync(&self, handle: &mut Self::Handle) -> VfsResult<()> { ... } fn pragma( &self, handle: &mut Self::Handle, pragma: Pragma<'_>, ) -> Result<Option<String>, PragmaErr> { ... } fn sector_size(&self) -> i32 { ... } fn device_characteristics(&self) -> i32 { ... }
}

Required Associated Types§

Required Methods§

Source

fn register_logger(&self, logger: SqliteLogger)

Register the provided logger with this Vfs. This function is guaranteed to only be called once per register_{static,dynamic} call.

Source

fn open(&self, path: Option<&str>, opts: OpenOpts) -> VfsResult<Self::Handle>

Source

fn delete(&self, path: &str) -> VfsResult<()>

Source

fn access(&self, path: &str, flags: AccessFlags) -> VfsResult<bool>

Source

fn file_size(&self, handle: &mut Self::Handle) -> VfsResult<usize>

Source

fn truncate(&self, handle: &mut Self::Handle, size: usize) -> VfsResult<()>

Source

fn write( &self, handle: &mut Self::Handle, offset: usize, data: &[u8], ) -> VfsResult<usize>

Source

fn read( &self, handle: &mut Self::Handle, offset: usize, data: &mut [u8], ) -> VfsResult<usize>

Source

fn close(&self, handle: Self::Handle) -> VfsResult<()>

Provided Methods§

Source

fn canonical_path<'a>(&self, path: Cow<'a, str>) -> VfsResult<Cow<'a, str>>

construct a canonical version of the given path

Source

fn lock(&self, handle: &mut Self::Handle, level: LockLevel) -> VfsResult<()>

Source

fn unlock(&self, handle: &mut Self::Handle, level: LockLevel) -> VfsResult<()>

Source

fn sync(&self, handle: &mut Self::Handle) -> VfsResult<()>

Source

fn pragma( &self, handle: &mut Self::Handle, pragma: Pragma<'_>, ) -> Result<Option<String>, PragmaErr>

Source

fn sector_size(&self) -> i32

Source

fn device_characteristics(&self) -> i32

Implementors§