Greetings!
In application code it's quite common to write/read a whole buffer and
only then continue task execution. The traditional approach is to wrap
read/write sycall/OP in loop, which is often done as part of a language
std. In synchronous context it makes sense because it allows to process
things like EINTR. But in asynchronous (event-driven) context I think it
makes a bit less sense.
What do you think about potential addition of OPs like read_exact and
write_all, i.e. OPs which on successful CQE guarantee that an input
buffer was processed completely? They would allow to simplify user code
and in some cases to significantly reduce ring traffic.
Best regards,
Artyom Pavlov.