Expand description
Content compression utilities for storage optimization.
This module provides transparent compression/decompression of content chunks to optimize storage usage while maintaining compatibility with the protocol.
§Features
- Multiple compression algorithms (Zstd, LZ4, None)
- Automatic algorithm selection based on content type
- Compression ratio tracking and statistics
- Configurable compression levels
§Example
use chie_core::compression::{Compressor, CompressionAlgorithm};
let mut compressor = Compressor::new(CompressionAlgorithm::Balanced);
let data = b"Hello, CHIE Protocol! ".repeat(100);
// Compress data
let compressed = compressor.compress(&data).unwrap();
println!("Compression ratio: {:.2}%",
(1.0 - compressed.len() as f64 / data.len() as f64) * 100.0);
// Decompress data
let decompressed = compressor.decompress(&compressed).unwrap();
assert_eq!(data.as_slice(), decompressed.as_slice());Structs§
- Compression
Stats - Compression statistics.
- Compressor
- Content compressor with configurable algorithm and statistics.
Enums§
- Compression
Algorithm - Compression algorithm options.
- Compression
Error - Compression error types.
Functions§
- suggest_
algorithm_ for_ content - Determine optimal compression algorithm for content type.