Trait dbcomprs::Compressor

source ·
pub trait Compressor {
    type Error: Error;

    // Required methods
    fn compress_to(
        src: &[u8],
        dst: &mut [u8],
        cmp: Compression
    ) -> Result<usize, Self::Error>;
    fn compress_into_vec(
        src: &[u8],
        cmp: Compression
    ) -> Result<Vec<u8>, Self::Error>;
    fn decompress_to(
        src: &[u8],
        dst: &mut [u8],
        cmp: Compression
    ) -> Result<usize, Self::Error>;
    fn decompress_into_vec(
        src: &[u8],
        cmp: Compression
    ) -> Result<Vec<u8>, Self::Error>;
    fn max_compressed_size(src: &[u8], cmp: Compression) -> usize;

    // Provided methods
    fn compress_into_bytes(
        src: &[u8],
        cmp: Compression
    ) -> Result<Bytes, Self::Error> { ... }
    fn decompress_into_bytes(
        src: &[u8],
        cmp: Compression
    ) -> Result<Bytes, Self::Error> { ... }
}
Expand description

Compression/Decompression trait

Required Associated Types§

source

type Error: Error

Compression/Decompression Error

Required Methods§

source

fn compress_to( src: &[u8], dst: &mut [u8], cmp: Compression ) -> Result<usize, Self::Error>

Compresses the given data into the given output buffer, returning the number of bytes written.

source

fn compress_into_vec( src: &[u8], cmp: Compression ) -> Result<Vec<u8>, Self::Error>

Compresses the given data into a new vector.

source

fn decompress_to( src: &[u8], dst: &mut [u8], cmp: Compression ) -> Result<usize, Self::Error>

Decompresses the given data into the given output buffer, returning the number of bytes written.

source

fn decompress_into_vec( src: &[u8], cmp: Compression ) -> Result<Vec<u8>, Self::Error>

Decompresses the given data into a new vector.

source

fn max_compressed_size(src: &[u8], cmp: Compression) -> usize

Returns the maximum size of the compressed data according to the compression algorithm and src size.

Provided Methods§

source

fn compress_into_bytes( src: &[u8], cmp: Compression ) -> Result<Bytes, Self::Error>

Compresses the given data into a new bytes::Bytes.

source

fn decompress_into_bytes( src: &[u8], cmp: Compression ) -> Result<Bytes, Self::Error>

Decompresses the given data into a new bytes::Bytes.

Implementors§