Trait system_interface::fs::FileIoExt  
source · [−]pub trait FileIoExt: IoExt {
Show 16 methods
    fn advise(&self, offset: u64, len: u64, advice: Advice) -> Result<()>;
    fn allocate(&self, offset: u64, len: u64) -> Result<()>;
    fn read_at(&self, buf: &mut [u8], offset: u64) -> Result<usize>;
    fn read_exact_at(&self, buf: &mut [u8], offset: u64) -> Result<()>;
    fn read_to_end_at(&self, buf: &mut Vec<u8>, offset: u64) -> Result<usize>;
    fn read_to_string_at(&self, buf: &mut String, offset: u64) -> Result<usize>;
    fn write_at(&self, buf: &[u8], offset: u64) -> Result<usize>;
    fn write_all_at(&self, buf: &[u8], offset: u64) -> Result<()>;
    fn seek(&self, pos: SeekFrom) -> Result<u64>;
    fn stream_position(&self) -> Result<u64>;
    fn read_vectored_at(
        &self,
        bufs: &mut [IoSliceMut<'_>],
        offset: u64
    ) -> Result<usize> { ... }
    fn read_exact_vectored_at(
        &self,
        bufs: &mut [IoSliceMut<'_>],
        offset: u64
    ) -> Result<()> { ... }
    fn is_read_vectored_at(&self) -> bool { ... }
    fn write_vectored_at(
        &self,
        bufs: &[IoSlice<'_>],
        offset: u64
    ) -> Result<usize> { ... }
    fn write_all_vectored_at(
        &self,
        bufs: &mut [IoSlice<'_>],
        offset: u64
    ) -> Result<()> { ... }
    fn is_write_vectored_at(&self) -> bool { ... }
}Expand description
Extension trait for std::fs::File and cap_std::fs::File.
Required Methods
Announce the expected access pattern of the data at the given offset.
Allocate space in the file, increasing the file size as needed, and ensuring that there are no holes under the given range.
Reads a number of bytes starting from a given offset.
This is similar to std::os::unix::fs::FileExt::read_at, except it
takes self by immutable reference since the entire side effect is
I/O, and it’s supported on non-Unix platforms including Windows.
Reads the exact number of byte required to fill buf from the given offset.
This is similar to std::os::unix::fs::FileExt::read_exact_at,
except it takes self by immutable reference since the entire side
effect is I/O, and it’s supported on non-Unix platforms including
Windows.
Read all bytes, starting at offset, until EOF in this source, placing
them into buf.
Read all bytes, starting at offset, until EOF in this source,
appending them to buf.
Writes a number of bytes starting from a given offset.
This is similar to std::os::unix::fs::FileExt::write_at, except it
takes self by immutable reference since the entire side effect is
I/O, and it’s supported on non-Unix platforms including Windows.
Attempts to write an entire buffer starting from a given offset.
This is similar to std::os::unix::fs::FileExt::write_all_at, except
it takes self by immutable reference since the entire side effect is
I/O, and it’s supported on non-Unix platforms including Windows.
Seek to an offset, in bytes, in a stream.
This is similar to std::io::Seek::seek, except it takes self by
immutable reference since the entire side effect is I/O.
sourcefn stream_position(&self) -> Result<u64>
fn stream_position(&self) -> Result<u64>
Returns the current seek position from the start of the stream.
This is similar to std::io::Seek::stream_position, except it’s
available on Rust stable.
This may eventually be implemented by rust-lang/rust#62726.
Provided Methods
sourcefn read_vectored_at(
    &self,
    bufs: &mut [IoSliceMut<'_>],
    offset: u64
) -> Result<usize>
fn read_vectored_at(
    &self,
    bufs: &mut [IoSliceMut<'_>],
    offset: u64
) -> Result<usize>
Is to read_vectored what read_at is to read.
sourcefn read_exact_vectored_at(
    &self,
    bufs: &mut [IoSliceMut<'_>],
    offset: u64
) -> Result<()>
fn read_exact_vectored_at(
    &self,
    bufs: &mut [IoSliceMut<'_>],
    offset: u64
) -> Result<()>
Is to read_exact_vectored what read_exact_at is to read_exact.
sourcefn is_read_vectored_at(&self) -> bool
fn is_read_vectored_at(&self) -> bool
Determines if this Reader has an efficient read_vectored_at
implementation.
Is to write_vectored what write_at is to write.
Is to write_all_vectored what write_all_at is to write_all.
sourcefn is_write_vectored_at(&self) -> bool
fn is_write_vectored_at(&self) -> bool
Determines if this Writer has an efficient write_vectored_at
implementation.
Implementors
impl<T: AsFilelike + IoExt> FileIoExt for T
Implement FileIoExt for any type which implements AsRawFd.