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>

source

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.

source

pub fn encode_all(self, read: impl BufRead) -> StreamResult

Encode data from a reader and an end marker.

source

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.

source

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.

source

fn encode_part(&mut self, read: impl BufRead, finish: bool) -> StreamResult

Auto Trait Implementations§

§

impl<'d, W> Freeze for IntoStream<'d, W>
where W: Freeze,

§

impl<'d, W> !RefUnwindSafe for IntoStream<'d, W>

§

impl<'d, W> Send for IntoStream<'d, W>
where W: Send,

§

impl<'d, W> !Sync for IntoStream<'d, W>

§

impl<'d, W> Unpin for IntoStream<'d, W>
where W: Unpin,

§

impl<'d, W> !UnwindSafe for IntoStream<'d, W>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.