A simple utility crate to make decompressing from zlib-stream easier.
This crate is based of flate2 and their clouflare zlib backend.
stream
feature
```rust
use zlib_stream::stream::ZlibStream; async fn setup
loop {
let data: Option<Result<Vec<u8>, flate2::DecompressError>> = stream.next().await;
do_something(data);
}
}
2. Barebone Implementation
rust
use zlib_stream::{ZlibStreamDecompressor, ZlibDecompressionError};
fn worker_loop() { let mut decompress: ZlibStreamDecompressor = ZlibStreamDecompressor::new();
loop {
let mut frame: Vec<u8> = get_compressed_frame();
match decompress.decompress(frame) {
Ok(vec) => process_data(vec),
Err(ZlibDecompressionError::NeedMoreData) => continue,
Err(_err) => panic!("Broken frame!"),
}
}
} ```