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 在 数据结构
358 每月下载
在 scalesocket 中使用
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
, u32
或 u16
,使用适当的包功能进行选择。
主要导出结构 IdPool
可以使用自定义范围进行初始化,然后查询该范围内的新ID。在程序执行过程中,可以将ID返回到池中,以便在后续的ID请求调用中重复使用。
lib.rs
:
使用范围池创建和回收整数ID。
该包非常简洁,目前仅处理一种数值ID类型。这些可以是 usize
(默认), u64
, u32
或 u16
,使用适当的包功能进行选择。
主要导出结构 IdPool
可以使用自定义范围进行初始化,然后查询该范围内的新ID。在程序执行过程中,可以将ID返回到池中,以便在后续的ID请求调用中重复使用。
依赖关系
~170KB