Skip to main content

Crate haagenti_core

Crate haagenti_core 

Source
Expand description

§Haagenti Core

Core traits, types, and streaming API for the Haagenti compression library.

Haagenti is named after the 48th demon of the Ars Goetia, who transmutes substances into more valuable forms - just as compression transforms data into denser representations.

§Design Philosophy

  • Zero-copy where possible: Minimize allocations and memory copies
  • Streaming-first: All operations support incremental processing
  • SIMD-ready: Types designed for vectorized operations
  • No-std compatible: Core traits work without standard library

§Core Traits

§Example

use haagenti_core::{Codec, CompressionLevel};
use haagenti_lz4::Lz4Codec;

let codec = Lz4Codec::with_level(CompressionLevel::Fast);
let compressed = codec.compress(data)?;
let original = codec.decompress(&compressed)?;

Re-exports§

pub use error::Error;
pub use error::Result;
pub use stats::CompressionStats;
pub use stats::Metrics;
pub use stream::Flush;
pub use stream::StreamConfig;
pub use stream::StreamState;
pub use traits::Codec;
pub use traits::Compressor;
pub use traits::Decompressor;
pub use traits::DictionaryCompressor;
pub use traits::DictionaryDecompressor;
pub use traits::ParallelCompressor;
pub use traits::SimdCompressor;
pub use traits::StreamingCompressor;
pub use traits::StreamingDecompressor;
pub use types::Algorithm;
pub use types::Checksum;
pub use types::CompressionLevel;
pub use types::CompressionRatio;
pub use types::WindowSize;

Modules§

error
Error types for compression operations.
stats
Statistics and metrics for compression operations.
stream
Streaming compression and decompression utilities.
traits
Core traits for compression and decompression.
types
Core type definitions for compression operations.