[][src]Function futures_delay_queue::delay_queue

pub fn delay_queue<T: 'static + Send>(
) -> (DelayQueue<T, GrowingHeapBuf<T>>, GenericReceiver<RawMutex, T, GrowingHeapBuf<T>>)

Creates a dynamically growing delay queue and a multi consumer channel for receiving expired items.

Example

use futures_delay_queue::delay_queue;
use std::time::Duration;

let (delay_queue, expired_items) = delay_queue();
delay_queue.insert(1, Duration::from_millis(10));

// approximately 10ms later
assert_eq!(expired_items.receive().await, Some(1));