pub trait VfsFile: Debug {
// Required methods
fn readonly(&self) -> bool;
fn in_memory(&self) -> bool;
fn lock(&mut self, level: LockLevel) -> Result<(), ErrCtx>;
fn unlock(&mut self, level: LockLevel) -> Result<(), ErrCtx>;
fn file_size(&mut self) -> Result<usize, ErrCtx>;
fn truncate(&mut self, size: usize) -> Result<(), ErrCtx>;
fn write(&mut self, offset: usize, data: &[u8]) -> Result<usize, ErrCtx>;
fn read(&mut self, offset: usize, data: &mut [u8]) -> Result<usize, ErrCtx>;
}Required Methods§
fn readonly(&self) -> bool
fn in_memory(&self) -> bool
fn lock(&mut self, level: LockLevel) -> Result<(), ErrCtx>
fn unlock(&mut self, level: LockLevel) -> Result<(), ErrCtx>
fn file_size(&mut self) -> Result<usize, ErrCtx>
fn truncate(&mut self, size: usize) -> Result<(), ErrCtx>
fn write(&mut self, offset: usize, data: &[u8]) -> Result<usize, ErrCtx>
fn read(&mut self, offset: usize, data: &mut [u8]) -> Result<usize, ErrCtx>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".