zeromq / libzmq

ZeroMQ core engine in C++, implements ZMTP/3.1
https://www.zeromq.org
Mozilla Public License 2.0
9.7k stars 2.35k forks source link

io_uring backend #4142

Open ng5 opened 3 years ago

ng5 commented 3 years ago

Is there a plan to use new io_uring backend in addition to epoll.

Thanks

bluca commented 3 years ago

I thought about it many times already - ideally on modern Linux we'd dispense with the I/O thread entirely for messaging, and instead use io_uring to get data on/off sockets instead of the internal pipes, and have BPF programs do the message decoding/encoding. The background thread would just handle setup, teardown and such state changes.

It is of course easier said than done, especially due to lack of time. PRs welcome.