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 #[serde(with = "serde_helpers::humantime")]
71 pub query_timeout: Duration,
72}
73
74impl Default for OverlayConfig {
75 fn default() -> Self {
76 Self {
77 public_overlay_peer_store_period: Duration::from_secs(3 * 60),
78 public_overlay_peer_store_max_jitter: Duration::from_secs(30),
79 public_overlay_peer_store_max_entries: 20,
80 public_overlay_peer_exchange_period: Duration::from_secs(3 * 60),
81 public_overlay_peer_exchange_max_jitter: Duration::from_secs(30),
82 public_overlay_peer_collect_period: Duration::from_secs(10),
83 public_overlay_peer_collect_max_jitter: Duration::from_secs(5),
84 public_overlay_peer_discovery_period: Duration::from_secs(3 * 60),
85 public_overlay_peer_discovery_max_jitter: Duration::from_secs(30),
86 exchange_public_entries_batch: 20,
87 query_timeout: Duration::from_millis(100),
88 }
89 }
90}