Commit graph

12 commits

Author SHA1 Message Date
Marten Seemann
870fbe7ab0 migrate to Ginkgo v2 2022-10-11 16:38:44 +04:00
Marten Seemann
c3289188d1 append ACK ranges instead of allocating a new slice 2022-09-05 20:15:35 +03:00
Marten Seemann
7ebe1430ef
use a generic linked list (#3487) 2022-08-10 09:50:21 -07:00
Marten Seemann
75f49662c0 add a randomized test for the received_packet_history 2021-02-24 13:37:50 +08:00
Marten Seemann
8752576f26 run gofumpt, enable the gofumpt linter 2020-10-26 09:33:35 +07:00
Marten Seemann
bee5ef624f determine if a received packet is new (and not a duplicate / delayed packet) 2020-06-01 09:31:11 +07:00
Marten Seemann
440ff107a3 drop duplicate packets
Duplicate detection uses the same data structure that is used to track
received packets to generate ACK frames. That means that after an old
ACK range has been pruned, a severly delayed packet might be incorrectly
detected as a duplicate.
As we wouldn't have acknowledged receipt of this packet, this situation
would have resulted in a retransmission by the peer anyway, so dropping
the packet won't cause a big regression.
2020-05-27 09:20:51 +07:00
Marten Seemann
d5585628d8 remove unneeded return value of ReceivedPacketHandler.ReceivedPacket() 2019-08-05 06:55:26 +07:00
Marten Seemann
475ba63164 never keep track of more than 500 ACK ranges
This is achieved by deleting the oldest ACK ranges when receiving a
packet that creates a new ACK range such that this limit is exceeded.
2019-08-05 06:55:22 +07:00
Marten Seemann
fb9fafe3b4 don't add ACK ranges for delayed packets, if history was already deleted 2019-07-30 11:19:16 +07:00
Marten Seemann
ca896f953a rename AckRange.{First, Last} to AckRange.{Smallest, Largest} 2018-04-18 12:25:26 +09:00
Marten Seemann
3b82628dbe internalize ackhandler and congestion 2018-02-02 08:40:56 +08:00
Renamed from ackhandler/received_packet_history_test.go (Browse further)