[−][src]Trait futures::io::AsyncWriteExt
pub trait AsyncWriteExt: AsyncWrite { fn flush(&mut self) -> Flush<Self> { ... } fn close(&mut self) -> Close<Self> { ... } fn write_all(&'a mut self, buf: &'a [u8]) -> WriteAll<'a, Self> { ... } }
An extension trait which adds utility methods to AsyncWrite
types.
Provided Methods
fn flush(&mut self) -> Flush<Self>
Creates a future which will entirely flush this AsyncWrite
.
Examples
#![feature(async_await, await_macro, futures_api)] use futures::io::{AllowStdIo, AsyncWriteExt}; use std::io::{BufWriter, Cursor}; let mut output = [0u8; 5]; { let mut writer = Cursor::new(&mut output[..]); let mut buffered = AllowStdIo::new(BufWriter::new(writer)); await!(buffered.write_all(&[1, 2]))?; await!(buffered.write_all(&[3, 4]))?; await!(buffered.flush())?; } assert_eq!(output, [1, 2, 3, 4, 0]);
fn close(&mut self) -> Close<Self>
Creates a future which will entirely close this AsyncWrite
.
fn write_all(&'a mut self, buf: &'a [u8]) -> WriteAll<'a, Self>
Write data into this object.
Creates a future that will write the entire contents of the buffer buf
into
this AsyncWrite
.
The returned future will not complete until all the data has been written.
Examples
#![feature(async_await, await_macro, futures_api)] use futures::io::AsyncWriteExt; use std::io::Cursor; let mut writer = Cursor::new([0u8; 5]); await!(writer.write_all(&[1, 2, 3, 4]))?; assert_eq!(writer.into_inner(), [1, 2, 3, 4, 0]);
Implementors
impl<W> AsyncWriteExt for W where
W: AsyncWrite + ?Sized,