libzev is a low level cross platform event loop inspired by io_uring.
It works as follow:
- You queue I/O operations
- You submit I/O operations in submission queue (SQ)
- You poll for completed operations in completion queue (CQ) and callbacks are executed
libzev
+-----------------------------------------+
queue poll
I/O I/O
operation submit completion
+-----+ | +----+ +----+ +----+ | +-----+
| App +---|--->| SQ +------->| Io +------->| CQ +---|--->| App |
+-----+ | +----+ +----+ +----+ | +-----+
| |
+-----------------------------------------+
My goal for libzev is to produce a production-quality, permissively licensed,
io_uring like event loop library for Zig and C. It's main purpose is to enable
parallelized I/O with a focus on usability and correctness.
If you want to contribute to libzev to add a feature or improve the code
contact me at [email protected], open an
issue or make a
pull request.
Please give a ⭐ if this project helped you!
MIT © Alexandre Negrel
