nuclei 0.1.2

Proactive IO & runtime system
Documentation
# Nuclei Nuclei is a proactive IO system which is runtime agnostic and can work with any runtime. Proactive system's design principles matching to [Boost Asio](https://www.boost.org/doc/libs/1_47_0/doc/html/boost_asio/overview/core/async.html). Nuclei is not using conventional reactor approach. It is completely asynchronous, and it's wrapping poll based IO proactive fashion. Nuclei uses [epoll](https://en.wikipedia.org/wiki/Epoll) on Linux as primary evented IO backend, secondarily (if your system supports) you can use [io_uring](https://kernel.dk/io_uring.pdf). On MacOS, Nuclei is using [kqueue](https://en.wikipedia.org/wiki/Kqueue). On Windows, [IOCP](https://en.wikipedia.org/wiki/Input/output_completion_port) backend is used. Current io_uring implementation needs Linux kernel 5.6+. ## Features * Async TCP, UDP, Unix domain sockets and files... * Proactor system don't block. * Scatter/Gather operations * Minimal allocation as much as possible. * More expressive than any other runtime. * Completely asynchronous I/O system with lock free programming. ## Examples For more information about how to use Nuclei with std IO types please head to [examples](https://github.com/vertexclique/nuclei/tree/master/examples). ### Executor Executor is by default set to Bastion's executor. If you want to use different executor, you can use one of the available runtimes with one of these features: `bastion`, `asyncstd`, `tokio`, `smol`.