Skip to main content

Compressor

Trait Compressor 

Source
pub trait Compressor {
    // Required methods
    fn algorithm(&self) -> Algorithm;
    fn level(&self) -> CompressionLevel;
    fn compress(&self, input: &[u8]) -> Result<Vec<u8>>;
    fn compress_to(&self, input: &[u8], output: &mut [u8]) -> Result<usize>;
    fn max_compressed_size(&self, input_len: usize) -> usize;

    // Provided method
    fn stats(&self) -> Option<CompressionStats> { ... }
}
Expand description

One-shot compression operations.

Required Methods§

Source

fn algorithm(&self) -> Algorithm

Get the compression algorithm.

Source

fn level(&self) -> CompressionLevel

Get the configured compression level.

Source

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

Compress data in one shot.

§Arguments
  • input - Data to compress
§Returns

Compressed data as a vector.

Source

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

Compress data into existing buffer.

§Arguments
  • input - Data to compress
  • output - Buffer to write compressed data
§Returns

Number of bytes written to output.

Source

fn max_compressed_size(&self, input_len: usize) -> usize

Calculate maximum compressed size for input length. Useful for pre-allocating output buffers.

Provided Methods§

Source

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

Get compression statistics after operation.

Implementors§