20 releases

Uses old Rust 2015

0.0.36 Mar 14, 2024
0.0.35 Feb 26, 2024
0.0.34 Jan 7, 2024
0.0.33 Dec 18, 2023
0.0.1 Jun 26, 2023

#473 in Asynchronous

Download history 2/week @ 2023-12-22 30/week @ 2024-01-05 5/week @ 2024-01-12 10/week @ 2024-02-16 246/week @ 2024-02-23 49/week @ 2024-03-01 161/week @ 2024-03-08 70/week @ 2024-03-15 14/week @ 2024-03-22 91/week @ 2024-03-29 28/week @ 2024-04-05

326 downloads per month
Used in 3 crates

MIT license

390KB
7.5K SLoC

Corcovado

Corcovado is a maintained fork of mio 0.6.x along mio-signal-hook, mio-extras and using Windows API that works in Windows 11. It uses Rust edition 2021 instead of 2018.

Corcovado also uses Rust standard library for net and io instead of Mio 0.6.x.


lib.rs:

A fast, low-level IO library for Rust focusing on non-blocking APIs, event notification, and other useful utilities for building high performance IO apps.

Features

  • Non-blocking TCP, UDP
  • I/O event notification queue backed by epoll, kqueue, and IOCP
  • Zero allocations at runtime
  • Platform specific extensions

Non-goals

The following are specifically omitted from Mio and are left to the user or higher-level libraries.

  • File operations
  • Thread pools / multi-threaded event loop
  • Timers

Platforms

Currently supported platforms:

  • Linux
  • OS X
  • Windows
  • FreeBSD
  • NetBSD
  • Android
  • iOS

mio can handle interfacing with each of the event notification systems of the aforementioned platforms. The details of their implementation are further discussed in Poll.

Usage

Using mio starts by creating a Poll, which reads events from the OS and put them into Events. You can handle IO events from the OS with it.

For more detail, see Poll.

Readiness event types and utilities. Unix only extensions Fuchsia-only extensions

Stability

This module depends on the magenta-sys crate and so might introduce breaking changes, even on minor releases, so long as that crate remains unstable.

Dependencies

~0.2–47MB
~664K SLoC