moving my project from 0.15.2 to 0.16.x.
old code uses a reactor pattern:
- dedicated i/o thread.
- non-blocking sockets.
- big poll loop.
- linux only.
I want to support linux (epoll/io_uring), windows (iocp), and macos (kqueue).
my current flow is one io thread with a number of "client" threads.
Questions:
- does the new
std.ioallow implementing a reactor-style loop? - is it possible to run a single-threaded proactor in 0.16.x?
- does 0.16.x force moving the whole architecture to proactor?
- what is the idiomatic way to implement this?
' work