pub mod data_gen; pub mod line_index; pub mod metrics; pub mod mmap_reader; pub mod pread_reader; pub mod report; pub mod runner; pub mod suites; pub mod types; use std::path::Path; /// A single reader backend (mmap or pread) pub trait FileReaderBackend { fn name(&self) -> &str; fn open(path: &Path) -> std::io::Result where Self: Sized; fn file_size(&self) -> u64; fn total_lines(&self) -> usize; fn get_line(&self, idx: usize) -> Option; fn read_range(&self, offset: u64, len: usize) -> Option>; fn close(self); }