[][src]Trait futures_util::io::AsyncWriteExt

pub trait AsyncWriteExt: AsyncWrite {
    fn flush(&mut self) -> Flush<Self> { ... }
fn close(&mut self) -> Close<Self> { ... }
fn write_all<'a>(&'a mut self, buf: &'a [u8]) -> WriteAll<'a, Self> { ... }
fn compat_write(self) -> Compat<Self>
    where
        Self: Sized
, { ... } }

An extension trait which adds utility methods to AsyncWrite types.

Provided Methods

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]);

Creates a future which will entirely close this AsyncWrite.

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]);
Important traits for Compat<W>

Wraps an AsyncWrite in a compatibility wrapper that allows it to be used as a futures 0.1 / tokio-io 0.1 AsyncWrite. Requires the io-compat feature to enable.

Implementors

impl<W: AsyncWrite + ?Sized> AsyncWriteExt for W
[src]

Important traits for Compat<W>