2 个版本
0.1.1 | 2024 年 5 月 27 日 |
---|---|
0.1.0 | 2024 年 5 月 27 日 |
#445 在 并发
用于 批量通道
22KB
293 行
no_std
,零分配实用程序 crate,用于在 Future 对象本身中高效存储 Waker 集合。
提供一个安全的接口,并通过 MIRI。
lib.rs
:
异步数据结构,如通道,需要跟踪等待的 futures 集合。将它们保存在 Vec 中需要分配。我们可以通过在 futures 本身中存储挂起的 wakers 并将它们链接到一个侵入式双链表中来做得更好。
此 crate 提供了一个 no_std、no_alloc、安全的 Rust 接口来上述策略。共享数据结构包含一个 [WakerList],每个挂起的 future 包含一个 [WakerSlot],每个都包含一个 [Waker] 的空间。
依赖项
~66KB