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

MIT 许可证

140KB
2K SLoC

Mio-st - 金属IO,单线程

Build Status License: MIT Crates.io Docs

这是对 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许可证授权(LICENSEhttps://opensource.org/licenses/MIT)。

贡献

除非您明确声明,否则您提交的任何有意包含在作品中的贡献都应按上述方式授权,而不附加任何额外的条款或条件。

依赖关系

~210KB