Struct minicbor_io::AsyncWriter [−][src]
pub struct AsyncWriter<W> { /* fields omitted */ }
Expand description
Wraps an AsyncWrite
and writes length-delimited CBOR values.
Requires cargo feature "async-io"
.
Implementations
Create a new writer with a max. buffer size of 512KiB.
Set the max. buffer size in bytes.
If length values greater than this are encoded, an
Error::InvalidLen
will be returned.
Get a mutable reference to the inner writer.
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.
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.