nvpn 4.1.9

CLI and daemon for Nostr VPN private mesh networks
Documentation
fn begin_platform_network_refresh_attempt(
    latest_snapshot: crate::diagnostics::NetworkSnapshot,
    platform_network_event: bool,
    network_changed: bool,
    network_state_drift: bool,
    endpoint_changed: bool,
    resumed_after_sleep: bool,
) -> Option<PlatformNetworkRefreshAttempt> {
    let refresh = fips_link_event_refresh(
        platform_network_event,
        network_changed,
        network_state_drift,
        endpoint_changed,
        resumed_after_sleep,
    );
    if matches!(refresh, FipsLinkEventRefresh::None) {
        return None;
    }
    let (reason, diagnostic) = if network_changed {
        (
            "network change",
            "daemon: network change detected; refreshing FIPS endpoint state",
        )
    } else if resumed_after_sleep {
        (
            "sleep/wake",
            "daemon: sleep/wake detected; refreshing FIPS endpoint state",
        )
    } else if network_state_drift {
        (
            "WireGuard route drift",
            "daemon: unmanaged Linux default route detected; reconciling WireGuard network state",
        )
    } else {
        (
            "endpoint change",
            "daemon: endpoint changed; refreshing FIPS endpoint state",
        )
    };
    eprintln!("{diagnostic}");
    Some(PlatformNetworkRefreshAttempt::new(
        latest_snapshot,
        refresh,
        reason,
    ))
}