Struct IntoStream

pub struct IntoStream<'d, W> { /* private fields */ }

A encoding stream sink.

See Encoder::into_stream on how to create this type.

Implementations

impl<'d, W: Write> IntoStream<'d, W>

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.

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

Encode data from a reader and an end marker.

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.

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.

Auto Trait Implementations

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

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

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

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

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

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

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

Blanket Implementations

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

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for IntoStream<'d, W> where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for IntoStream<'d, W> where T: ?Sized,

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

impl<T> From<T> for IntoStream<'d, W>

fn from(t: T) -> T

Returns the argument unchanged.

impl<T, U> Into<U> for IntoStream<'d, W> where U: From<T>,

fn into(self) -> U

Calls U::from(self).

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

impl<T, U> TryFrom<U> for IntoStream<'d, W> where U: Into<T>,

type Error = never;
fn try_from(value: U) -> Result<T, never>

impl<T, U> TryInto<U> for IntoStream<'d, W> where U: TryFrom<T>,

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