1 个不稳定版本

使用旧的Rust 2015

0.5.2 2016年6月14日

76#tcp-udp

Download history 29/week @ 2024-04-02 1/week @ 2024-04-23 1/week @ 2024-05-21 8/week @ 2024-05-28

54 每月下载量

MIT 许可证

190KB
4.5K SLoC

MIO - 金属IO

MIO是一个针对Rust的轻量级IO库,重点是尽可能减少对操作系统抽象的开销。

Build Status Build status

入门指南

目前正在制作中: 入门. 反馈可以在 PR 上发布。

API文档

用法

要使用mio,首先将以下内容添加到您的Cargo.toml

[dependencies]
mio = "0.5"

然后,将其添加到您的crate根目录

extern crate mio;

功能

  • 由epoll,kqueue支持的事件循环
  • 运行时无分配
  • 非阻塞TCP,UDP和Unix域套接字
  • 高性能定时器系统
  • 线程安全的跨线程通信消息通道

非目标

以下内容特别从MIO中省略,留给用户或更高级的库。

  • 文件操作
  • 线程池/多线程事件循环

平台

当前支持的平台

  • Linux
  • OS X
  • Windows
  • Android
  • NetBSD

可能还有其他平台。如果您发现Mio在另一个平台上工作,请提交PR以更新列表!

资源

请提交包含MIO资源链接的PR。

  • Eventual IO - 基于 Mio 和 Eventual 的 future & streams 的 TCP 库原型
  • mioco - Mio 协程
  • simplesched - 具有简单调度器的协程IO
  • coio-rs - 具有工作窃取调度器的协程IO
  • rotor - 允许在mio之上创建可组合的IO库的包装器
  • ws-rs - 基于 Mio 的 WebSocket

社区

一些mio用户在Mozilla IRC服务器(irc.mozilla.org)的#mio频道上闲逛。这可能是一个提问的好地方。

贡献

有兴趣参与吗?我们很乐意帮助您!对于简单的bug修复,只需提交包含修复的PR,我们可以在PR中直接讨论修复。如果修复更复杂,从问题开始。

如果您想提出API更改,请创建一个问题以与社区开始讨论。此外,您也可以在IRC频道与我们交谈。

最后,请保持友好。我们支持Rust行为准则

依赖关系

约3.5MB
约63K SLoC