Skip to main content

Decompressor

Struct Decompressor 

Source
pub struct Decompressor { /* private fields */ }
Expand description

Reusable decompression context. Holds no configuration: every call states its limit.

Implementations§

Source§

impl Decompressor

Source

pub fn new() -> Decompressor

Creates a decompression context (its predefined tables are built here).

Source

pub fn decompress( &mut self, src: &[u8], dict: Option<&DecoderDictionary>, max_output: usize, out: &mut Vec<u8>, ) -> Result<usize>

Decodes every frame in src (skipping skippable frames), appending to out. Fails with OutputLimit before out would grow past max_output bytes in total. Returns the number of bytes appended. Like the reference, empty input is zero frames.

Source

pub fn decompress_format( &mut self, format: FrameFormat, src: &[u8], dict: Option<&DecoderDictionary>, max_output: usize, out: &mut Vec<u8>, ) -> Result<usize>

Like Decompressor::decompress for frames in format (magicless frames are concatenated without magic numbers and cannot include skippable frames).

Source

pub fn decompress_frame( &mut self, src: &[u8], dict: Option<&DecoderDictionary>, limit: usize, out: &mut Vec<u8>, ) -> Result<usize>

Decodes one frame (or skips one skippable frame) at the start of src, appending to out without letting it exceed limit bytes. Returns bytes consumed.

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>,

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

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

Source§

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.