A curated, purpose-driven collection of examples demonstrating Linux's high-performance io_uring
API โ focused on building real-world, scalable asynchronous networking systems.
This project emerged from the development experience of Vortex โ a high-performance Layer 4 Load Balancer built entirely with io_uring
. During Vortexโs development, the lack of well-structured documentation and practical references made mastering io_uring
frustrating and time-consuming.
io-uring-lab is here to fix that.
The goal is to provide:
- Clear, beginner-to-advanced step-by-step examples
- Real-world usage patterns (not toy demos)
- A foundation for building async libraries (HTTP, WebSocket, proxies)
- True non-blocking I/O with minimal syscalls
- Event-driven architecture built into the kernel
- Unified API for file, socket, timeout, and polling
- Clean replacement for legacy
epoll
,select
, andpoll
This lab exists to understand every relevant operation from the ground up.
MIT โ use freely, contribute boldly.