ripestat_common/resources/
ris_peer_count.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
4pub struct RisPeerCountRequest {
5 pub starttime: Option<String>,
6 pub endtime: Option<String>,
7 pub v4_full_prefix_threshold: Option<i64>,
8 pub v6_full_prefix_threshold: Option<i64>,
9}
10
11#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
12pub struct RisPeerCountResponse {
13 pub starttime: String,
14 pub endtime: String,
15 pub peer_count: PeerCount,
16 pub v4_full_prefix_threshold: i64,
17 pub v6_full_prefix_threshold: i64,
18}
19
20#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
21pub struct PeerCount {
22 pub v4: V4Peers,
23 pub v6: V6Peers,
24}
25
26#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
27pub struct V4Peers {
28 pub total: Vec<Total>,
29 pub full_feed: Vec<FullFeed>,
30}
31
32#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
33pub struct V6Peers {
34 pub total: Vec<Total>,
35 pub full_feed: Vec<FullFeed>,
36}
37
38#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
39pub struct Total {
40 pub timestamp: String,
41 pub count: i64,
42}
43
44#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
45pub struct FullFeed {
46 pub timestamp: String,
47 pub count: i64,
48}