A simple timed set in Rust to store elements for a given time period.
toml
[dependencies]
timed_set = "0.0.4"
```rust use timed_set::TimedSet; use std::{time::Duration, thread::sleep};
fn main() { let mut ts = TimedSet::new(Duration::fromsecs(3)); ts.add("element1"); assert!(ts.contains(&"element1")); sleep(Duration::fromsecs(3)); assert!(!ts.contains(&"element_1")); } ```
Custom ttl
for specifically 1 element
```rust
use timed_set::TimedSet;
use std::{time::Duration, thread::sleep};
fn main() { let mut ts = TimedSet::new(Duration::fromsecs(3)); ts.add("element1"); ts.add("element2", Duration::fromsecs(10)); // element with custom ttl assert!(ts.contains(&"element1")); assert!(ts.contains(&"element2"));
sleep(Duration::from_secs(3));
assert!(!ts.contains(&"element_1")); // expired
assert!(ts.contains(&"element_2"));
sleep(Duration::from_secs(8));
assert!(!ts.contains(&"element_2")); // expired
} ```
License: MIT