From d0e3394f037f181a65c9c8da1836abc4fc5ff74c Mon Sep 17 00:00:00 2001 From: Nils Andreas Svee Date: Sat, 18 Apr 2026 19:04:35 +0200 Subject: [PATCH] refactor: add ArcMutex/ArcRwLock type aliases Replace repeated Arc> and Arc> with concise type aliases for readability. --- src/baseliner.rs | 7 ++++--- src/ratecontroller.rs | 14 +++++++------- src/reflector_selector.rs | 4 ++-- src/util.rs | 5 ++++- 4 files changed, 17 insertions(+), 13 deletions(-) diff --git a/src/baseliner.rs b/src/baseliner.rs index dc93c40..bc6fa59 100644 --- a/src/baseliner.rs +++ b/src/baseliner.rs @@ -1,7 +1,8 @@ -use crate::SHUTDOWN; use crate::Config; +use crate::SHUTDOWN; use crate::metrics::{Metric, MetricsSender}; use crate::pinger::PingReply; +use crate::util::ArcMutex; use crate::util::MutexExt; use log::info; use std::collections::HashMap; @@ -20,8 +21,8 @@ pub struct ReflectorStats { pub struct Baseliner { pub config: Config, - pub owd_baseline: Arc>>, - pub owd_recent: Arc>>, + pub owd_baseline: ArcMutex>, + pub owd_recent: ArcMutex>, pub reselect_trigger: Sender, pub start_time: Instant, pub stats_rx: Receiver, diff --git a/src/ratecontroller.rs b/src/ratecontroller.rs index 93a30b0..1166f2d 100644 --- a/src/ratecontroller.rs +++ b/src/ratecontroller.rs @@ -2,7 +2,7 @@ use crate::SHUTDOWN; use crate::metrics::{Metric, MetricsSender}; use crate::netlink::{Netlink, NetlinkError, Qdisc}; use crate::time::Time; -use crate::util::{MutexExt, RwLockExt}; +use crate::util::{ArcMutex, ArcRwLock, MutexExt, RwLockExt}; use crate::{Config, ReflectorStats}; use log::{debug, info, warn}; use rustix::thread::ClockId; @@ -104,9 +104,9 @@ impl State { pub struct Ratecontroller { config: Config, down_direction: StatsDirection, - owd_baseline: Arc>>, - owd_recent: Arc>>, - reflectors_lock: Arc>>, + owd_baseline: ArcMutex>, + owd_recent: ArcMutex>, + reflectors_lock: ArcRwLock>, reselect_trigger: Sender, state_dl: State, state_ul: State, @@ -244,9 +244,9 @@ impl Ratecontroller { pub fn new( config: Config, - owd_baseline: Arc>>, - owd_recent: Arc>>, - reflectors_lock: Arc>>, + owd_baseline: ArcMutex>, + owd_recent: ArcMutex>, + reflectors_lock: ArcRwLock>, reselect_trigger: Sender, down_direction: StatsDirection, up_direction: StatsDirection, diff --git a/src/reflector_selector.rs b/src/reflector_selector.rs index efe6575..59318e4 100644 --- a/src/reflector_selector.rs +++ b/src/reflector_selector.rs @@ -1,6 +1,6 @@ use crate::SHUTDOWN; use crate::metrics::{Metric, MetricsSender}; -use crate::util::{MutexExt, RwLockExt}; +use crate::util::{ArcMutex, MutexExt, RwLockExt}; use crate::{Config, ReflectorStats}; use log::{debug, info}; use std::collections::HashMap; @@ -13,7 +13,7 @@ use std::time::Duration; pub struct ReflectorSelector { pub config: Config, - pub owd_recent: Arc>>, + pub owd_recent: ArcMutex>, pub reflector_peers_lock: Arc>>, pub reflector_pool: Vec, pub trigger_channel: Receiver, diff --git a/src/util.rs b/src/util.rs index b0d15c5..5833bdd 100644 --- a/src/util.rs +++ b/src/util.rs @@ -1,5 +1,8 @@ use anyhow::anyhow; -use std::sync::{Mutex, MutexGuard, RwLock, RwLockReadGuard, RwLockWriteGuard}; +use std::sync::{Arc, Mutex, MutexGuard, RwLock, RwLockReadGuard, RwLockWriteGuard}; + +pub type ArcMutex = Arc>; +pub type ArcRwLock = Arc>; pub trait MutexExt { fn lock_anyhow(&self) -> anyhow::Result>;