Ruyi is an event-driven framework for non-blocking, asynchronous I/O in Rust powered by futures.
To use ruyi
, add the following to your Cargo.toml
:
toml
[dependencies]
ruyi = "0.1"
and then, add this to your crate:
rust
extern crate ruyi;
Examples can be found in the examples
folder in this repository.
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
- 2 types: binary heap based and hashed timing-wheel based.Graceful Shutdown
- Event loop will not end until all Gate
s' lifetimes end.Currently supported:
To be supported:
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.