io_buffer/compress/
mod.rs

1use std::io::Result;
2
3/// A trait for different compress method
4pub trait Compression {
5    /// Estimate the upper bound of buffer size needed
6    fn compress_bound(origin_len: usize) -> usize;
7
8    /// On success, return the size of compressed data.
9    ///
10    /// Arguments:
11    ///
12    ///  * src: original data
13    ///
14    fn compress(src: &[u8], dest: &mut [u8]) -> Result<usize>;
15
16    /// On success, return the size of decompressed data.
17    ///
18    /// Arguments:
19    ///
20    ///  * src: compressed data
21    ///
22    ///  * dest: output buffer for decompressed data
23    fn decompress(src: &[u8], dest: &mut [u8]) -> Result<usize>;
24}
25
26#[cfg(any(feature = "lz4", doc))]
27/// Enabled with feature `lz4`
28pub mod lz4;