Crates.io | nuclei |
lib.rs | nuclei |
version | 0.4.4 |
source | src |
created_at | 2020-07-05 22:08:38.311214 |
updated_at | 2024-01-26 22:10:36.287008 |
description | Proactive IO & runtime system |
homepage | https://github.com/vertexclique/nuclei |
repository | https://github.com/vertexclique/nuclei |
max_upload_size | |
id | 261738 |
size | 177,189 |
Nuclei is a proactor-based IO system which is runtime agnostic and can work with any runtime. The proactor system's design principles are matching Boost Asio. Nuclei is not using a conventional reactor approach. It is completely asynchronous, and it's wrapping poll based IO in a proactive fashion.
Nuclei uses io_uring on Linux as the primary IO backend, secondarily you can use epoll. On MacOS, Nuclei is using kqueue. On Windows, the IOCP backend will be used.
The current io_uring implementation needs a modern Linux kernel (5.19+).
Please head to examples
directory to run the examples:
$ cd examples
$ cargo run --example fread-vect
$ cargo test --no-default-features --features=iouring # For iouring
$ cargo test # For others
When the iouring
feature gate is not enabled, the platforms evented backend is used. For example, on Linux, epoll
would be used.
Executor is using async-global-executor
. Available features are:
async-exec
: Uses async-io
feature of async-global-executor
.tokio
Gif is from the documentary called "Particle Fever".