pub mod config;
pub mod chunker;
pub mod error;
pub mod utils;
pub use config::{ChunkingConfig, SeqOpMode};
pub use chunker::{SeqChunking, Chunk, ChunkIterator};
pub use error::{ChunkingError, Result};
pub const DEFAULT_SEQ_THRESHOLD: u64 = 5;
pub const DEFAULT_JUMP_TRIGGER: u64 = 50;
pub const DEFAULT_JUMP_SIZE: u64 = 256;
pub const DEFAULT_MIN_BLOCK_SIZE: u64 = 4096;
pub const DEFAULT_AVG_BLOCK_SIZE: u64 = 8192;
pub const DEFAULT_MAX_BLOCK_SIZE: u64 = 16384;
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_library_basic_usage() {
let chunker = SeqChunking::new();
let data = b"Hello, World! This is a test of the chunking library.";
let chunks: Vec<_> = chunker.chunk_all(data).collect();
assert!(!chunks.is_empty());
let reconstructed: Vec<u8> = chunks.iter()
.flat_map(|chunk| chunk.data.iter())
.copied()
.collect();
assert_eq!(reconstructed, data);
}
}