Skip to content
/ ruyi Public

An event-driven framework for non-blocking, asynchronous I/O in Rust.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

agemocui/ruyi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ruyi

Ruyi is an event-driven framework for non-blocking, asynchronous I/O in Rust powered by futures.

crates.io docs.rs Build Status Build status

Usage

To use ruyi, add the following to your Cargo.toml:

[dependencies]
ruyi = "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 is recommended. Use SPSC queue to communicate between cores.
  • Chained-buffer - Reduces/avoids memory copy as much as possible.
  • Timer - One heap based, and another hashed timing-wheel based.
  • Graceful Shutdown - Gate can be used to ensure that task completes before event loop ends.

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.

About

An event-driven framework for non-blocking, asynchronous I/O in Rust.

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Languages