11// Copyright 2026 - Nym Technologies SA <contact@nymtech.net>
22// SPDX-License-Identifier: GPL-3.0-only
33
4- use std:: net:: { IpAddr , Ipv4Addr , Ipv6Addr } ;
4+ use std:: net:: IpAddr ;
5+
6+ use crate :: default_interface:: DefaultInterface ;
57
68use nym_routing:: { DefaultRouteEvent , RouteManagerHandle } ;
79use tokio:: sync:: watch;
@@ -10,7 +12,7 @@ use tokio_util::sync::CancellationToken;
1012pub async fn start_monitor ( shutdown_token : CancellationToken ) -> watch:: Receiver < DefaultInterface > {
1113 let initial = match RouteManagerHandle :: spawn ( ) . await {
1214 Ok ( rm) => {
13- let addrs = query_addrs ( & rm) . await ;
15+ let addrs = snapshot ( & rm) . await ;
1416 rm. stop ( ) . await ;
1517 addrs
1618 }
@@ -25,7 +27,7 @@ pub async fn start_monitor(shutdown_token: CancellationToken) -> watch::Receiver
2527 rx
2628}
2729
28- async fn query_addrs ( route_manager : & RouteManagerHandle ) -> DefaultInterface {
30+ async fn snapshot ( route_manager : & RouteManagerHandle ) -> DefaultInterface {
2931 match route_manager. get_default_routes ( ) . await {
3032 Ok ( ( v4, v6) ) => DefaultInterface {
3133 v4_addr : v4. and_then ( |r| {
@@ -78,7 +80,7 @@ async fn monitor_task(tx: watch::Sender<DefaultInterface>, shutdown_token: Cance
7880 | DefaultRouteEvent :: AddedOrChangedV6
7981 | DefaultRouteEvent :: RemovedV6 ,
8082 ) => {
81- let addrs = query_addrs ( & route_manager) . await ;
83+ let addrs = snapshot ( & route_manager) . await ;
8284 tracing:: debug!( "Default interface changed; new addrs: {addrs:?}" ) ;
8385 let _ = tx. send( addrs) ;
8486 }
0 commit comments