03_compression_decode_one_shot/
03_compression_decode_one_shot.rs1mod common;
2
3use common::pseudo_random_bytes;
4use compression::{compression_decode_buffer, compression_encode_buffer, Algorithm};
5
6fn main() -> Result<(), Box<dyn std::error::Error>> {
7 let input = pseudo_random_bytes(8 * 1024);
8 let mut encoded = vec![0_u8; input.len() * 2];
9 let encoded_len = compression_encode_buffer(&mut encoded, &input, Algorithm::Lz4Raw)?;
10
11 let mut decoded = vec![0_u8; input.len()];
12 let decoded_len =
13 compression_decode_buffer(&mut decoded, &encoded[..encoded_len], Algorithm::Lz4Raw)?;
14
15 assert_eq!(decoded_len, input.len());
16 assert_eq!(&decoded[..decoded_len], input.as_slice());
17 println!("decoded={decoded_len} bytes");
18 println!("✅ one-shot compression decode OK");
19 Ok(())
20}