refactor: add ArcMutex/ArcRwLock type aliases

Replace repeated Arc> and Arc> with concise type aliases for readability.
This commit is contained in:
Nils Andreas Svee committed 2026-04-18 19:04:35 +02:00
1 parent 7c40990e93
commit d0e3394f03
4 files changed
+17 -13

No files matched your search

+4 -3
View File
@@ -1,7 +1,8 @@
use crate::SHUTDOWN;
use crate::Config; use crate::Config;
use crate::SHUTDOWN;
use crate::metrics::{Metric, MetricsSender}; use crate::metrics::{Metric, MetricsSender};
use crate::pinger::PingReply; use crate::pinger::PingReply;
use crate::util::ArcMutex;
use crate::util::MutexExt; use crate::util::MutexExt;
use log::info; use log::info;
use std::collections::HashMap; use std::collections::HashMap;
@@ -20,8 +21,8 @@ pub struct ReflectorStats {
pub struct Baseliner { pub struct Baseliner {
pub config: Config, pub config: Config,
pub owd_baseline: Arc<Mutex<HashMap<IpAddr, ReflectorStats>>>, pub owd_baseline: ArcMutex<HashMap<IpAddr, ReflectorStats>>,
pub owd_recent: Arc<Mutex<HashMap<IpAddr, ReflectorStats>>>, pub owd_recent: ArcMutex<HashMap<IpAddr, ReflectorStats>>,
pub reselect_trigger: Sender<bool>, pub reselect_trigger: Sender<bool>,
pub start_time: Instant, pub start_time: Instant,
pub stats_rx: Receiver<PingReply>, pub stats_rx: Receiver<PingReply>,
+7 -7
View File
@@ -2,7 +2,7 @@ use crate::SHUTDOWN;
use crate::metrics::{Metric, MetricsSender}; use crate::metrics::{Metric, MetricsSender};
use crate::netlink::{Netlink, NetlinkError, Qdisc}; use crate::netlink::{Netlink, NetlinkError, Qdisc};
use crate::time::Time; use crate::time::Time;
use crate::util::{MutexExt, RwLockExt}; use crate::util::{ArcMutex, ArcRwLock, MutexExt, RwLockExt};
use crate::{Config, ReflectorStats}; use crate::{Config, ReflectorStats};
use log::{debug, info, warn}; use log::{debug, info, warn};
use rustix::thread::ClockId; use rustix::thread::ClockId;
@@ -104,9 +104,9 @@ impl State {
pub struct Ratecontroller { pub struct Ratecontroller {
config: Config, config: Config,
down_direction: StatsDirection, down_direction: StatsDirection,
owd_baseline: Arc<Mutex<HashMap<IpAddr, ReflectorStats>>>, owd_baseline: ArcMutex<HashMap<IpAddr, ReflectorStats>>,
owd_recent: Arc<Mutex<HashMap<IpAddr, ReflectorStats>>>, owd_recent: ArcMutex<HashMap<IpAddr, ReflectorStats>>,
reflectors_lock: Arc<RwLock<Vec<IpAddr>>>, reflectors_lock: ArcRwLock<Vec<IpAddr>>,
reselect_trigger: Sender<bool>, reselect_trigger: Sender<bool>,
state_dl: State, state_dl: State,
state_ul: State, state_ul: State,
@@ -244,9 +244,9 @@ impl Ratecontroller {
pub fn new( pub fn new(
config: Config, config: Config,
owd_baseline: Arc<Mutex<HashMap<IpAddr, ReflectorStats>>>, owd_baseline: ArcMutex<HashMap<IpAddr, ReflectorStats>>,
owd_recent: Arc<Mutex<HashMap<IpAddr, ReflectorStats>>>, owd_recent: ArcMutex<HashMap<IpAddr, ReflectorStats>>,
reflectors_lock: Arc<RwLock<Vec<IpAddr>>>, reflectors_lock: ArcRwLock<Vec<IpAddr>>,
reselect_trigger: Sender<bool>, reselect_trigger: Sender<bool>,
down_direction: StatsDirection, down_direction: StatsDirection,
up_direction: StatsDirection, up_direction: StatsDirection,
+2 -2
View File
@@ -1,6 +1,6 @@
use crate::SHUTDOWN; use crate::SHUTDOWN;
use crate::metrics::{Metric, MetricsSender}; use crate::metrics::{Metric, MetricsSender};
use crate::util::{MutexExt, RwLockExt}; use crate::util::{ArcMutex, MutexExt, RwLockExt};
use crate::{Config, ReflectorStats}; use crate::{Config, ReflectorStats};
use log::{debug, info}; use log::{debug, info};
use std::collections::HashMap; use std::collections::HashMap;
@@ -13,7 +13,7 @@ use std::time::Duration;
pub struct ReflectorSelector { pub struct ReflectorSelector {
pub config: Config, pub config: Config,
pub owd_recent: Arc<Mutex<HashMap<IpAddr, ReflectorStats>>>, pub owd_recent: ArcMutex<HashMap<IpAddr, ReflectorStats>>,
pub reflector_peers_lock: Arc<RwLock<Vec<IpAddr>>>, pub reflector_peers_lock: Arc<RwLock<Vec<IpAddr>>>,
pub reflector_pool: Vec<IpAddr>, pub reflector_pool: Vec<IpAddr>,
pub trigger_channel: Receiver<bool>, pub trigger_channel: Receiver<bool>,
+4 -1
View File
@@ -1,5 +1,8 @@
use anyhow::anyhow; use anyhow::anyhow;
use std::sync::{Mutex, MutexGuard, RwLock, RwLockReadGuard, RwLockWriteGuard}; use std::sync::{Arc, Mutex, MutexGuard, RwLock, RwLockReadGuard, RwLockWriteGuard};
pub type ArcMutex<T> = Arc<Mutex<T>>;
pub type ArcRwLock<T> = Arc<RwLock<T>>;
pub trait MutexExt<T> { pub trait MutexExt<T> {
fn lock_anyhow(&self) -> anyhow::Result<MutexGuard<'_, T>>; fn lock_anyhow(&self) -> anyhow::Result<MutexGuard<'_, T>>;