1 unstable release
0.1.0-beta.0 | Oct 27, 2024 |
---|
#787 in Data structures
7KB
116 lines
ExpireMap
NOTE: This is a very early and lean beta version
A simple Key-Value map where each item has an associated expiry time.
Calling .expire(<time>)
on the map removes all items which are past their expiry (<=
The expiry time does not have to be based on actual time, anything implementing the Ord
trait can be used,
making this map useful for usage with logical timestamps.
Example
use expiremap::ExpireMap;
let mut map = ExpireMap::new();
// key, value, expiry time
map.insert("foo", "bar", 1);
map.insert("baz", "bar", 3);
// removes all items with expiry
map.expire(2)
assert!(map.get("foo").is_none());
assert!(map.get("baz").is_some());
Dependencies
~1MB
~14K SLoC