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§
Sourcefn register_logger(&self, logger: SqliteLogger)
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.
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§
Sourcefn canonical_path<'a>(&self, path: Cow<'a, str>) -> VfsResult<Cow<'a, str>>
fn canonical_path<'a>(&self, path: Cow<'a, str>) -> VfsResult<Cow<'a, str>>
construct a canonical version of the given path