[−][src]Struct inflate::DeflateDecoder
A DEFLATE decoder/decompressor.
This structure implements a Read
interface and takes a stream of compressed data that
implements the Read
trait as input,
provoding the decompressed data when read from.
Example
use std::io::Read; use inflate::DeflateDecoder; const TEST_STRING: &'static str = "Hello, world"; let encoded = vec![243, 72, 205, 201, 201, 215, 81, 40, 207, 47, 202, 73, 1, 0]; let mut decoder = DeflateDecoder::new(&encoded[..]); let mut output = Vec::new(); let status = decoder.read_to_end(&mut output); assert_eq!(String::from_utf8(output).unwrap(), TEST_STRING);
Methods
impl<R: Read> DeflateDecoder<R>
[src]
ⓘImportant traits for DeflateDecoder<R>pub fn new(reader: R) -> DeflateDecoder<R>
[src]
Create a new Deflatedecoderbuf
to read from a raw deflate stream.
ⓘImportant traits for DeflateDecoder<R>pub fn from_zlib(reader: R) -> DeflateDecoder<R>
[src]
Create a new DeflateDecoderbuf
that reads from a zlib wrapped deflate stream.
ⓘImportant traits for DeflateDecoder<R>pub fn from_zlib_no_checksum(reader: R) -> DeflateDecoder<R>
[src]
Create a new DeflateDecoderbuf
that reads from a zlib wrapped deflate stream.
without calculating and validating the checksum.
pub fn reset(&mut self, r: R) -> R
[src]
Resets the decompressor, and replaces the current inner BufRead
instance by r
.
without doing any extra reallocations.
Note that this function doesn't ensure that all data has been output.
pub fn get_ref(&self) -> &R
[src]
Returns a reference to the underlying reader.
pub fn get_mut(&mut self) -> &mut R
[src]
Returns a mutable reference to the underlying reader.
Note that mutation of the reader may cause surprising results if the decoder is going to keep being used.
pub fn into_inner(self) -> R
[src]
Returns the total number of bytes output from this decoder.
impl<R> DeflateDecoder<R>
[src]
pub fn reset_data(&mut self)
[src]
Resets the decoder, but continue to read from the same reader.
Note that this function doesn't ensure that all data has been output.
pub fn total_in(&self) -> u64
[src]
Returns the total bytes read from the underlying reader.
pub fn total_out(&self) -> u64
[src]
Returns the total number of bytes output from this decoder.
pub fn current_checksum(&self) -> u32
[src]
Returns the calculated checksum value of the currently decoded data.
Will return 0 for cases where the checksum is not validated.
Trait Implementations
impl<R: Read> Read for DeflateDecoder<R>
[src]
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
[src]
fn read_vectored(&mut self, bufs: &mut [IoSliceMut]) -> Result<usize, Error>
1.36.0[src]
unsafe fn initializer(&self) -> Initializer
[src]
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
1.0.0[src]
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
1.0.0[src]
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
1.6.0[src]
fn by_ref(&mut self) -> &mut Self
1.0.0[src]
fn bytes(self) -> Bytes<Self>
1.0.0[src]
fn chain<R>(self, next: R) -> Chain<Self, R> where
R: Read,
1.0.0[src]
R: Read,
fn take(self, limit: u64) -> Take<Self>
1.0.0[src]
Auto Trait Implementations
impl<R> Send for DeflateDecoder<R> where
R: Send,
R: Send,
impl<R> Unpin for DeflateDecoder<R> where
R: Unpin,
R: Unpin,
impl<R> Sync for DeflateDecoder<R> where
R: Sync,
R: Sync,
impl<R> UnwindSafe for DeflateDecoder<R> where
R: UnwindSafe,
R: UnwindSafe,
impl<R> RefUnwindSafe for DeflateDecoder<R> where
R: RefUnwindSafe,
R: RefUnwindSafe,
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,