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_discovery_period: Duration,
43
44 #[serde(with = "serde_helpers::humantime")]
48 pub public_overlay_peer_discovery_max_jitter: Duration,
49
50 pub exchange_public_entries_batch: usize,
54}
55
56impl Default for OverlayConfig {
57 fn default() -> Self {
58 Self {
59 public_overlay_peer_store_period: Duration::from_secs(3 * 60),
60 public_overlay_peer_store_max_jitter: Duration::from_secs(30),
61 public_overlay_peer_store_max_entries: 20,
62 public_overlay_peer_exchange_period: Duration::from_secs(3 * 60),
63 public_overlay_peer_exchange_max_jitter: Duration::from_secs(30),
64 public_overlay_peer_discovery_period: Duration::from_secs(3 * 60),
65 public_overlay_peer_discovery_max_jitter: Duration::from_secs(30),
66 exchange_public_entries_batch: 20,
67 }
68 }
69}