Skip to main content

CompressionStrategy

Trait CompressionStrategy 

Source
pub trait CompressionStrategy {
    type Error: Error + Send + Sync + 'static;

    // Required methods
    fn compress(&mut self, data: &[u8]) -> Result<Vec<u8>, Self::Error>;
    fn decompress(&self, data: &[u8]) -> Result<Vec<u8>, Self::Error>;
    fn metadata(&self) -> CompressionMetadata;
    fn stats(&self) -> CompressionStats;
    fn reset(&mut self);
}
Expand description

A trait for compression algorithms that can compress and decompress data

Required Associated Types§

Source

type Error: Error + Send + Sync + 'static

The error type produced by this compression strategy

Required Methods§

Source

fn compress(&mut self, data: &[u8]) -> Result<Vec<u8>, Self::Error>

Compresses the input data

Source

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

Decompresses the input data

Source

fn metadata(&self) -> CompressionMetadata

Returns metadata about this compression algorithm

Source

fn stats(&self) -> CompressionStats

Returns the current compression statistics

Source

fn reset(&mut self)

Resets internal state (useful for stateful compressors)

Implementors§