node: join_joinset_background

fmt

join
This commit is contained in:
Luna Yao
2026-04-06 02:58:40 +02:00
parent 0cd92ff215
commit f17ee9244c
+7 -6
View File
@@ -1,7 +1,10 @@
use crate::common::global_ctx::{ArcGlobalCtx, GlobalCtxEvent};
use crate::common::join_joinset_background;
use crate::dns::config::{DnsGlobalCtxExt, DNS_SERVER_ELECTION_INTERVAL, DNS_SERVER_RPC_ADDR};
use crate::dns::peer_mgr::DnsPeerMgr;
use crate::dns::server::DnsServer;
#[cfg(feature = "tun")]
use crate::instance::instance::ArcNicCtx;
use crate::peers::peer_manager::PeerManager;
use crate::peers::NicPacketFilter;
use crate::proto::dns::{DnsNodeMgrRpcClientFactory, HeartbeatRequest};
@@ -9,7 +12,7 @@ use crate::proto::rpc_impl::standalone::{StandAloneClient, StandAloneServer};
use crate::proto::rpc_types::controller::BaseController;
use crate::tunnel::tcp::{TcpTunnelConnector, TcpTunnelListener};
use crate::utils::AsyncRuntime;
use std::sync::Arc;
use std::sync::{Arc, Mutex};
use std::time::Duration;
use tokio::sync::{broadcast, Notify};
use tokio::task::JoinSet;
@@ -18,9 +21,6 @@ use tokio_util::sync::CancellationToken;
use tracing::instrument;
use uuid::Uuid;
#[cfg(feature = "tun")]
use crate::instance::instance::ArcNicCtx;
#[derive(Debug, Clone)]
pub struct DnsNode {
mgr: Arc<DnsPeerMgr>,
@@ -138,7 +138,8 @@ impl DnsNode {
tokio::pin!(sleep);
let mut subscriber = self.global_ctx.subscribe();
let mut tasks = JoinSet::new();
let tasks = Arc::new(Mutex::new(JoinSet::new()));
join_joinset_background(tasks.clone(), "DnsNode".to_owned());
loop {
let next_heartbeat = last_heartbeat
@@ -173,7 +174,7 @@ impl DnsNode {
Ok(GlobalCtxEvent::PeerInfoUpdated(peer_ids)) => {
for peer_id in peer_ids {
let mgr = self.mgr.clone();
tasks.spawn(async move {
tasks.lock().unwrap().spawn(async move {
mgr.refresh(peer_id).await;
});
}