pub struct ZstdStreamDecoder<R: Read> { /* private fields */ }Expand description
Streaming Zstandard decoder that implements Read.
All compressed data is read eagerly from the inner reader on the first
read call, decompressed into an internal buffer, and then served from
that buffer for subsequent reads.
Implementations§
Source§impl<R: Read> ZstdStreamDecoder<R>
impl<R: Read> ZstdStreamDecoder<R>
Sourcepub fn with_dictionary(reader: R, dict: Vec<u8>) -> Self
pub fn with_dictionary(reader: R, dict: Vec<u8>) -> Self
Create a new streaming decoder with a dictionary.
Dictionary-based decompression requires the same dictionary that was used during compression.
Sourcepub fn decompressed_size(&self) -> usize
pub fn decompressed_size(&self) -> usize
Returns the total number of decompressed bytes available (including
bytes already consumed via read).
Sourcepub fn is_finished(&self) -> bool
pub fn is_finished(&self) -> bool
Returns true if all decompressed data has been read.
Trait Implementations§
Source§impl<R: Read> Read for ZstdStreamDecoder<R>
impl<R: Read> Read for ZstdStreamDecoder<R>
Source§fn read(&mut self, buf: &mut [u8]) -> Result<usize>
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
Read decompressed data into buf.
On the first call this eagerly decompresses the entire compressed stream from the inner reader. Subsequent calls serve from the buffer.
1.36.0 · Source§fn 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 moreSource§fn is_read_vectored(&self) -> bool
fn is_read_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector)1.0.0 · Source§fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
Reads all bytes until EOF in this source, placing them into
buf. Read more1.0.0 · Source§fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
Reads all bytes until EOF in this source, appending them to
buf. Read more1.6.0 · Source§fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
Reads the exact number of bytes required to fill
buf. Read moreSource§fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf)Pull some bytes from this source into the specified buffer. Read more
Source§fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf)Reads the exact number of bytes required to fill
cursor. Read more1.0.0 · Source§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
Creates a “by reference” adapter for this instance of
Read. Read more1.0.0 · Source§fn chain<R>(self, next: R) -> Chain<Self, R>
fn chain<R>(self, next: R) -> Chain<Self, R>
Creates an adapter which will chain this stream with another. Read more
Auto Trait Implementations§
impl<R> Freeze for ZstdStreamDecoder<R>where
R: Freeze,
impl<R> RefUnwindSafe for ZstdStreamDecoder<R>where
R: RefUnwindSafe,
impl<R> Send for ZstdStreamDecoder<R>where
R: Send,
impl<R> Sync for ZstdStreamDecoder<R>where
R: Sync,
impl<R> Unpin for ZstdStreamDecoder<R>where
R: Unpin,
impl<R> UnsafeUnpin for ZstdStreamDecoder<R>where
R: UnsafeUnpin,
impl<R> UnwindSafe for ZstdStreamDecoder<R>where
R: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more