use std::fmt;
#[derive(Debug, Default)]
pub struct ConnectionStatus {
pub total_ips: usize, pub intranet_conns: usize, pub extranet_conns: usize, pub total_clients: usize, pub total_servers: usize, pub oldest_uptime: u64, pub average_uptime: u64, }
impl fmt::Display for ConnectionStatus {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
let total_conns = self.total_clients + self.total_servers;
write!(
f,
"\
┏━━━━━━━━━━━━━━━━ AEX Connection Profile ━━━━━━━━━━━━━━━┓
┃ Nodes (IPs): {: <40} ┃
┃ Total Conns: {: <40} ┃
┠──────────────────────────────────────────────────────┨
┃ Direction: Inbound: {: <10} Outbound: {: <10} ┃
┃ Network Scope: Intra: {: <10} Extra: {: <10} ┃
┠──────────────────────────────────────────────────────┨
┃ Uptime (secs): Avg: {: <10} Max: {: <10} ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛",
self.total_ips,
total_conns,
self.total_clients,
self.total_servers,
self.intranet_conns,
self.extranet_conns,
self.average_uptime,
self.oldest_uptime
)
}
}