Skip to main content

Decompressor

Trait Decompressor 

Source
pub trait Decompressor {
    // Required methods
    fn algorithm(&self) -> Algorithm;
    fn decompress(&self, input: &[u8]) -> Result<Vec<u8>>;
    fn decompress_to(&self, input: &[u8], output: &mut [u8]) -> Result<usize>;

    // Provided methods
    fn decompress_with_size(
        &self,
        input: &[u8],
        output_size: usize,
    ) -> Result<Vec<u8>> { ... }
    fn stats(&self) -> Option<CompressionStats> { ... }
}
Expand description

One-shot decompression operations.

Required Methods§

Source

fn algorithm(&self) -> Algorithm

Get the decompression algorithm.

Source

fn decompress(&self, input: &[u8]) -> Result<Vec<u8>>

Decompress data in one shot.

§Arguments
  • input - Compressed data
§Returns

Decompressed data as a vector.

Source

fn decompress_to(&self, input: &[u8], output: &mut [u8]) -> Result<usize>

Decompress data into existing buffer.

§Arguments
  • input - Compressed data
  • output - Buffer to write decompressed data
§Returns

Number of bytes written to output.

Provided Methods§

Source

fn decompress_with_size( &self, input: &[u8], output_size: usize, ) -> Result<Vec<u8>>

Decompress with known output size (more efficient).

Source

fn stats(&self) -> Option<CompressionStats>

Get decompression statistics after operation.

Implementors§