More efficient clean_up of MessageCache

This commit is contained in:
Sosthene 2024-10-04 09:21:13 +02:00 committed by Nicolas Cantu
parent e3c83a0871
commit 497ab97043

View File

@ -50,24 +50,9 @@ impl MessageCache {
let mut store = cache.store.lock().unwrap();
let now = Instant::now();
let to_rm: Vec<String> = 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
});
}
}
}