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 allGate
s' 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.