Trait ICompressor

Source
pub trait ICompressor {
    // Required methods
    fn level(&self) -> usize;
    fn set_level(&mut self, level: usize);
    fn try_compress(
        &mut self,
        buf: &[u8],
        preallocated: &mut Vec<u8>,
    ) -> Result<NonZeroUsize, CompressError>;
    fn supported_levels(&self) -> RangeInclusive<usize>;
}
Expand description

Interface for the compressor.

Required Methods§

Source

fn level(&self) -> usize

Get compression level of this compressor.

Source

fn set_level(&mut self, level: usize)

Set compression level of this compressor.

Source

fn try_compress( &mut self, buf: &[u8], preallocated: &mut Vec<u8>, ) -> Result<NonZeroUsize, CompressError>

Tries to compress buffer buf to the preallocated Vec.

Maximum compressed size is assumed to be Vec::capacity.

Source

fn supported_levels(&self) -> RangeInclusive<usize>

Get backend’s supported compression levels.

Implementations on Foreign Types§

Source§

impl ICompressor for ()

Source§

fn level(&self) -> usize

Source§

fn set_level(&mut self, _level: usize)

Source§

fn try_compress( &mut self, _buf: &[u8], _preallocated: &mut Vec<u8>, ) -> Result<NonZeroUsize, CompressError>

Source§

fn supported_levels(&self) -> RangeInclusive<usize>

Implementors§