pub struct MultiPassCompressor { /* private fields */ }Expand description
Multi-pass compression engine that applies multiple strategies
Implementations§
Source§impl MultiPassCompressor
impl MultiPassCompressor
Sourcepub fn with_config(max_passes: usize, improvement_threshold: f32) -> Self
pub fn with_config(max_passes: usize, improvement_threshold: f32) -> Self
Create with custom configuration
Sourcepub fn add_strategy(&mut self, strategy: PassStrategy)
pub fn add_strategy(&mut self, strategy: PassStrategy)
Add a compression strategy to the pass
Sourcepub fn compress_with_passes(
&mut self,
data: &[u8],
) -> Result<Vec<u8>, CompressionError>
pub fn compress_with_passes( &mut self, data: &[u8], ) -> Result<Vec<u8>, CompressionError>
Apply multi-pass compression
Trait Implementations§
Source§impl CompressionStrategy for MultiPassCompressor
impl CompressionStrategy for MultiPassCompressor
Source§type Error = CompressionError
type Error = CompressionError
The error type produced by this compression strategy
Source§fn decompress(&self, _data: &[u8]) -> Result<Vec<u8>, Self::Error>
fn decompress(&self, _data: &[u8]) -> Result<Vec<u8>, Self::Error>
Decompresses the input data
Source§fn metadata(&self) -> CompressionMetadata
fn metadata(&self) -> CompressionMetadata
Returns metadata about this compression algorithm
Source§fn stats(&self) -> CompressionStats
fn stats(&self) -> CompressionStats
Returns the current compression statistics
Source§impl Default for MultiPassCompressor
impl Default for MultiPassCompressor
Source§impl PipelineCompressionStrategy for MultiPassCompressor
impl PipelineCompressionStrategy for MultiPassCompressor
Source§type Stage = EnhancedCTW
type Stage = EnhancedCTW
The type representing a compression stage
Source§fn add_stage(&mut self, stage: Self::Stage) -> Result<(), Self::Error>
fn add_stage(&mut self, stage: Self::Stage) -> Result<(), Self::Error>
Add a stage to the compression pipeline
Source§fn remove_stage(&mut self, index: usize) -> Result<Self::Stage, Self::Error>
fn remove_stage(&mut self, index: usize) -> Result<Self::Stage, Self::Error>
Remove a stage from the pipeline
Source§fn stage_count(&self) -> usize
fn stage_count(&self) -> usize
Get the number of stages in the pipeline
Source§fn stage_stats(&self) -> Vec<CompressionStats>
fn stage_stats(&self) -> Vec<CompressionStats>
Get statistics for each stage
Auto Trait Implementations§
impl Freeze for MultiPassCompressor
impl RefUnwindSafe for MultiPassCompressor
impl Send for MultiPassCompressor
impl Sync for MultiPassCompressor
impl Unpin for MultiPassCompressor
impl UnsafeUnpin for MultiPassCompressor
impl UnwindSafe for MultiPassCompressor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more