5个版本
0.2.3 | 2019年3月2日 |
---|---|
0.2.2 | 2019年2月15日 |
0.2.1 | 2018年12月28日 |
0.2.0 | 2018年11月30日 |
0.1.0 | 2018年9月14日 |
#170 in #non-blocking
140KB
2K SLoC
Mio-st - 金属IO,单线程
这是对 mio (v0.6.12, commit 4a716d0b687592368d9e283a6ea63aedb5877fc8) 的分支,修改为单线程运行。
需要Rust版本1.31或更高版本,因为 mio-st 使用了Rust 2018版本的功能。
与 mio 的不同之处
与 mio 的主要两个不同之处是
- 不支持多线程。
- 不支持Windows。
这个crate的目标是减少锁和/或原子操作的开销,但牺牲了多线程支持。这意味着与 mio 相比,这个crate的使用方式是每个线程使用一个 Poll
实例。而使用 mio 时,可能在整个应用程序中使用一个 Poll
实例。
在重构代码时,由于操作系统提供的底层轮询技术与 epoll 和 kqueue 差距太大,因此移除了Windows支持。Carl Lerche (@carllerche,mio 的作者) 做了惊人的工作来支持Windows,但我没有兴趣支持Windows(我根本不用它)。
操作系统支持
以下平台受支持
- Linux(生产目标),以及
- macOS(开发目标)。
以下平台应该可以工作,即代码可以编译
- FreeBSD,
- NetBSD,以及
- OpenBSD。
文档
API文档可在 docs.rs 上找到。
许可证
根据MIT许可证授权(LICENSE 或 https://opensource.org/licenses/MIT)。
贡献
除非您明确声明,否则您提交的任何有意包含在作品中的贡献都应按上述方式授权,而不附加任何额外的条款或条件。
依赖关系
~210KB