#pool #range #id

id-pool

使用范围池创建和回收整数ID

4个版本

0.2.2 2022年7月6日
0.2.1 2021年3月19日
0.2.0 2020年10月29日
0.1.0 2020年9月17日

#1283数据结构

Download history • Rust 包仓库 72/week @ 2024-03-12 • Rust 包仓库 57/week @ 2024-03-19 • Rust 包仓库 157/week @ 2024-03-26 • Rust 包仓库 102/week @ 2024-04-02 • Rust 包仓库 52/week @ 2024-04-09 • Rust 包仓库 80/week @ 2024-04-16 • Rust 包仓库 69/week @ 2024-04-23 • Rust 包仓库 58/week @ 2024-04-30 • Rust 包仓库 32/week @ 2024-05-07 • Rust 包仓库 56/week @ 2024-05-14 • Rust 包仓库 14/week @ 2024-05-21 • Rust 包仓库 58/week @ 2024-05-28 • Rust 包仓库 76/week @ 2024-06-04 • Rust 包仓库 112/week @ 2024-06-11 • Rust 包仓库 97/week @ 2024-06-18 • Rust 包仓库 63/week @ 2024-06-25 • Rust 包仓库

358 每月下载
scalesocket 中使用

MIT 许可证

11KB
143

id-pool

使用范围池创建和回收整数ID。

// create a new id pool with an available range
let mut pool = IdPool::new_ranged(1..10);
// request ids from the pool
let id1 = pool.request_id()); // 1
let id2 = pool.request_id()); // 2
let id3 = pool.request_id()); // 3
// return arbitrary id back into the pool
pool.return_id(2)?;
// recycle the returned id during subsequent request
let id4 = pool.request_id()); // 2
let id5 = pool.request_id()); // 4

该包非常简洁,目前仅处理一种数值ID类型。这些可以是 usize(默认), u64, u32u16,使用适当的包功能进行选择。

主要导出结构 IdPool 可以使用自定义范围进行初始化,然后查询该范围内的新ID。在程序执行过程中,可以将ID返回到池中,以便在后续的ID请求调用中重复使用。


lib.rs:

使用范围池创建和回收整数ID。

该包非常简洁,目前仅处理一种数值ID类型。这些可以是 usize(默认), u64, u32u16,使用适当的包功能进行选择。

主要导出结构 IdPool 可以使用自定义范围进行初始化,然后查询该范围内的新ID。在程序执行过程中,可以将ID返回到池中,以便在后续的ID请求调用中重复使用。

依赖关系

~170KB