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§
Sourcefn try_compress(
&mut self,
buf: &[u8],
preallocated: &mut Vec<u8>,
) -> Result<NonZeroUsize, CompressError>
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
.
Sourcefn supported_levels(&self) -> RangeInclusive<usize>
fn supported_levels(&self) -> RangeInclusive<usize>
Get backend’s supported compression levels.