Trait slings::AsyncWriteExt [−][src]
pub trait AsyncWriteExt: AsyncWrite { fn flush(&mut self) -> Flush<'_, Self>
where
Self: Unpin, { ... } fn close(&mut self) -> Close<'_, Self>
where
Self: Unpin, { ... } fn write(&'a mut self, buf: &'a [u8]) -> Write<'a, Self>
where
Self: Unpin, { ... } fn write_vectored(
&'a mut self,
bufs: &'a [IoSlice<'a>]
) -> WriteVectored<'a, Self>
where
Self: Unpin, { ... } fn write_all(&'a mut self, buf: &'a [u8]) -> WriteAll<'a, Self>
where
Self: Unpin, { ... } }
Expand description
An extension trait which adds utility methods to AsyncWrite
types.
Provided methods
Creates a future which will entirely flush this AsyncWrite
.
Examples
use futures::io::{AllowStdIo, AsyncWriteExt}; use std::io::{BufWriter, Cursor}; let mut output = vec![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]);
Creates a future which will entirely close this AsyncWrite
.
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.
fn write_vectored(
&'a mut self,
bufs: &'a [IoSlice<'a>]
) -> WriteVectored<'a, Self> where
Self: Unpin,
fn write_vectored(
&'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.
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
use futures::io::{AsyncWriteExt, Cursor}; let mut writer = Cursor::new(vec![0u8; 5]); writer.write_all(&[1, 2, 3, 4]).await?; assert_eq!(writer.into_inner(), [1, 2, 3, 4, 0]);