mitchellh / libxev

libxev is a cross-platform, high-performance event loop that provides abstractions for non-blocking IO, timers, events, and more and works on Linux (io_uring or epoll), macOS (kqueue), and Wasm + WASI. Available as both a Zig and C API.
MIT License
1.97k stars 65 forks source link

io_uring improvements (error sets, completion cancellation, queued write retries) #60

Closed recursiveGecko closed 1 year ago

recursiveGecko commented 1 year ago

There are a couple of things here, I'm happy to split them up into multiple PRs:

penberg commented 1 year ago

@recursiveGecko I think it's fine to have these in one pull request, but obviously it's really @mitchellh's preference that matters here.

mitchellh commented 1 year ago

This looks really good. I'm going to make some cosmetic changes but the core work here is excellent. Thank you. All the changes in one PR is fine.

mitchellh commented 1 year ago

I know this was still marked as draft but the queueWrite fixes were too good and the remainder looked ready to go to me. If you have some issues let me know! Thank you again, so much!