timed_set 0.0.4

A simple timed set in Rust to store elements for a given time period.
Documentation
  • Coverage
  • 87.5%
    7 out of 8 items documented5 out of 7 items with examples
  • Size
  • Source code size: 13.94 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 497.45 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 8s Average build duration of successful builds.
  • all releases: 8s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • marirs/timed-set-rs
    0 1 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • marirs

Timed Set

Linux Arm7 Linux x86_64 macOS intel Windows

A simple timed set in Rust to store elements for a given time period.

Usage

[dependencies]
timed_set = "0.0.4"

Example

use timed_set::TimedSet;
use std::{time::Duration, thread::sleep};

fn main() {
    let mut ts = TimedSet::new(Duration::from_secs(3));
    ts.add("element_1");
    assert!(ts.contains(&"element_1"));
    sleep(Duration::from_secs(3));
    assert!(!ts.contains(&"element_1"));
}

Custom ttl for specifically 1 element

use timed_set::TimedSet;
use std::{time::Duration, thread::sleep};

fn main() {
    let mut ts = TimedSet::new(Duration::from_secs(3));
    ts.add("element_1");
    ts.add("element_2", Duration::from_secs(10));   // element with custom ttl
    assert!(ts.contains(&"element_1"));
    assert!(ts.contains(&"element_2"));
    
    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