pruneExpired method
Removes expired entries and returns the number of records purged.
Implementation
@override
Future<int> pruneExpired(String namespace, DateTime clock) async {
final records = _entries[namespace];
if (records == null || records.isEmpty) return 0;
final toRemove = <String>[];
records.forEach((key, value) {
if (value.isExpired(clock)) {
toRemove.add(key);
}
});
toRemove.forEach(records.remove);
if (records.isEmpty) {
_entries.remove(namespace);
}
return toRemove.length;
}