tycho_network/overlay/
config.rs1use std::time::Duration;
2
3use serde::{Deserialize, Serialize};
4use tycho_util::serde_helpers;
5
6#[derive(Debug, Clone, Serialize, Deserialize)]
7#[serde(default)]
8pub struct OverlayConfig {
9 #[serde(with = "serde_helpers::humantime")]
13 pub public_overlay_peer_store_period: Duration,
14
15 #[serde(with = "serde_helpers::humantime")]
19 pub public_overlay_peer_store_max_jitter: Duration,
20
21 pub public_overlay_peer_store_max_entries: usize,
25
26 #[serde(with = "serde_helpers::humantime")]
30 pub public_overlay_peer_exchange_period: Duration,
31
32 #[serde(with = "serde_helpers::humantime")]
36 pub public_overlay_peer_exchange_max_jitter: Duration,
37
38 #[serde(with = "serde_helpers::humantime")]
42 pub public_overlay_peer_collect_period: Duration,
43
44 #[serde(with = "serde_helpers::humantime")]
48 pub public_overlay_peer_collect_max_jitter: Duration,
49
50 #[serde(with = "serde_helpers::humantime")]
54 pub public_overlay_peer_discovery_period: Duration,
55
56 #[serde(with = "serde_helpers::humantime")]
60 pub public_overlay_peer_discovery_max_jitter: Duration,
61
62 pub exchange_public_entries_batch: usize,
66}
67
68impl Default for OverlayConfig {
69 fn default() -> Self {
70 Self {
71 public_overlay_peer_store_period: Duration::from_secs(3 * 60),
72 public_overlay_peer_store_max_jitter: Duration::from_secs(30),
73 public_overlay_peer_store_max_entries: 20,
74 public_overlay_peer_exchange_period: Duration::from_secs(3 * 60),
75 public_overlay_peer_exchange_max_jitter: Duration::from_secs(30),
76 public_overlay_peer_collect_period: Duration::from_secs(10),
77 public_overlay_peer_collect_max_jitter: Duration::from_secs(5),
78 public_overlay_peer_discovery_period: Duration::from_secs(3 * 60),
79 public_overlay_peer_discovery_max_jitter: Duration::from_secs(30),
80 exchange_public_entries_batch: 20,
81 }
82 }
83}