[][src]Trait futures::io::AsyncWriteExt

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

An extension trait which adds utility methods to AsyncWrite types.

Provided methods

Important traits for Flush<'_, W>
fn flush(&mut self) -> Flush<Self> where
    Self: Unpin

Creates a future which will entirely flush this AsyncWrite.

Examples

#![feature(async_await)]
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));
    buffered.write_all(&[1, 2]).await?;
    buffered.write_all(&[3, 4]).await?;
    buffered.flush().await?;
}

assert_eq!(output, [1, 2, 3, 4, 0]);

Important traits for Close<'_, W>
fn close(&mut self) -> Close<Self> where
    Self: Unpin

Creates a future which will entirely close this AsyncWrite.

Important traits for WriteAll<'_, W>
fn write_all(&'a mut self, buf: &'a [u8]) -> WriteAll<'a, Self> where
    Self: Unpin

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)]
use futures::io::AsyncWriteExt;
use std::io::Cursor;

let mut writer = Cursor::new([0u8; 5]);

writer.write_all(&[1, 2, 3, 4]).await?;

assert_eq!(writer.into_inner(), [1, 2, 3, 4, 0]);
Loading content...

Implementors

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

Important traits for Flush<'_, W>
fn flush(&mut self) -> Flush<Self> where
    Self: Unpin
[src]

Important traits for Close<'_, W>
fn close(&mut self) -> Close<Self> where
    Self: Unpin
[src]

Important traits for WriteAll<'_, W>
fn write_all(&'a mut self, buf: &'a [u8]) -> WriteAll<'a, Self> where
    Self: Unpin
[src]

Loading content...