23 个版本 (14 个破坏性更新)
0.14.3 | 2023年6月2日 |
---|---|
0.14.2 | 2023年3月3日 |
0.14.1 | 2023年2月20日 |
0.12.0 | 2022年7月31日 |
0.0.1 | 2019年12月19日 |
#172 在 异步
每月下载量612
用于 16 个 Crates (15 个直接使用)
30KB
492 行
Pasts
变更日志 | 源代码 | 入门
对 futures crate 的最小化、简化替代方案。
Pasts 异步运行时旨在通过异步事件循环创建用户空间软件和嵌入式软件。它旨在抽象出使用异步Rust的所有痛点。Pasts 故意保持小巧,整个源代码目录在500行Rust代码以下。
查看文档中的示例。
目标
- 无不安全(安全且可靠)
- 无需 std(执行器在启动时需要两个分配,如果需要可以使用容量较小的 bump 分配器)
- 无宏(快速编译时间)
- 无依赖[^1](无冗余)
- 无成本(真正的零成本抽象)
- 无痛苦(API非常容易学习和使用)
- 无平台特定API差异(代码在所有地方都有效)。
支持的平台
Pasts 面向所有可以运行 Rust 的平台。执行器至少在以下平台上运行(可能在其他平台上也运行)
- 所有支持线程的平台(包括所有一级和部分二级、三级平台)
- 浏览器中的 Web Assembly(二级)
- 无标准设备(二级和三级)
许可证
版权 © 2019-2023 Pasts 贡献者。
根据以下任一许可证授权
- Apache 许可证 2.0 版,(LICENSE_APACHE_2_0.txt 或 https://apache.ac.cn/licenses/LICENSE_2.0)
- Boost软件许可证,版本1.0,请参阅以下链接之一(LICENSE_BOOST_1_0.txt 或 https://boost.ac.cn/LICENSE_1_0.txt)
- MIT许可证,请参阅以下链接之一(LICENSE_MIT.txt 或 https://mit-license.org/)
由您自行选择。
贡献
除非您明确表示,否则根据Apache-2.0许可证定义的您有意提交以包含在作品中的任何贡献,应按上述方式许可,而不附加任何额外的条款或条件。
帮助
如果您想了解如何使用或贡献此库,请随时通过电子邮件发送给我 [email protected]。
相关项目
由于pasts不是一个一站式异步运行时解决方案,以下是一些设计用于与pasts良好合作的crate列表
- Async Main - 用于移除main函数样板代码的宏crate
- Whisk - 兼容no-std的MPMC(多生产者/多消费者)异步通道
- Smelling Salts - 使用操作系统API异步唤醒设备的库
- Lookit - 使用操作系统API异步连接到设备的库
[^1]: 一些功能需要平台集成依赖项,例如:- web
引入 wasm-bindgen-futures
依赖项
~0–1.3MB
~26K SLoC