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