Skip to content

negrel/libzev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 [email protected], 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

About

➰ Low-level cross platform event loop.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published