Skip to main content

compress_with_parameters

Function compress_with_parameters 

Source
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, &params);
assert!(!compressed.is_empty());