keyhog-sources 0.5.44

keyhog-sources: pluggable input backends for KeyHog (git, S3, GCS, Azure Blob, Docker, Web)
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
//! Shared compression memory limits.

/// Smallest zstd `windowLog` whose window (`1 << log`) covers `budget`, clamped
/// to libzstd's valid range `[10, 31]`.
pub(crate) fn zstd_window_log_max_for_budget(budget: u64) -> u32 {
    let b = budget.max(1 << 10);
    let log = 64 - (b - 1).leading_zeros();
    log.clamp(10, 31)
}

#[cfg(test)]
#[path = "../tests/unit/compression_limits.rs"]
mod tests;