Struct minicbor_io::AsyncWriter
source · [−]pub struct AsyncWriter<W> { /* private fields */ }
Expand description
Wraps an AsyncWrite
and writes length-delimited CBOR values.
Requires cargo feature "async-io"
.
Implementations
sourceimpl<W> AsyncWriter<W>
impl<W> AsyncWriter<W>
sourcepub fn with_buffer(writer: W, buffer: Vec<u8>) -> Self
pub fn with_buffer(writer: W, buffer: Vec<u8>) -> Self
Create a new writer with a max. buffer size of 512KiB.
sourcepub fn set_max_len(&mut self, val: u32)
pub fn set_max_len(&mut self, val: u32)
Set the max. buffer size in bytes.
If length values greater than this are encoded, an
Error::InvalidLen
will be returned.
sourcepub fn writer_mut(&mut self) -> &mut W
pub fn writer_mut(&mut self) -> &mut W
Get a mutable reference to the inner writer.
sourceimpl<W: AsyncWrite + Unpin> AsyncWriter<W>
impl<W: AsyncWrite + Unpin> AsyncWriter<W>
sourcepub async fn write<T: Encode>(&mut self, val: T) -> Result<usize, Error>
pub async fn write<T: Encode>(&mut self, val: T) -> Result<usize, Error>
Encode and write a CBOR value and return its size in bytes.
The value will be preceded by a u32
(4 bytes in network byte order),
denoting the length of bytes constituting the serialised value.
Cancellation
If the future returned by AsyncWriter::write
is dropped while still
pending, subsequent calls to AsyncWriter::write
will discard any
buffered data and instead encode, buffer and commit the new value.
Cancelling a future thus cancels the transfer. However, it is also
possible to resume the transfer by calling AsyncWriter::sync
after cancellation, which is normally called implicitly by this method.
sourcepub async fn sync(&mut self) -> Result<(), Error>
pub async fn sync(&mut self) -> Result<(), Error>
Commit any buffered data to the inner AsyncWrite
.
This method is implicitly called by AsyncWriter::write
. The only
reason to call it explicitly is to resume the write operation started
by a previously unfinished, i.e. cancelled, AsyncWriter::write
call.
Trait Implementations
Auto Trait Implementations
impl<W> RefUnwindSafe for AsyncWriter<W> where
W: RefUnwindSafe,
impl<W> Send for AsyncWriter<W> where
W: Send,
impl<W> Sync for AsyncWriter<W> where
W: Sync,
impl<W> Unpin for AsyncWriter<W> where
W: Unpin,
impl<W> UnwindSafe for AsyncWriter<W> where
W: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more