1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//! Compression related items.

#[doc(inline)]
pub use super::low::compression::*;

use std::io::{BufRead, Write};

/// Compresses input data into the output buffer with default [`options`].
///
/// [`options`]: CompressionOptions
pub fn compress<R: BufRead, W: Write>(input: &mut R, output: &mut W) -> CompressionStatus {
    let compressor = Compressor::from_options(CompressionOptions::default());

    compressor.compress(input, output)
}

/// Compresses input data into the output buffer with provided [`options`].
///
/// [`options`]: CompressionOptions
pub fn compress_with_options<R: BufRead, W: Write>(
    input: &mut R,
    output: &mut W,
    options: CompressionOptions,
) -> CompressionStatus {
    let compressor = Compressor::from_options(options);

    compressor.compress(input, output)
}