Ruyi
Ruyi is an event-driven framework for non-blocking, asynchronous I/O in Rust powered by futures.
Usage
To use ruyi, add the following to your Cargo.toml:
[]
= "0.1"
and then, add this to your crate:
extern crate ruyi;
Examples can be found in the examples folder in this repository.
Features
Share-nothing- One loop per core model; Use SPSC queue to communicate between cores.Chained-buffer- Reduces/avoids memory copy as much as possible.Timer- Heap based and hashed timing-wheel based.Graceful Shutdown- Event loop will not end until allGates' lifetimes end.
Platforms
Currently supported:
- Linux 2.6.28+
To be supported:
- Windows 7+
- OS X
- FreeBSD 10.0+
- OpenBSD 5.7+
- NetBSD 8.0+
License
Ruyi is distributed under the terms of both the MIT License and the Apache License (Version 2.0).
See LICENSE-APACHE and LICENSE-MIT for details.