quinn-rs / quinn

Async-friendly QUIC implementation in Rust
Apache License 2.0
3.57k stars 364 forks source link

fix: remove debug assert that requires ordered acks for non mtu probe acks #1888

Closed tthebst closed 3 weeks ago

tthebst commented 3 weeks ago

Non-probe acks can be out of order. As of my understanding the ordering is only given for probe acks.

To confirm: Should it also be removed for probe acks?

fixes #1889

Ralith commented 3 weeks ago

This assert exists because the following code relies on that assumption for correctness. We need to study how this is occurring and adjust ACK processing and/or MTU detection logic accordingly.

tthebst commented 3 weeks ago

I would be willing to help debug this if you need help lmk.

djc commented 3 weeks ago

Any help would be appreciated, maybe you can have a read through the code and see if you can come up with a change proposal? Also a regression test that catches this would be good.