fibers_timeout_queue 0.1.0

Timeout queue based on `fibers` crate
Documentation
  • Coverage
  • 100%
    8 out of 8 items documented5 out of 8 items with examples
  • Size
  • Source code size: 12.11 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 391.52 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 27s Average build duration of successful builds.
  • all releases: 27s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • sile/fibers_timeout_queue
    1 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • sile

fibers_timeout_queue

Crates.io: fibers_timeout_queue Documentation Build Status Code Coverage License: MIT

This crate provides a timeout queue based on fibers crate.

Documentation

Examples

use fibers_timeout_queue::TimeoutQueue;
use std::time::Duration;
use std::thread;

let mut queue = TimeoutQueue::new();
assert_eq!(queue.pop(), None); // `queue` is empty

queue.push(1, Duration::from_millis(1000));
queue.push(2, Duration::from_millis(100));
queue.push(3, Duration::from_millis(10));
assert_eq!(queue.pop(), None); // No expired items

thread::sleep(Duration::from_millis(50));
assert_eq!(queue.pop(), Some(3)); // There is an expired item
assert_eq!(queue.pop(), None);