runtime that goes brrrr
- Rust 93.5%
- D 4.5%
- Makefile 1.5%
- LLVM 0.2%
- Shell 0.2%
| brr-lib | more net methods | |
| http-server | fs stat: use CStr | |
| .gitignore | update gitignore | |
| Cargo.lock | feat: add raw_submission | |
| Cargo.toml | use forked rustix-uring | |
| README.md |
feat: timeout for BrrFutEntries
|
|
| TODO | fixes | |
When the engine goes brrr 🚗💨
Asynchronous runtime using only/mainly (unless not possible) io_uring. Not designed for any other platform.
Examples in the brr-lib/examples directory.
Goal
Get rid of the 20's century way of speaking to the kernel via syscalls and go all-in io uring or even better, no syscalls.
Features
- Read and recv using registered buffer
- Basic File operations
- TCP/UDP
- sendfile mimic (with pipe2 and splice)
- channels (basic mpsc)
- non-blocking close for droped FDs
- IO_LINK optimization (one async task for multiple ring entries)
- Sharding (runtime per core)
- Buffered IO
- Operation timeout using IORING_OP_LINK_TIMEOUT
Crates
brr-lib: Base library with the runtime and all the capabilitieshttp-server: Basic http static file server using the runtime