Skip to main content

StreamingCompressor

Trait StreamingCompressor 

Source
pub trait StreamingCompressor {
    // Required methods
    fn algorithm(&self) -> Algorithm;
    fn begin(&mut self) -> Result<()>;
    fn compress_chunk(
        &mut self,
        input: &[u8],
        output: &mut [u8],
        flush: Flush,
    ) -> Result<(usize, usize)>;
    fn finish(&mut self, output: &mut [u8]) -> Result<usize>;
    fn reset(&mut self);
}
Expand description

Streaming compression for incremental processing.

Required Methods§

Source

fn algorithm(&self) -> Algorithm

Get the compression algorithm.

Source

fn begin(&mut self) -> Result<()>

Begin a new compression stream.

Source

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

Compress a chunk of data.

§Arguments
  • input - Data chunk to compress
  • output - Buffer for compressed output
  • flush - Flush mode (None, Sync, or Finish)
§Returns

Tuple of (bytes_read, bytes_written).

Source

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

Finish compression and flush remaining data.

§Arguments
  • output - Buffer for final compressed output
§Returns

Number of bytes written.

Source

fn reset(&mut self)

Reset compressor state for reuse.

Implementors§