Struct weezl::encode::IntoStream
source · pub struct IntoStream<'d, W> {
encoder: &'d mut Encoder,
writer: W,
buffer: Option<StreamBuf<'d>>,
default_size: usize,
}
Expand description
A encoding stream sink.
See Encoder::into_stream
on how to create this type.
Fields§
§encoder: &'d mut Encoder
§writer: W
§buffer: Option<StreamBuf<'d>>
§default_size: usize
Implementations§
source§impl<'d, W: Write> IntoStream<'d, W>
impl<'d, W: Write> IntoStream<'d, W>
sourcepub fn encode(&mut self, read: impl BufRead) -> StreamResult
pub fn encode(&mut self, read: impl BufRead) -> 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 fn encode_all(self, read: impl BufRead) -> StreamResult
pub fn encode_all(self, read: impl BufRead) -> 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 encode buffer.
A buffer of this size is allocated to hold one part of the encoded stream when no buffer is
available and any encoding 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 encode buffer.
Calling this sets or replaces the buffer. When a buffer has been set then it is used
instead of a dynamically allocating a buffer. Note that the size of the buffer is relevant
for efficient encoding as there is additional overhead from write
calls each time the
buffer has been filled.
§Panics
This method panics if the buffer
is empty.