pub struct Decoder<'a, R: BufRead> { /* private fields */ }
Expand description
A decoder that decompress input data from another Read
.
This allows to read a stream of compressed data (good for files or heavy network stream).
Implementations
sourceimpl<R: BufRead> Decoder<'static, R>
impl<R: BufRead> Decoder<'static, R>
sourcepub fn with_buffer(reader: R) -> Result<Self>
pub fn with_buffer(reader: R) -> Result<Self>
Creates a new decoder around a BufRead
.
sourceimpl<'a, R: BufRead> Decoder<'a, R>
impl<'a, R: BufRead> Decoder<'a, R>
sourcepub fn single_frame(self) -> Self
pub fn single_frame(self) -> Self
Sets this Decoder
to stop after the first frame.
By default, it keeps concatenating frames until EOF is reached.
sourcepub fn with_prepared_dictionary<'b>(
reader: R,
dictionary: &DecoderDictionary<'b>
) -> Result<Self> where
'b: 'a,
pub fn with_prepared_dictionary<'b>(
reader: R,
dictionary: &DecoderDictionary<'b>
) -> Result<Self> where
'b: 'a,
Creates a new decoder, using an existing DecoderDictionary
.
The dictionary must be the same as the one used during compression.
sourcepub fn recommended_output_size() -> usize
pub fn recommended_output_size() -> usize
Recommendation for the size of the output buffer.
sourcepub fn get_mut(&mut self) -> &mut R
pub fn get_mut(&mut self) -> &mut R
Acquire a mutable reference to the underlying reader.
Note that mutation of the reader may result in surprising results if this decoder is continued to be used.
sourcepub fn finish(self) -> R
pub fn finish(self) -> R
Return the inner Read
.
Calling finish()
is not required after reading a stream -
just use it if you need to get the Read
back.
sourcepub fn set_parameter(&mut self, parameter: DParameter) -> Result<()>
pub fn set_parameter(&mut self, parameter: DParameter) -> Result<()>
Sets a decompression parameter on the decompression stream.
sourcepub fn window_log_max(&mut self, log_distance: u32) -> Result<()>
pub fn window_log_max(&mut self, log_distance: u32) -> Result<()>
Sets the maximum back-reference distance.
The actual maximum distance is going to be 2^log_distance
.
This will need to at least match the value set when compressing.
Trait Implementations
sourceimpl<R: BufRead> Read for Decoder<'_, R>
impl<R: BufRead> Read for Decoder<'_, R>
sourcefn read(&mut self, buf: &mut [u8]) -> Result<usize>
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
Pull some bytes from this source into the specified buffer, returning how many bytes were read. Read more
1.36.0 · sourcefn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
Like read
, except that it reads into a slice of buffers. Read more
sourcefn is_read_vectored(&self) -> bool
fn is_read_vectored(&self) -> bool
can_vector
)Determines if this Read
er has an efficient read_vectored
implementation. Read more
1.0.0 · sourcefn read_to_end(&mut self, buf: &mut Vec<u8, Global>) -> Result<usize, Error>
fn read_to_end(&mut self, buf: &mut Vec<u8, Global>) -> Result<usize, Error>
Read all bytes until EOF in this source, placing them into buf
. Read more
1.0.0 · sourcefn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
Read all bytes until EOF in this source, appending them to buf
. Read more
1.6.0 · sourcefn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
Read the exact number of bytes required to fill buf
. Read more
sourcefn read_buf(&mut self, buf: &mut ReadBuf<'_>) -> Result<(), Error>
fn read_buf(&mut self, buf: &mut ReadBuf<'_>) -> Result<(), Error>
read_buf
)Pull some bytes from this source into the specified buffer. Read more
sourcefn read_buf_exact(&mut self, buf: &mut ReadBuf<'_>) -> Result<(), Error>
fn read_buf_exact(&mut self, buf: &mut ReadBuf<'_>) -> Result<(), Error>
read_buf
)Read the exact number of bytes required to fill buf
. Read more
1.0.0 · sourcefn by_ref(&mut self) -> &mut Self
fn by_ref(&mut self) -> &mut Self
Creates a “by reference” adaptor for this instance of Read
. Read more
Auto Trait Implementations
impl<'a, R> RefUnwindSafe for Decoder<'a, R> where
R: RefUnwindSafe,
impl<'a, R> Send for Decoder<'a, R> where
R: Send,
impl<'a, R> !Sync for Decoder<'a, R>
impl<'a, R> Unpin for Decoder<'a, R> where
R: Unpin,
impl<'a, R> UnwindSafe for Decoder<'a, R> where
R: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more