quinn-rs / quinn

Async-friendly QUIC implementation in Rust
Apache License 2.0
3.76k stars 380 forks source link

Only send ACKs when they've changed #1245

Closed Ralith closed 2 years ago

Ralith commented 2 years ago

Saves a great deal of redundancy when transmitting bulk data, and gives the receiver less work to do. If an ACK is lost, we'll necessarily retransmit it, because packets are only deemed lost when an ACK is received from the peer which does not cover them.

Reduces the number of ACKs sent by the server in the bulk download benchmark from e.g. 930818 to 4228.