pub trait Write: Io {
    fn write(&mut self, buf: &[u8]) -> Result<usize, Self::Error>;
    fn flush(&mut self) -> Result<(), Self::Error>;

    fn write_all(&mut self, buf: &[u8]) -> Result<(), Self::Error> { ... }
    fn write_fmt(
        &mut self,
        fmt: Arguments<'_>
    ) -> Result<(), WriteFmtError<Self::Error>> { ... } }
Expand description

Blocking writer.

Semantics are the same as std::io::Write, check its documentation for details.

Required Methods§

Write a buffer into this writer, returning how many bytes were written.

Flush this output stream, ensuring that all intermediately buffered contents reach their destination.

Provided Methods§

Write an entire buffer into this writer.

Write a formatted string into this writer, returning any error encountered.

Implementations on Foreign Types§

Write is implemented for &mut [u8] by copying into the slice, overwriting its data.

Note that writing updates the slice to point to the yet unwritten part. The slice will be empty when it has been completely overwritten.

If the number of bytes to be written exceeds the size of the slice, write operations will return short writes: ultimately, Ok(0); in this situation, write_all returns an error of kind ErrorKind::WriteZero.

Implementors§