quic: fix stall datagrams, if no pending streams - #64303
Conversation
If you are only sending datagrams and so streams, your datagrams could stall. There were two reasons: i. A SendPendingDataScope in SendDatagrams was missing. ii. SendPendingData did not attempt to send datagrams, if there were no stream data. Signed-off-by: Marten Richter <[email protected]>
|
Review requested:
|
|
This may conflict with the PR of #64234 . The changes of the tests are a bit of a cover up. So suggestions are welcome. The underlying problem is that ngtcp2 does not indicate that instead of a datagram, another packet is sent. (In this case, it is the acknowledgment of the reestablished connection; I have debugged it, and it will run several times to wait for some time to pass.). So also these waiting counts as failure. |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as duplicate.
This comment was marked as duplicate.
|
Landed in af3bbab |
If you are only sending datagrams and so streams, your datagrams could stall. There were two reasons: i. A SendPendingDataScope in SendDatagrams was missing. ii. SendPendingData did not attempt to send datagrams, if there were no stream data. Signed-off-by: Marten Richter <[email protected]> PR-URL: #64303 Reviewed-By: Stephen Belanger <[email protected]> Reviewed-By: James M Snell <[email protected]>
If you are only sending datagrams and so streams, your datagrams could stall. There were two reasons: i. A SendPendingDataScope in SendDatagrams was missing. ii. SendPendingData did not attempt to send datagrams, if there were no stream data. Signed-off-by: Marten Richter <[email protected]> PR-URL: #64303 Reviewed-By: Stephen Belanger <[email protected]> Reviewed-By: James M Snell <[email protected]>
If you are only sending datagrams and so streams, your datagrams could stall. There were two reasons: i. A SendPendingDataScope in SendDatagrams was missing. ii. SendPendingData did not attempt to send datagrams, if there were no stream data. Signed-off-by: Marten Richter <[email protected]> PR-URL: #64303 Reviewed-By: Stephen Belanger <[email protected]> Reviewed-By: James M Snell <[email protected]>
If you are only sending datagrams and so streams,
your datagrams could stall.
There were two reasons:
i. A SendPendingDataScope in SendDatagrams was
missing.
ii. SendPendingData did not attempt to send
datagrams, if there was no stream data.
Also two tests needed changes.