montana-zlib

Crates.iomontana-zlib
lib.rsmontana-zlib
version0.0.1
created_at2025-12-16 16:54:24.893226+00
updated_at2025-12-16 16:54:24.893226+00
descriptionZlib compression implementation for Montana
homepagehttps://github.com/base/montana
repositoryhttps://github.com/base/montana
max_upload_size
id1988268
size22,075
refcell (refcell)

documentation

README

montana-zlib

Zlib compression implementation for the Montana batch submission pipeline.

Overview

This crate provides a ZlibCompressor that implements the Compressor trait from montana-pipeline. It uses the DEFLATE compression algorithm via the flate2 crate.

Usage

use montana_zlib::ZlibCompressor;
use montana_pipeline::Compressor;

// Create a compressor with default settings
let compressor = ZlibCompressor::default();

// Or use presets
let fast = ZlibCompressor::fast();           // Level 1 - fastest
let balanced = ZlibCompressor::balanced();   // Level 6 - good balance
let best = ZlibCompressor::best();           // Level 9 - best compression

// Compress data
let data = b"Hello, World!";
let compressed = compressor.compress(data).unwrap();

// Decompress data
let decompressed = compressor.decompress(&compressed).unwrap();
assert_eq!(decompressed, data);

Compression Levels

Zlib supports compression levels 0-9:

  • 0: No compression (store only)
  • 1: Fastest compression
  • 6: Default/balanced compression
  • 9: Best compression (slowest)
Commit count: 0

cargo fmt