Trait layered_io::WriteLayered[][src]

pub trait WriteLayered: Write + Bufferable {
    fn close(&mut self) -> Result<()>;

    fn flush_with_status(&mut self, status: Status) -> Result<()> { ... }
}
Expand description

An extension of std::io::Write, but adds a close function to allow the stream to be closed and any outstanding errors to be reported, without requiring a sync_all.

Required methods

Flush any buffers and declare the end of the stream. Subsequent writes will fail.

Provided methods

Like Write::flush, but has a status parameter describing the future of the stream:

  • Status::Ok(Activity::Active): do nothing
  • Status::Ok(Activity::Push): flush any buffers and transmit all data
  • Status::End: flush any buffers and declare the end of the stream

Passing Status::Ok(Activity::Push) makes this behave the same as flush().

Implementations on Foreign Types

Implementors