Skip to main content

File

Trait File 

Source
pub trait File: Send + Sync {
    // Required methods
    fn lock_file(&self, exclusive: bool) -> Result<()>;
    fn unlock_file(&self) -> Result<()>;
    fn pread(&self, pos: usize, c: Arc<Completion>) -> Result<()>;
    fn pwrite(
        &self,
        pos: usize,
        buffer: Arc<RefCell<Buffer>>,
        c: Arc<Completion>,
    ) -> Result<()>;
    fn sync(&self, c: Arc<Completion>) -> Result<()>;
    fn size(&self) -> Result<u64>;
    fn truncate(&self, len: usize, c: Arc<Completion>) -> Result<()>;
}

Required Methods§

Source

fn lock_file(&self, exclusive: bool) -> Result<()>

Source

fn unlock_file(&self) -> Result<()>

Source

fn pread(&self, pos: usize, c: Arc<Completion>) -> Result<()>

Source

fn pwrite( &self, pos: usize, buffer: Arc<RefCell<Buffer>>, c: Arc<Completion>, ) -> Result<()>

Source

fn sync(&self, c: Arc<Completion>) -> Result<()>

Source

fn size(&self) -> Result<u64>

Source

fn truncate(&self, len: usize, c: Arc<Completion>) -> Result<()>

Truncate the file to len bytes. Used to reset the WAL to empty after a checkpoint in Truncate/Restart mode.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementations on Foreign Types§

Source§

impl File for VfsFileImpl

Source§

fn lock_file(&self, exclusive: bool) -> Result<()>

Source§

fn unlock_file(&self) -> Result<()>

Source§

fn pread(&self, pos: usize, c: Arc<Completion>) -> Result<()>

Source§

fn pwrite( &self, pos: usize, buffer: Arc<RefCell<Buffer>>, c: Arc<Completion>, ) -> Result<()>

Source§

fn sync(&self, c: Arc<Completion>) -> Result<()>

Source§

fn size(&self) -> Result<u64>

Source§

fn truncate(&self, _len: usize, c: Arc<Completion>) -> Result<()>

Implementors§