pub struct IntoAsync<'d, W> { /* private fields */ }
Expand description
An async decoding sink.
See Encoder::into_async
on how to create this type.
Implementations§
source§impl<'d, W: AsyncWrite + Unpin> IntoAsync<'d, W>
impl<'d, W: AsyncWrite + Unpin> IntoAsync<'d, W>
sourcepub async fn encode(&mut self, read: impl AsyncBufRead) -> StreamResult
pub async fn encode(&mut self, read: impl AsyncBufRead) -> StreamResult
Encode data from a reader.
This will drain the supplied reader. It will not encode an end marker after all data has been processed.
sourcepub async fn encode_all(self, read: impl AsyncBufRead) -> StreamResult
pub async fn encode_all(self, read: impl AsyncBufRead) -> StreamResult
Encode data from a reader and an end marker.
sourcepub fn set_buffer_size(&mut self, size: usize)
pub fn set_buffer_size(&mut self, size: usize)
Set the size of the intermediate decode buffer.
A buffer of this size is allocated to hold one part of the decoded stream when no buffer is
available and any decoding method is called. No buffer is allocated if set_buffer
has
been called. The buffer is reused.
§Panics
This method panics if size
is 0
.
sourcepub fn set_buffer(&mut self, buffer: &'d mut [u8])
pub fn set_buffer(&mut self, buffer: &'d mut [u8])
Use a particular buffer as an intermediate decode buffer.
Calling this sets or replaces the buffer. When a buffer has been set then it is used
instead of dynamically allocating a buffer. Note that the size of the buffer is critical
for efficient decoding. Some optimization techniques require the buffer to hold one or more
previous decoded words. There is also additional overhead from write
calls each time the
buffer has been filled.
§Panics
This method panics if the buffer
is empty.