quinn-rs / quinn

Async-friendly QUIC implementation in Rust
Apache License 2.0
3.85k stars 394 forks source link

Send ACK_FREQUENCY frames intelligently rather than spamming IMMEDIATE_ACK #1656

Closed Ralith closed 1 year ago

Ralith commented 1 year ago

Alternative to #1654. Reduces the amount of communication required compared to the status quo when the RTT is not varying wildly.

This preserves the pre-existing behavior where max_ack_delay is effectively clamped below the current RTT. It might be useful to also offer an escape hatch to force it higher, although such a configuration is contrary to the "SHOULD" recommendation of the ack frequency draft.

djc commented 1 year ago

I'm honestly not completely confident I understand all the nuance here, but it seems like a nice simplification and looks like we got decent test coverage of what's going on.