#gate #flags #events #tokio #async #async-io

async-gate

由 Tokio 驱动的异步门(类似于标志,并深受 Python 的 asyncio.Event 启发,但也可以等待其变为 'false')

5 个不稳定版本

0.3.1 2024年2月28日
0.2.1 2024年2月19日
0.2.0 2024年2月19日
0.1.4 2023年9月3日
0.1.3 2023年9月1日

异步 中排名第 762

MIT/Apache

17KB
259

🚧 Async Gate

这个 Rust 库是一个异步 "门",可以等待其被升起或降下,就像由相应的 "杠杆" 控制。

💻 安装

这个 crate 作为 async-gate 发布到 crates.io 上,因此您可以将它添加到项目的依赖中。

cargo add async-gate

🛠 使用

如果您不是我自己,可能不想使用这个库;代码很笨拙,只有中等程度的文档和测试。您可能更倾向于使用带有自己逻辑层的普通 tokio::sync::watch 通道

😵 帮助!我有一个问题

创建一个问题,我会尽力帮助。

😡 修复!有一些需要改进的地方

创建一个问题或拉取请求,我会尽力修复。

📄 许可证

根据您的要求,许可如下:

🙏 归功

此实现大量借鉴了 @EFanZh 在此 Rust 论坛帖子中的贡献

这个想法深受 Python 的 asyncio.Event 启发,但门也可以等待变为 'clear'(而不仅仅是 'set')。

此库是用 Tokiowatch 通道 实现的。

我还在创建 async-gate 之后就开发了 awaitable-bool。它将布尔值的更改和等待值更改统一到一个类型(AwaitableBool)中。它比这个 crate 更简单。

本README是由 readme-md-generator 携💖生成的

依赖项

约2.3–4MB
约65K SLoC