From 8f66cbb6b90b09d370721995acdac03cc4f77a80 Mon Sep 17 00:00:00 2001 From: timedout Date: Mon, 3 Aug 2026 17:38:35 +0100 Subject: [PATCH] feat: Clear remote health tracking map when cache is cleared --- src/service/federation/mod.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/service/federation/mod.rs b/src/service/federation/mod.rs index c0bb5181a..2942cc6ac 100644 --- a/src/service/federation/mod.rs +++ b/src/service/federation/mod.rs @@ -3,6 +3,7 @@ mod execute; use std::{collections::HashMap, sync::Arc, time::Duration}; use assign::assign; +use async_trait::async_trait; use conduwuit::{ Error, Result, Server, SyncRwLock, debug, utils::{millis_since_unix_epoch, time::exponential_backoff::min_exp_backoff_duration}, @@ -28,6 +29,7 @@ struct Services { moderation: Dep, } +#[async_trait] impl crate::Service for Service { fn build(args: crate::Args<'_>) -> Result> { Ok(Arc::new(Self { @@ -42,6 +44,11 @@ impl crate::Service for Service { } fn name(&self) -> &str { crate::service::make_name(std::module_path!()) } + + async fn clear_cache(&self) { + let mut map = self.remote_health.write(); + map.clear(); + } } impl Service {