From 35558748fa1d10f4df5e80a6c66093d702839943 Mon Sep 17 00:00:00 2001 From: Charlotte Som Date: Wed, 27 Nov 2024 07:07:50 +0200 Subject: [PATCH] add server.remove_good_host(..) we'll use this later in gc jobs to clean up any hosts that have been consistently down or whatever --- src/lib.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index 34656bd..c540530 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -53,7 +53,17 @@ impl RelayServer { let hosts_copy = hosts.iter().collect::>(); let serialized_hosts = serde_ipld_dagcbor::to_vec(&hosts_copy)?; drop(hosts); + self.db.insert("hosts", serialized_hosts)?; + Ok(()) + } + pub async fn remove_good_host(&self, host: String) -> Result<()> { + tracing::debug!(%host, "dropping known-good host"); + let mut hosts = self.known_good_hosts.lock().await; + hosts.remove(&host); + let hosts_copy = hosts.iter().collect::>(); + let serialized_hosts = serde_ipld_dagcbor::to_vec(&hosts_copy)?; + drop(hosts); self.db.insert("hosts", serialized_hosts)?; Ok(()) }