4 个版本
0.0.0-experimental.3 | 2020 年 6 月 19 日 |
---|---|
0.0.0-experimental.2 | 2020 年 6 月 8 日 |
0.0.0-experimental.1 | 2020 年 5 月 27 日 |
0.0.0-experimental | 2020 年 5 月 26 日 |
#1689 in 数据结构
62KB
1.5K SLoC
ringbahn - io-uring 的安全接口
柏林环形线是柏林市中心的一条双轨通勤铁路线,形成了一个完整的环形。同样,io-uring 是基于双环缓冲区数据结构构建的 Linux 内核异步 IO 的新接口。
ringbahn 试图定义一个良好的接口,以 io-uring 执行 IO,并具有以下特性
- 100% 内存安全
- 完全非阻塞
- 与 async/await 语法兼容,便于使用
- 零开销抽象,最小化开销
- 抽象了驱动 io-uring 实例的不同模式
- 具有良好的实现驱动程序,具有抗误用的特性
ringbahn 的当前版本高度实验性,不足以用于生产。 强烈建议不要在当前版本下部署代码。但在此阶段,欢迎测试、错误报告、用户反馈和其他实验。
尽管 ringbahn 是一个原型,但它表明在 Rust 中实现一个安全、易于使用、高效且灵活的 io-uring 接口是可能的。对于 Rust 社区来说,不仅要有一个足够的 io-uring 接口,而且要有一个 最佳 接口。
许可协议
ringbahn 采用 MIT 或 Apache-2.0 许可协议,由您选择。
依赖项
~3MB
~66K SLoC