bgpkit_broker/
peer.rs

1use chrono::NaiveDate;
2use serde::{Deserialize, Serialize};
3use std::net::IpAddr;
4
5/// MRT collector peer information
6///
7/// Represents the information of an MRT collector peer.
8#[derive(Debug, Clone, Eq, PartialEq, Serialize, Deserialize)]
9#[cfg_attr(feature = "cli", derive(tabled::Tabled))]
10pub struct BrokerPeer {
11    /// The date of the latest available data.
12    pub date: NaiveDate,
13    /// The IP address of the collector peer.
14    pub ip: IpAddr,
15    /// The ASN (Autonomous System Number) of the collector peer.
16    pub asn: u32,
17    /// The name of the collector.
18    pub collector: String,
19    /// The number of IPv4 prefixes.
20    pub num_v4_pfxs: u32,
21    /// The number of IPv6 prefixes.
22    pub num_v6_pfxs: u32,
23    /// The number of connected ASNs.
24    pub num_connected_asns: u32,
25}
26#[derive(Debug, Clone, Serialize, Deserialize)]
27pub(crate) struct BrokerPeersResult {
28    pub count: u32,
29    pub data: Vec<BrokerPeer>,
30}