pub fn compress_with_parameters(
source: &[u8],
params: &CompressionParameters,
) -> Vec<u8> ⓘExpand description
Compress a byte slice into a fresh Vec<u8> using fine-grained
CompressionParameters (#27) instead of a bare
CompressionLevel.
One-shot wrapper over FrameCompressor::set_parameters +
FrameCompressor::compress_independent_frame. The produced frame is
a valid RFC 8878 stream regardless of the knobs chosen.
use structured_zstd::encoding::{
compress_with_parameters, CompressionLevel, CompressionParameters, Strategy,
};
let data: &[u8] = b"the quick brown fox jumps over the lazy dog";
let params = CompressionParameters::builder(CompressionLevel::Level(5))
.strategy(Strategy::Greedy)
.build()
.unwrap();
let compressed = compress_with_parameters(data, ¶ms);
assert!(!compressed.is_empty());