#io-uring #safe #experimental #ring #complete #driver #user

ringbahn

一个针对 io-uring 的实验性安全 API

4 个版本

0.0.0-experimental.32020 年 6 月 19 日
0.0.0-experimental.22020 年 6 月 8 日
0.0.0-experimental.12020 年 5 月 27 日
0.0.0-experimental2020 年 5 月 26 日

#1689 in 数据结构

MIT/Apache

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