From 7b34096940054f3f81458ec736d9ac2d5362bb90 Mon Sep 17 00:00:00 2001 From: Sosthene Date: Fri, 4 Oct 2024 09:21:13 +0200 Subject: [PATCH] More efficient clean_up of MessageCache --- src/message.rs | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/src/message.rs b/src/message.rs index 932c899..239f281 100644 --- a/src/message.rs +++ b/src/message.rs @@ -50,24 +50,9 @@ impl MessageCache { let mut store = cache.store.lock().unwrap(); let now = Instant::now(); - let to_rm: Vec = store - .iter() - .filter_map(|(entry, entrytime)| { - if let Some(duration) = now.checked_duration_since(*entrytime) { - if duration > MESSAGECACHEDURATION { - Some(entry.clone()) - } else { - None - } - } else { - None - } - }) - .collect(); - - for key in to_rm { - store.remove(&key); - } + store.retain(|_, &mut entrytime| { + now.duration_since(entrytime) <= MESSAGECACHEDURATION + }); } } }