Skip to main content

ICompressor

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.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

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§