4 ms·
Great! I was looking into something like this. I assume ending up with epoll will be better?
by bufo 3y ago
Great! I was looking into something like this. I assume ending up with epoll will be better?
- eqvinox 3y agoConsidering that epoll is Linux specific anyway, I would highly advise going straight to io_uring. epoll has a whole bunch of footguns in particular with edge triggered modes of operation; io_uring has a higher initial threshold in understanding how it works but is worth that effort. (Unless you need to support older Linux kernels that have epoll but no io_uring yet.)
- bufo 3y agoOh yeah I meant io_uring too. Plus Windows copied it so you can implement things very similarly for Windows.
- another2another 3y agoThanks for that, had no idea. I've used IO Completion ports on Windows before, and found it to be pretty useful API but I guess this is also a useful addition. Basically no good idea goes uncopied by Microsoft :) https://learn.microsoft.com/en-us/windows/win32/api/ioringapi/ https://learn.microsoft.com/en-us/windows/win32/api/ioringap... >Minimum supported client Windows Build 22000 Alas I have no idea from that what the lowest version of Windows that supports this API is though.
- bufo 3y agoBuild 22000 is Windows 10 21H2.
- adastra22 3y agoIs there something similar on macOS/iOS?
- bufo 3y agoKqueue! Not the same design or as flexible as io_uring though.