pub mod decompressor;
pub mod indexed_reader;
pub mod linear_reader;
pub mod message_reader;
pub mod summary_reader;
pub use indexed_reader::{
IndexedReadEvent, IndexedReader, IndexedReaderOptions, LogTimeBounds, LowerBound, UpperBound,
};
pub use linear_reader::{LinearReadEvent, LinearReader, LinearReaderOptions};
pub use message_reader::{MessageReadEvent, MessageReader};
pub use summary_reader::{SummaryReadEvent, SummaryReader, SummaryReaderOptions};
#[cfg(feature = "lz4")]
mod lz4;
#[cfg(feature = "zstd")]
mod zstd;
pub(crate) fn check_len(len: u64, limit: Option<usize>) -> Option<usize> {
let len_as_usize: usize = len.try_into().ok()?;
match limit {
Some(limit) if len_as_usize > limit => None,
_ => Some(len_as_usize),
}
}
#[cfg(test)]
mod custom_decompressor_tests;