Closed Icelk closed 1 month ago
After some more consideration and looking at the relevant code bits in quinn (listed below), the normal code path only sends one Transmit
at a time and groups several datagrams into a single Transmit
if that's needed. The code path that triggered the warning (removed in f8c590b) was probably the connection being reset in the middle of a send operation. It will not improve performance by implementing "several sends at the same time", since this isn't what happens.
Normal send code: https://github.com/quinn-rs/quinn/blob/b55ec2925174f06dcba9876439085150cc11336d/quinn/src/connection.rs#L946-L1000 Non-normal (before the handshake is complete / connection resets) send code: https://github.com/quinn-rs/quinn/blob/b55ec2925174f06dcba9876439085150cc11336d/quinn/src/endpoint.rs#L504-L526
Currently, the uring HTTP/3 implementation only allows one packet to be sent at a time. See 08245fe for more details
Transmit
data into a vec and allow a stack of "current tasks"