cap_primitives::fs

Trait FileExt

Source
pub trait FileExt {
    // Required methods
    fn read_at(&self, buf: &mut [u8], offset: u64) -> Result<usize>;
    fn write_at(&self, buf: &[u8], offset: u64) -> Result<usize>;

    // Provided methods
    fn read_vectored_at(
        &self,
        bufs: &mut [IoSliceMut<'_>],
        offset: u64,
    ) -> Result<usize> { ... }
    fn read_exact_at(&self, buf: &mut [u8], offset: u64) -> Result<()> { ... }
    fn write_vectored_at(
        &self,
        bufs: &[IoSlice<'_>],
        offset: u64,
    ) -> Result<usize> { ... }
    fn write_all_at(&self, buf: &[u8], offset: u64) -> Result<()> { ... }
}
Expand description

Unix-specific extensions to [fs::File].

Required Methods§

Source

fn read_at(&self, buf: &mut [u8], offset: u64) -> Result<usize>

Reads a number of bytes starting from a given offset.

Source

fn write_at(&self, buf: &[u8], offset: u64) -> Result<usize>

Writes a number of bytes starting from a given offset.

Provided Methods§

Source

fn read_vectored_at( &self, bufs: &mut [IoSliceMut<'_>], offset: u64, ) -> Result<usize>

Like read_at, except that it reads into a slice of buffers.

Source

fn read_exact_at(&self, buf: &mut [u8], offset: u64) -> Result<()>

Reads the exact number of bytes required to fill buf from the given offset.

Source

fn write_vectored_at(&self, bufs: &[IoSlice<'_>], offset: u64) -> Result<usize>

Like write_at, except that it writes from a slice of buffers.

Source

fn write_all_at(&self, buf: &[u8], offset: u64) -> Result<()>

Attempts to write an entire buffer starting from a given offset.

Implementors§