mod blocking;
#[cfg(feature = "async")]
mod non_blocking;
pub use blocking::*;
#[cfg(feature = "async")]
pub use non_blocking::*;
use std::time::Duration;
#[derive(Debug, Clone)]
pub struct LatencyStats {
pub min: Duration,
pub max: Duration,
pub avg: Duration,
pub p95: Duration,
pub p99: Duration,
pub count: usize,
}
impl std::fmt::Display for LatencyStats {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "count={}, min={:.2?}, max={:.2?}, avg={:.2?}, p95={:.2?}, p99={:.2?}",
self.count, self.min, self.max, self.avg, self.p95, self.p99)
}
}