pub struct ConnectionPolicyConfig {
pub strategy: Option<String>,
pub direct_tcp_timeout_ms: Option<u64>,
pub direct_udp_timeout_ms: Option<u64>,
pub punch_timeout_ms: Option<u64>,
pub heartbeat_interval_ms: Option<u64>,
pub heartbeat_timeout_ms: Option<u64>,
pub reconnect_base_delay_ms: Option<u64>,
pub reconnect_multiplier: Option<f64>,
pub reconnect_max_delay_ms: Option<u64>,
pub reconnect_max_attempts: Option<u32>,
pub reconnect_jitter_ratio: Option<f64>,
}Expand description
Connection preference policy (ADR-0005 Phase 1).
Controls which transport paths are tried and in what order when connecting
to a peer. The default strategy is "direct_then_relay".
[network.connection_policy]
strategy = "direct_then_relay"
direct_tcp_timeout_ms = 3000
direct_udp_timeout_ms = 1000
punch_timeout_ms = 5000
heartbeat_interval_ms = 30000
heartbeat_timeout_ms = 90000
reconnect_base_delay_ms = 1000
reconnect_multiplier = 2.0
reconnect_max_delay_ms = 60000
reconnect_max_attempts = 8
reconnect_jitter_ratio = 0.2Fields§
§strategy: Option<String>Strategy string.
| Value | Description |
|---|---|
direct_only | TCP only; no UDP, no relay. |
direct_then_relay | TCP, fall back to relay. (default) |
direct_then_udp_then_relay | TCP → direct UDP → relay. |
direct_then_punch_then_relay | TCP → UDP → hole-punch → relay. (Phase 3) |
relay_only | Skip direct paths; use relay immediately. |
direct_tcp_timeout_ms: Option<u64>Timeout for a direct TCP connect attempt (ms).
direct_udp_timeout_ms: Option<u64>Timeout for a direct UDP session attempt (ms).
punch_timeout_ms: Option<u64>Total time budget for relay-coordinated UDP hole punching (ms). Phase 3.
heartbeat_interval_ms: Option<u64>Interval between framework heartbeat probes for active peers (ms).
heartbeat_timeout_ms: Option<u64>Maximum time without inbound peer activity before the route is unresponsive (ms).
reconnect_base_delay_ms: Option<u64>Delay before the first automatic reconnect attempt (ms).
reconnect_multiplier: Option<f64>Exponential multiplier applied after each failed reconnect attempt.
reconnect_max_delay_ms: Option<u64>Maximum delay between automatic reconnect attempts (ms).
reconnect_max_attempts: Option<u32>Maximum consecutive reconnect attempts before automatic retries stop.
reconnect_jitter_ratio: Option<f64>Symmetric jitter ratio applied to reconnect delays, in the range 0.0..=1.0.
Trait Implementations§
Source§impl Clone for ConnectionPolicyConfig
impl Clone for ConnectionPolicyConfig
Source§fn clone(&self) -> ConnectionPolicyConfig
fn clone(&self) -> ConnectionPolicyConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more