store DnsServer in GlobalCtx, load routes from DnsServer in ProxyCidrsMonitor

This commit is contained in:
Luna Yao
2026-04-06 11:54:02 +02:00
parent 3fc030de48
commit 86871b14d5
5 changed files with 29 additions and 3 deletions
+1 -1
View File
@@ -2,6 +2,6 @@ mod node;
mod node_mgr;
pub mod config;
mod peer_mgr;
mod server;
pub mod server;
mod utils;
pub mod zone;
+4
View File
@@ -68,12 +68,16 @@ impl DnsNode {
let server = Arc::new(DnsServer::new(self.peer_mgr.clone(), rpc));
self.peer_mgr
.get_global_ctx_ref()
.set_dns(Some(server.clone()));
tokio::join!(
self.peer_mgr
.add_nic_packet_process_pipeline(Box::new(server.clone())),
server.run()
);
self.peer_mgr.get_global_ctx_ref().set_dns(None);
let _ = self
.peer_mgr
.remove_nic_packet_process_pipeline(server.id())
+2 -2
View File
@@ -177,8 +177,8 @@ impl DnsServer {
}
}
pub fn routes(&self) -> HashSet<IpAddr> {
self.addresses.read().iter().map(|a| a.addr.ip()).collect()
pub fn addresses(&self) -> HashSet<SocketAddr> {
self.addresses.read().iter().map(|a| a.addr).collect()
}
async fn reload_listeners(