tokio-rs/mio

Metal I/O library for Rust.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 40 minutes ago
Added to GitGenius on September 9th, 2026
Created on August 20th, 2014
Open Issues & Pull Requests: 31 (+0)
GitHub issues: Enabled
Number of forks: 868
Total Stargazers: 7,093 (+0)
Total Subscribers: 121 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 5.4 hours
Mean response time: 31.3 days
90th percentile: 57.8 days
Tracked items: 68

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 75% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 6% of issues opened in the past year have been closed. Three people close 72% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 20
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 748 days
Stale 30+ days: 15
Stale 90+ days: 2

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (10)
  • windows (10)
  • Needs-MSRV (2)
  • freebsd (2)
  • hermit (2)
  • unstable (2)
  • bug (1)
  • help wanted (1)

Detailed Description

Mio is a low-level I/O library for Rust that provides non-blocking APIs and event notification for building high-performance I/O applications.

Mio addresses the need for minimal-overhead access to operating system I/O primitives by wrapping platform-specific event notification systems. It abstracts over epoll on Linux, kqueue on BSD variants, IOCP on Windows, and other OS-specific mechanisms, presenting a unified interface through its Poll type. The library guarantees zero allocations at runtime and focuses exclusively on the core I/O abstraction layer, leaving higher-level concerns to the application or other libraries.

Mio is suited for developers building custom I/O frameworks or applications where fine-grained control over event handling is essential. It explicitly targets use cases requiring maximum performance with minimal overhead over raw OS abstractions. The README positions Mio as a low-level foundation and recommends Tokio for developers seeking a higher-level, easier-to-use async runtime. The tool supports non-blocking TCP, UDP, and Unix domain sockets across a broad range of platforms including Linux, macOS, Windows, BSD variants, Android, iOS, and others. Platform-specific extensions are available for developers needing access to OS-particular capabilities.

The project maintains a fixed minimum supported Rust version policy per minor release series, allowing version bumps to increase the MSRV while enabling users on older toolchains to remain on earlier minor versions. The tool provides unsupported configuration flags to force alternative implementations of core functionality on platforms where they differ from the default, acknowledging that some use cases may require non-optimal implementations for compatibility reasons. Community discussion occurs on Discord alongside standard GitHub issue tracking for questions, bug reports, and feature requests.