Trait Compression

Source
pub trait Compression {
    // Required methods
    fn compress_bound(origin_len: usize) -> usize;
    fn compress(src: &[u8], dest: &mut [u8]) -> Result<usize>;
    fn decompress(src: &[u8], dest: &mut [u8]) -> Result<usize>;
}
Expand description

A trait for different compress method

Required Methods§

Source

fn compress_bound(origin_len: usize) -> usize

Estimate the upper bound of buffer size needed

Source

fn compress(src: &[u8], dest: &mut [u8]) -> Result<usize>

On success, return the size of compressed data.

Arguments:

  • src: original data
Source

fn decompress(src: &[u8], dest: &mut [u8]) -> Result<usize>

On success, return the size of decompressed data.

Arguments:

  • src: compressed data

  • dest: output buffer for decompressed data

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§