ruvector_dag/qudag/
network.rs1#[derive(Debug, Clone)]
4pub struct NetworkConfig {
5 pub endpoints: Vec<String>,
6 pub min_peers: usize,
7 pub max_peers: usize,
8 pub heartbeat_interval_ms: u64,
9}
10
11impl Default for NetworkConfig {
12 fn default() -> Self {
13 Self {
14 endpoints: vec!["https://qudag.network:8443".to_string()],
15 min_peers: 3,
16 max_peers: 50,
17 heartbeat_interval_ms: 30000,
18 }
19 }
20}
21
22#[derive(Debug, Clone)]
23pub struct NetworkStatus {
24 pub connected: bool,
25 pub peer_count: usize,
26 pub latest_round: u64,
27 pub sync_status: SyncStatus,
28 pub network_version: String,
29}
30
31#[derive(Debug, Clone, Copy, PartialEq)]
32pub enum SyncStatus {
33 Synced,
34 Syncing,
35 Behind,
36 Disconnected,
37}
38
39impl std::fmt::Display for SyncStatus {
40 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
41 match self {
42 SyncStatus::Synced => write!(f, "synced"),
43 SyncStatus::Syncing => write!(f, "syncing"),
44 SyncStatus::Behind => write!(f, "behind"),
45 SyncStatus::Disconnected => write!(f, "disconnected"),
46 }
47 }
48}