summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--talpid-wireguard/src/lib.rs37
1 files changed, 14 insertions, 23 deletions
diff --git a/talpid-wireguard/src/lib.rs b/talpid-wireguard/src/lib.rs
index d95e38d9b8..579272c584 100644
--- a/talpid-wireguard/src/lib.rs
+++ b/talpid-wireguard/src/lib.rs
@@ -834,7 +834,9 @@ impl WireguardMonitor {
self.runtime.block_on(async {
self.event_hook.on_event(TunnelEvent::Down).await;
- log_daita_overhead(&self.tunnel).await;
+ if let Some(tunnel) = self.tunnel.lock().await.as_ref() {
+ log_daita_overhead(tunnel).await;
+ };
});
self.stop_tunnel();
@@ -1039,33 +1041,22 @@ async fn log_tunnel_data_usage(config: &Config, tunnel: &Arc<AsyncMutex<Option<T
}
}
-async fn log_daita_overhead(tunnel: &Arc<AsyncMutex<Option<TunnelType>>>) {
- let tunnel = tunnel.lock().await;
- let Some(tunnel) = &*tunnel else { return };
+async fn log_daita_overhead(tunnel: &TunnelType) {
let Ok(tunnel_stats) = tunnel.get_tunnel_stats().await else {
return;
};
if let Some(stats) = tunnel_stats.values().find(|stats| stats.daita.is_some()) {
let daita = stats.daita.as_ref().unwrap();
- log::info!("DAITA overhead stats:");
- log::info!("Total (outgoing) {} MiB", stats.tx_bytes / 1024 / 1024);
- log::info!("Total (incoming) {} MiB", stats.rx_bytes / 1024 / 1024);
- log::info!(
- "Padding packet overhead (outgoing) {} MiB",
- daita.tx_padding_packet_bytes / 1024 / 1024
- );
- log::info!(
- "Padding packet overhead (incoming) {} MiB",
- daita.rx_padding_packet_bytes / 1024 / 1024
- );
- log::info!(
- "Constant packet size overhead (outgoing) {} MiB",
- daita.tx_padding_bytes / 1024 / 1024
- );
- log::info!(
- "Constant packet size overhead (incoming) {} MiB",
- daita.rx_padding_bytes / 1024 / 1024
- );
+ let total_out = stats.tx_bytes / 1024 / 1024;
+ let total_in = stats.rx_bytes / 1024 / 1024;
+ let padding_packet_out = stats.tx_bytes / 1024 / 1024;
+ let padding_packet_in = stats.rx_bytes / 1024 / 1024;
+ let constant_size_padding_out = daita.tx_padding_bytes / 1024 / 1024;
+ let constant_size_padding_in = daita.rx_padding_bytes / 1024 / 1024;
+
+ log::info!("DAITA overhead stats:
+Outgoing: {total_out} MiB total, {padding_packet_out} MiB padding packets, {constant_size_padding_out} MiB constant size padding
+Incoming: {total_in} MiB total, {padding_packet_in} MiB padding packets, {constant_size_padding_in} MiB constant size padding");
}
}