openrtc 2.8.0

OpenRTC: a Rust-first P2P runtime for device discovery, signaling, and iroh/QUIC networking.
Documentation
//! Runtime policy constants and snapshots.
//!
//! Keep retry, grace, timeout, and heartbeat defaults here so docs and
//! diagnostics can point at one source instead of rediscovering scattered
//! magic numbers.

pub(crate) const MANAGED_SETTLE_DEADLINE_MS: i64 = 10_000;
pub(crate) const SESSION_ADMISSION_TIMEOUT_MS: u64 = 45_000;

pub(crate) const WASM_ACCEPT_CLOSE_GRACE_MS: u64 = 4_000;
pub(crate) const WASM_CONNECT_REPLACEMENT_GRACE_MS: u64 = 8_000;
pub(crate) const WASM_REPLACEMENT_POLL_MAX_INTERVAL_MS: u64 = 500;

#[derive(Debug, Clone, serde::Serialize, serde::Deserialize, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct PolicySnapshot {
    pub managed_settle_deadline_ms: i64,
    pub session_admission_timeout_ms: u64,
    pub wasm: WasmPolicySnapshot,
}

#[derive(Debug, Clone, serde::Serialize, serde::Deserialize, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct WasmPolicySnapshot {
    pub accept_close_grace_ms: u64,
    pub connect_replacement_grace_ms: u64,
    pub replacement_poll_max_interval_ms: u64,
}

pub fn policy_snapshot() -> PolicySnapshot {
    PolicySnapshot {
        managed_settle_deadline_ms: MANAGED_SETTLE_DEADLINE_MS,
        session_admission_timeout_ms: SESSION_ADMISSION_TIMEOUT_MS,
        wasm: WasmPolicySnapshot {
            accept_close_grace_ms: WASM_ACCEPT_CLOSE_GRACE_MS,
            connect_replacement_grace_ms: WASM_CONNECT_REPLACEMENT_GRACE_MS,
            replacement_poll_max_interval_ms: WASM_REPLACEMENT_POLL_MAX_INTERVAL_MS,
        },
    }
}