client: fix heartbeat initialization

This commit is contained in:
Luna Yao
2026-02-19 15:04:07 +01:00
parent 2ca8b5f8a2
commit a6d030494c
+12 -11
View File
@@ -65,17 +65,18 @@ impl DnsClient {
rpc: &mut StandAloneClient<TcpTunnelConnector>,
heartbeat: &mut HeartbeatRequest,
) -> anyhow::Result<()> {
let request = if self.mgr.dirty.swap(false, Ordering::Release) {
let snapshot = self.mgr.snapshot();
heartbeat.digest = snapshot.digest();
heartbeat.snapshot = Some(snapshot);
heartbeat.clone()
} else {
let snapshot = heartbeat.snapshot.take();
let request = heartbeat.clone();
heartbeat.snapshot = snapshot;
request
};
let request =
if heartbeat.snapshot.is_none() || self.mgr.dirty.swap(false, Ordering::Release) {
let snapshot = self.mgr.snapshot();
heartbeat.digest = snapshot.digest();
heartbeat.snapshot = Some(snapshot);
heartbeat.clone()
} else {
let snapshot = heartbeat.snapshot.take();
let request = heartbeat.clone();
heartbeat.snapshot = snapshot;
request
};
let client = rpc
.scoped_client::<DnsServerRpcClientFactory<BaseController>>("".to_string())