Remix.run Logo
to_ziegler 2 days ago

Great point. It is indeed the case that most io_uring libraries are lagging behind liburing. There are two main reasons for this: (1) io_uring development is moving very quickly (see the linked figure in another comment), and (2) liburing is maintained by Axboe himself and is therefore tightly coupled to io_uring’s ongoing development. One pragmatic "solution" is to wrap liburing with FFI bindings and maintain those yourself.

LAC-Tech 2 days ago | parent [-]

That's what liburing_rs[1] is doing.

I am foolishly trying to make pure rust bindings myself [2].

[1] https://docs.rs/axboe-liburing/

[2] https://docs.rs/hringas

But yeah the liburing test suite is massive, way more than anyone else has.

to_ziegler 2 days ago | parent [-]

Pretty nice library! Personally, I think having a language-native library is great. The only downside is that it becomes a long-term commitment if it needs to stay in sync with the development of io_uring. I wonder whether it would be a good idea to provide C bindings from the language-specific library, so it can be more easily integrated and tested into the liburing test suite with minimal effort.

LAC-Tech 2 days ago | parent [-]

woah that reverse uno of making C bindings from my rust bindings so I can piggy back on the awesome liburing tests is really clever :) thanks for that.