[][src]Trait io::PosWrite

pub trait PosWrite<T: Copy>: Write<T> {
    fn pwrite(&mut self, buf: &[T], pos: usize) -> Result<usize, Self::Err> { ... }
fn pwritev(&mut self, bufs: &[&[T]], pos: usize) -> Result<usize, Self::Err> { ... }
fn pwrite_all(
        &mut self,
        buf: &[T],
        pos: usize
    ) -> Result<(), (Self::Err, usize)>
    where
        Self::Err: From<EndOfFile>
, { ... } }

Provided methods

fn pwrite(&mut self, buf: &[T], pos: usize) -> Result<usize, Self::Err>

w.pwrite(buf, pos) = w.pritev(&[buf], pos)

fn pwritev(&mut self, bufs: &[&[T]], pos: usize) -> Result<usize, Self::Err>

Push some data, at most bufs.fold(0, |n, buf| n+buf.len()), to this sink at given position from given buffers; return how many data were actually written, or a failure. May block if no data can be written when called.

If this returns 0 data written, the possibilities are these:

  • bufs.all(|buf| buf.len() == 0)
  • The writer reached some end, and can unlikely consume further bytes, at least temporarily.

fn pwrite_all(
    &mut self,
    buf: &[T],
    pos: usize
) -> Result<(), (Self::Err, usize)> where
    Self::Err: From<EndOfFile>, 

Push buf.len() data to this sink at given position from given buffer; return () if so many data were actually written, or a failure and how many data were written before the failure.

Loading content...

Implementors

Loading content...