pub struct ZlibStreamDecoder<R: Read> { /* private fields */ }Expand description
Streaming Zlib 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.
Supports concatenated Zlib streams: each stream is decompressed independently and the results are concatenated.
Implementations§
Source§impl<R: Read> ZlibStreamDecoder<R>
impl<R: Read> ZlibStreamDecoder<R>
Sourcepub fn into_inner(self) -> R
pub fn into_inner(self) -> R
Consume the decoder and return the inner reader.
Sourcepub fn decompressed_size(&self) -> usize
pub fn decompressed_size(&self) -> usize
Returns the total number of decompressed bytes available.
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 ZlibStreamDecoder<R>
impl<R: Read> Read for ZlibStreamDecoder<R>
Source§fn 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 · 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 ZlibStreamDecoder<R>where
R: Freeze,
impl<R> RefUnwindSafe for ZlibStreamDecoder<R>where
R: RefUnwindSafe,
impl<R> Send for ZlibStreamDecoder<R>where
R: Send,
impl<R> Sync for ZlibStreamDecoder<R>where
R: Sync,
impl<R> Unpin for ZlibStreamDecoder<R>where
R: Unpin,
impl<R> UnsafeUnpin for ZlibStreamDecoder<R>where
R: UnsafeUnpin,
impl<R> UnwindSafe for ZlibStreamDecoder<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