5 releases
0.2.3 | Mar 2, 2019 |
---|---|
0.2.2 | Feb 15, 2019 |
0.2.1 | Dec 28, 2018 |
0.2.0 | Nov 30, 2018 |
0.1.0 | Sep 14, 2018 |
#156 in #non-blocking
140KB
2K
SLoC
Mio-st - Metal IO, single threaded
This is a fork of mio (v0.6.12, commit 4a716d0b687592368d9e283a6ea63aedb5877fc8), changed to run on a single thread.
Rust version 1.31 or higher is required as mio-st makes use of Rust 2018 edition features.
Differences compared to mio
The main two differences compared to mio are:
- No multi-threaded support.
- No Windows support.
The goal of this crate was to reduce the overhead of locks and/or atomic
operations, at the cost of not supporting multiple threads. This means the usage
of this crates, compared to mio, changes to using a single Poll
instance per
thread. Where when using mio you might use a single Poll
instance for the
entire application.
When reworking the code Windows support was removed because the underlying polling technique provided by the OS differs too much from epoll and kqueue. Carl Lerche (@carllerche, the auther of mio) did an amazing job of supporting Windows, but I have no interest in supporting Windows (I simply don't use it).
OS support
The following platforms are supported:
- Linux (production target), and
- macOS (development target).
The following platforms should work, as in the code compiles:
- FreeBSD,
- NetBSD, and
- OpenBSD.
Documentation
The API documentation is available on docs.rs.
License
Licensed under the MIT license (LICENSE or https://opensource.org/licenses/MIT).
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be licensed as above, without any additional terms or conditions.
Dependencies
~215KB