use std::sync::atomic::{AtomicU64, Ordering};
#[derive(Debug, Default)]
pub struct InnerAgentStats {
pub requests_sent: AtomicU64,
pub responses_received: AtomicU64,
pub bodies_started: AtomicU64,
pub bodies_finished: AtomicU64,
}
impl InnerAgentStats {
pub fn snapshot(&self) -> AgentStats {
AgentStats {
requests_sent: self.requests_sent.load(Ordering::Relaxed),
responses_received: self.responses_received.load(Ordering::Relaxed),
bodies_started: self.bodies_started.load(Ordering::Relaxed),
bodies_finished: self.bodies_finished.load(Ordering::Relaxed),
}
}
}
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)]
#[non_exhaustive]
pub struct AgentStats {
pub requests_sent: u64,
pub responses_received: u64,
pub bodies_started: u64,
pub bodies_finished: u64,
}