6个版本 (3个破坏性)
0.4.0 | 2024年7月11日 |
---|---|
0.3.0 | 2023年3月7日 |
0.2.0 | 2023年2月6日 |
0.1.2 | 2022年10月27日 |
0.1.0 | 2022年1月31日 |
#206 in 数据结构
29,630 每月下载量
用于 5 个crate (2直接)
21KB
331 行
delay_map
概述
这个crate包含两个数据结构,HashSetDelay
和 HashMapDelay
。它们的行为类似于标准库的HashSet和HashMap,增加的功能是映射中插入的条目在固定时间段后过期。
用法
创建映射
use delay_map::HashMapDelay;
use futures::prelude::*;
// Set a default timeout for entries
let mut delay_map = HashMapDelay::new(std::time::Duration::from_secs(1));
tokio_test::block_on(async {
delay_map.insert(1, "entry_1");
delay_map.insert(2, "entry_2");
if let Some(Ok((key, value))) = delay_map.next().await {
println!("Entry 1: {}, {}", key, value);
}
if let Some(Ok((key, value))) = delay_map.next().await {
println!("Entry 2: {}, {}", key,value);
}
});
依赖
~3–4.5MB
~69K SLoC