use serde::Serialize;
#[derive(Debug, Clone, Serialize)]
pub struct ProcessNet {
pub pid: u32,
pub name: String,
pub exe: String,
pub sent_rate: u64,
pub recv_rate: u64,
pub sent_total: u64,
pub recv_total: u64,
#[serde(skip)]
pub history: Vec<u64>,
}
impl ProcessNet {
pub fn total_rate(&self) -> u64 {
self.sent_rate.saturating_add(self.recv_rate)
}
pub fn total_cumulative(&self) -> u64 {
self.sent_total.saturating_add(self.recv_total)
}
}
#[allow(dead_code)]
#[derive(Debug, Clone)]
pub struct Snapshot {
pub entries: Vec<ProcessNet>,
pub elapsed_ms: u64,
pub total_sent: u64,
pub total_recv: u64,
pub timestamp: u64,
}