Skip to content

Commit

Permalink
docs: correctly mention compression level
Browse files Browse the repository at this point in the history
- mention the difference in compression level range
when using `zlib` vs `miniz` backends
  • Loading branch information
ByteBaker committed Sep 23, 2024
1 parent f6b4c60 commit 05adb01
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,10 @@ impl Compression {
///
/// The integer here is typically on a scale of 0-9 where 0 means "no
/// compression" and 9 means "take as long as you'd like".
///
/// It is worth noting that `flate2` supports both `zlib` and `miniz` backends for compression,
/// where `miniz` is enabled by default, and `zlib` can be enabled by the `zlib` feature.
/// The `zlib` backend supports levels 0-9, while the `miniz` backend supports levels 0-10.
pub const fn new(level: u32) -> Compression {
Compression(level)
}
Expand All @@ -208,12 +212,16 @@ impl Compression {
}

/// Optimize for the size of data being encoded.
///
/// The maximum compression is always returned as 9 for consistency
/// with the `zlib` backend, but the `miniz` backend supports a
/// maximum compression level of 10, and is enabled by default.
pub const fn best() -> Compression {
Compression(9)
}

/// Returns an integer representing the compression level, typically on a
/// scale of 0-9
/// scale of 0-9. With `miniz` backend, this can be 0-10.
pub fn level(&self) -> u32 {
self.0
}
Expand Down

0 comments on commit 05adb01

Please sign in to comment.