From be18d89ea65e35ddcf0f31bea3360e5db209fb9f Mon Sep 17 00:00:00 2001 From: ThetaDev Date: Sun, 13 Oct 2024 22:42:21 +0200 Subject: [PATCH] fix: skip serializing empty cache entries --- src/client/mod.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/client/mod.rs b/src/client/mod.rs index 772afc1..a5d57ad 100644 --- a/src/client/mod.rs +++ b/src/client/mod.rs @@ -395,6 +395,7 @@ struct CacheHolder { #[serde(default)] struct CacheData { clients: HashMap>, + #[serde(skip_serializing_if = "CacheEntry::is_none")] deobf: CacheEntry, } @@ -445,6 +446,10 @@ impl CacheEntry { CacheEntry::None => None, } } + + fn is_none(&self) -> bool { + matches!(self, Self::None) + } } impl From for CacheEntry { @@ -958,7 +963,10 @@ impl RustyPipe { async fn store_cache(&self) { let mut cache_clients = HashMap::new(); for (c, lk) in &self.inner.cache.clients { - cache_clients.insert(*c, lk.read().await.clone()); + let v = lk.read().await.clone(); + if !v.is_none() { + cache_clients.insert(*c, v); + } } if let Some(storage) = &self.inner.storage {