aboutsummaryrefslogtreecommitdiffstats
path: root/src/transport/traffic.rs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-10-26 04:20:52 +0100
committertv <tv@krebsco.de>2026-10-26 04:20:52 +0100
commit2ff446bdb5c5b82b653eac822061aaeb686c3ccc (patch)
tree24b34021a6f4f2029c59c7909c5174ad29136a69 /src/transport/traffic.rs
parent735b27ad691f768027d6034a3f50efbd68feda89 (diff)
unify lock logic
Diffstat (limited to 'src/transport/traffic.rs')
-rw-r--r--src/transport/traffic.rs5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/transport/traffic.rs b/src/transport/traffic.rs
index 9dcd91a..3d17860 100644
--- a/src/transport/traffic.rs
+++ b/src/transport/traffic.rs
@@ -16,6 +16,7 @@ use async_trait::async_trait;
use serde::Serialize;
use utoipa::ToSchema;
+use crate::locks::MutexExt;
use crate::transport::{EncodedMessage, MessageHandler, MessageKind, ParsedMessage, Transport};
#[derive(Debug, Default, Clone, Copy, Serialize, ToSchema)]
@@ -79,9 +80,7 @@ pub struct Traffic {
impl Traffic {
fn lock(&self) -> MutexGuard<'_, Table> {
- self.table
- .lock()
- .unwrap_or_else(|poisoned| poisoned.into_inner())
+ self.table.lock_or_recover()
}
fn count(&self, peer: &str, bytes: usize, pick: impl Fn(&mut PeerTraffic) -> &mut Counter) {