-
To add on this, we're adding infrastructure for fixed buffers pre-registered with the kernel into tokio-uring.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
Depending on whether the system calls for accessing the network stack will become the bottleneck, you may also need to use io_uring with kernel side polling for this (briefly explained in this paper on page 15) in addition to pre-allocating your own buffers and avoiding copying memory where you can. You mention you are using tokio, it has a library for io_uring and there is also this vanilla io_uring library crate, but it's a bit more low level. Both are for linux only and I'm not familiar enough with Windows to say if there exists something similar in Rust for Windows systems (which has I/O Rings), maybe someone else can comment on that?
-
You're likely interested in: https://github.com/ixy-languages/ixy.rs