| Crates.io | nuclei |
| lib.rs | nuclei |
| version | 0.4.4 |
| created_at | 2020-07-05 22:08:38.311214+00 |
| updated_at | 2024-01-26 22:10:36.287008+00 |
| 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.tokioGif is from the documentary called "Particle Fever".