Struct fdeflate::Decompressor

source ·
pub struct Decompressor { /* private fields */ }
Expand description

Decompressor for arbitrary zlib streams.

Implementations§

source§

impl Decompressor

source

pub fn new() -> Self

Create a new decompressor.

source

pub fn ignore_adler32(&mut self)

Ignore the checksum at the end of the stream.

source

pub fn read( &mut self, input: &[u8], output: &mut [u8], output_position: usize, end_of_input: bool ) -> Result<(usize, usize), DecompressionError>

Decompresses a chunk of data.

Returns the number of bytes read from input and the number of bytes written to output, or an error if the deflate stream is not valid. input is the compressed data. output is the buffer to write the decompressed data to, starting at index output_position. end_of_input indicates whether more data may be available in the future.

The contents of output after output_position are ignored. However, this function may write additional data to output past what is indicated by the return value.

When this function returns Ok, at least one of the following is true:

  • The input is fully consumed.
  • The output is full but there are more bytes to output.
  • The deflate stream is complete (and is_done will return true).
Panics

This function will panic if output_position is out of bounds.

source

pub fn is_done(&self) -> bool

Returns true if the decompressor has finished decompressing the input.

Trait Implementations§

source§

impl Default for Decompressor

source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.