Skip to content

Latest commit

 

History

History
45 lines (33 loc) · 1.75 KB

File metadata and controls

45 lines (33 loc) · 1.75 KB

libzev - Cross platform event loop.

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 |
+-----+   |    +----+        +----+        +----+   |    +-----+
          |                                         |           
          +-----------------------------------------+           

Goals

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.

Contributing

If you want to contribute to libzev to add a feature or improve the code contact me at alexandre@negrel.dev, open an issue or make a pull request.

🌠 Show your support

Please give a ⭐ if this project helped you!

buy me a coffee

📜 License

MIT © Alexandre Negrel