Struct diny_core::util::AsyncSliceWriter [−][src]
pub struct AsyncSliceWriter<'b> { /* fields omitted */ }
Expand description
Writes asynchronously to a slice of bytes, without attempting to allocate more memory if a write is attempted past the end of the slice.
Should a write be attempted past the end of the slice without any remaining space, an error of WriteZero will be returned.
Examples
use futures::{AsyncWriteExt, executor};
use diny_core::util::AsyncSliceWriter;
let send = [7u8; 5];
let mut buff = [0u8; 7];
let mut writer = AsyncSliceWriter::from(&mut buff[..]);
executor::block_on(writer.write(&send));
assert_eq!(send, writer.as_written());
The written bytes can then be easily retrieved by using an AsyncSliceReader
use futures::AsyncReadExt;
use diny_core::util::AsyncSliceReader;
let mut recv = [0u8; 5];
let mut reader = AsyncSliceReader::from(&writer);
executor::block_on(reader.read(&mut recv));
assert_eq!(send, recv);
Implementations
Instantiates a new async reader that implements AsyncWrite over the provided slice.
Returns the number of bytes that have been written so far into the provided slice.
Returns a read-only slice of the data that has been written so far into the provided slice.
Trait Implementations
Performs the conversion.
Auto Trait Implementations
impl<'b> RefUnwindSafe for AsyncSliceWriter<'b>
impl<'b> Send for AsyncSliceWriter<'b>
impl<'b> Sync for AsyncSliceWriter<'b>
impl<'b> Unpin for AsyncSliceWriter<'b>
impl<'b> !UnwindSafe for AsyncSliceWriter<'b>
Blanket Implementations
Creates a future which will entirely flush this AsyncWrite
. Read more
Creates a future which will entirely close this AsyncWrite
.
Creates a future which will write bytes from buf
into the object. Read more
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. Read more
Write data into this object. Read more
Mutably borrows from an owned value. Read more