Struct IntoStream
pub struct IntoStream<'d, W> { /* private fields */ }
A decoding stream sink.
See Decoder::into_stream on how to create this type.
Implementations
impl<'d, W: Write> IntoStream<'d, W>
fn decode(&mut self, read: impl BufRead) -> StreamResultDecode data from a reader.
This will read data until the stream is empty or an end marker is reached.
fn decode_all(self, read: impl BufRead) -> StreamResultDecode data from a reader, requiring an end marker.
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_bufferhas been called. The buffer is reused.Panics
This method panics if
sizeis0.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
writecalls each time the buffer has been filled.Panics
This method panics if the
bufferis 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) -> TReturns the argument unchanged.
impl<T, U> Into<U> for IntoStream<'d, W>
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses 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>