cas_lib/compression/
zstd.rs1use std::io::Cursor;
2
3pub fn compress(data_to_compress: Vec<u8>, level: i32) -> Vec<u8> {
7 let cursor = Cursor::new(data_to_compress);
8 let mut compressed_data = Vec::new();
9 zstd::stream::copy_encode(cursor, &mut compressed_data, level).unwrap();
10 compressed_data
11}
12
13pub fn decompress(data_to_decompress: Vec<u8>) -> Vec<u8> {
15 let mut cursor = Cursor::new(data_to_decompress);
16 let mut decompressed_data = Vec::new();
17 zstd::stream::copy_decode(&mut cursor, &mut decompressed_data).unwrap();
18 decompressed_data
19}