private-octopus / picoquic

Minimal implementation of the QUIC protocol
MIT License
523 stars 153 forks source link

Verify ack loop #1568

Closed huitema closed 8 months ago

huitema commented 8 months ago

Address the "ACK loop" reported in #1558.

ACK loop could have two causes:

The first cause was addressed by fixing picoquic_retransmit_needed in PR #1545, but we add more safety using "defense in depth", not adding acks to repeated packets if the packet length is at or below the header length.

The second cause is addressed by adding the ack_loop unit test, to check the behavior of the function picoquic_is_ack_needed.