[−][src]Trait futures::io::AsyncWriteExt
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,
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 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,
Self: Unpin,
Creates a future which will entirely close this AsyncWrite
.
ⓘImportant traits for Write<'_, W>fn write(&'a mut self, buf: &'a [u8]) -> Write<'a, Self> where
Self: Unpin,
Self: Unpin,
Creates a future which will write bytes from buf
into the object.
The returned future will resolve to the number of bytes written once the write operation is completed.
ⓘImportant traits for WriteVectored<'_, W>fn write_vectored(
&'a mut self,
bufs: &'a [IoSlice<'a>]
) -> WriteVectored<'a, Self> where
Self: Unpin,
&'a mut self,
bufs: &'a [IoSlice<'a>]
) -> WriteVectored<'a, Self> where
Self: Unpin,
Creates a future which will write bytes from bufs
into the object using vectored
IO operations.
The returned future will resolve to the number of bytes written once the write operation is completed.
ⓘImportant traits for WriteAll<'_, W>fn write_all(&'a mut self, buf: &'a [u8]) -> WriteAll<'a, Self> where
Self: Unpin,
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]);
ⓘImportant traits for Compat<R>fn compat_write(self) -> Compat<Self> where
Self: Unpin,
Self: Unpin,
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.
fn into_sink<Item>(self) -> IntoSink<Self, Item> where
Item: AsRef<[u8]>,
Item: AsRef<[u8]>,
Allow using an AsyncWrite
as a Sink
<Item: AsRef<[u8]>>
.
This adapter produces a sink that will write each value passed to it into the underlying writer.
Note that this function consumes the given writer, returning a wrapped version.
Examples
#![feature(async_await)] use futures::io::AsyncWriteExt; use futures::stream::{self, StreamExt}; let stream = stream::iter(vec![Ok([1, 2, 3]), Ok([4, 5, 6])]); let mut writer = vec![]; stream.forward((&mut writer).into_sink()).await?; assert_eq!(writer, vec![1, 2, 3, 4, 5, 6]);
Implementors
impl<W> AsyncWriteExt for W where
W: AsyncWrite + ?Sized,
[src]
W: AsyncWrite + ?Sized,