Commit Graph

127 Commits

Author SHA1 Message Date
Marten Seemann
5163ae1f61 move duplicate detection to receivedPacketHistory 2016-10-29 01:29:01 +07:00
Marten Seemann
5fa4ea73e5 fix typo 2016-10-28 12:30:52 +07:00
Marten Seemann
2c11335de4 limit number of ACK ranges in ReceivedPacketHistory
fixes #195
2016-10-28 12:17:41 +07:00
Marten Seemann
7cf68d50db fix DOS against ReceivedPacketHandler garbage collector
fixes #334
2016-10-27 23:34:39 +07:00
Marten Seemann
2e7fb25672 remove variable type from congestion server parameters 2016-10-27 22:11:16 +07:00
Lucas Clemente
8f7a96dfaf retransmit two outstanding packets on RTO
fixes #324
2016-09-20 11:09:14 +02:00
Lucas Clemente
9b2127018d add exponential backoff to RTO calculation
fixes #112
2016-09-09 00:26:18 +02:00
Lucas Clemente
a0fb14381e don't send more packets when there are too many unacked
fixes #249, fixes #322
2016-09-08 11:21:03 +02:00
Lucas Clemente
6f4955d2d0 use new packet receive timestamp in sentPacketHandler
fixes #150
2016-09-07 15:51:04 +02:00
Lucas Clemente
e3c90c181a only consider novel packages for RTT 2016-09-07 15:51:04 +02:00
Lucas Clemente
b93f4ec831 minor cleanup 2016-09-05 23:10:18 +02:00
Lucas Clemente
8c6eb61850 set max tracked packets to max cwnd * 2 2016-09-05 13:35:10 +02:00
Lucas Clemente
a4d4506f31 remove entropy from packet unpacker and session 2016-09-01 20:26:31 +02:00
Lucas Clemente
b032a07f70 remove ackhandlerlegacy and frames.AckFrameLegacy 2016-09-01 20:26:31 +02:00
Lucas Clemente
a8b3e1ef8e move ackhandler.Packet and PacketList shared types to new ackhandler 2016-09-01 20:26:31 +02:00
Marten Seemann
7d05640b24 change AckHandler interfaces to allow forcing a StopWaitingFrame
ref #259
2016-08-18 12:45:53 +07:00
Marten Seemann
7d05ebf0bb cache last StopWaiting in StopWaitingManager and return it if forced
ref #259
2016-08-18 12:40:50 +07:00
Lucas Clemente
baaf7027ae remove LargestInOrderAcked from v34 ackhandler
possibly: fix #283, fix #291
2016-08-16 16:12:46 +02:00
Marten Seemann
4f3f1065cb improve return values of (n)ackPacket in new SentPacketHandler 2016-08-16 19:43:40 +07:00
Lucas Clemente
1713d38576 add an ackhandler consistency check that fails the drop tests 2016-08-15 10:33:50 +02:00
Lucas Clemente
5cb3c0a771 replace ProbablyHasPacketForRetransmission with a call to MaybeQueueRTOs
fixes #261
2016-08-15 10:33:50 +02:00
Lucas Clemente
157055e99c reset the RTO timer when queueing an RTO retransmission 2016-08-15 10:33:50 +02:00
Marten Seemann
7796fad2b7 fix processing of ACK frames with old ACK ranges in new SentPacketHandler
fixes #280
2016-08-15 14:04:03 +07:00
Lucas Clemente
1ceb7fc4e0 fix retransmission logging in sent packet handlers 2016-08-12 21:27:41 +02:00
Marten Seemann
e7d7207206 garbage collect skippedPackets slice in SentPacketHandler 2016-08-11 11:03:45 +02:00
Marten Seemann
65838f34a8 limit number of tracked skipped packet numbers in SentPacketHandler 2016-08-11 11:03:45 +02:00
Marten Seemann
86d73970fc reject ACKs for skipped packet numbers 2016-08-11 11:03:45 +02:00
Marten Seemann
b129d13adc detect skipped packet numbers in SentPacketHandler 2016-08-11 11:03:45 +02:00
Marten Seemann
c2e0717c89 remove unused error from SentPacketHandler 2016-08-11 15:58:23 +07:00
Lucas Clemente
805c21cb77 use LeastUnacked in packet number derivation
fixes #271
2016-08-10 13:32:36 +02:00
Marten Seemann
fad5949b05 check that sent packet numbers always increase in new AckHandler 2016-08-10 08:45:01 +07:00
Marten Seemann
cba965cc0c use linked list to store sent packets in new AckHandler 2016-08-10 08:44:51 +07:00
Lucas Clemente
c8bb818e4d fix some typos 2016-08-06 14:46:09 +02:00
Lucas Clemente
2097509d16 fix go vet warning 2016-08-06 14:45:11 +02:00
Lucas Clemente
3b5d10b1f2 properly increase LargestInOrderAcked past retransmitted packets 2016-08-05 15:07:13 +02:00
Lucas Clemente
ba3b293811 don't NACK already retransmitted packets in v34
ref #243, #248, #251
2016-08-04 22:24:43 +02:00
Marten Seemann
19f627af6f fix NACKing of packets below lowest ACK range in new SentPacketHandler
This did not cause an error, since the packet didn't exist in the
packetHistory. With this fix, it is more consistent and it saves one
loop iteration.
2016-08-03 13:13:32 +07:00
Marten Seemann
0c873d69ec fix lowestInreceivedTimes index in new ReceivedPacketHandler 2016-08-03 13:09:52 +07:00
Marten Seemann
af3f69c0f1 always delete packets from packetHistory when receiving a StopWaiting
in new AckHandler

fixes #239
2016-08-02 13:38:13 +07:00
Marten Seemann
955234487b delete receivedTimes when receiving a StopWaiting in new AckHandler
ref #239
2016-08-02 12:13:41 +07:00
Marten Seemann
e8a2c497e9 update StopWaitings when queueing retransmissions
fixes #231
2016-07-30 15:15:51 +07:00
Marten Seemann
71243ccccb don't send the same StopWaitingFrame twice
fixes #229
2016-07-30 14:15:45 +07:00
Marten Seemann
7604f7927d send a StopWaiting with every ACK in QUIC 34
fixes #185
2016-07-29 18:02:43 +07:00
Marten Seemann
73a64fde5f remove StopWaitingManager from new AckHandler 2016-07-29 18:02:43 +07:00
Marten Seemann
03bad0e86b use the same interface for new and legacy AckHandlers
ref #55
2016-07-26 18:31:54 +07:00
Marten Seemann
50a7e55c72 rename AckHandlerNew to AckHandler
ref #55
2016-07-26 13:48:13 +07:00
Marten Seemann
eb03ed5334 rename AckHandler package to AckHandlerLegacy 2016-06-21 19:51:26 +07:00
Marten Seemann
288cb9e143 rename AckFrame to AckFrameLegacy 2016-06-21 19:51:26 +07:00
Marten Seemann
c095261749 limit number of tracked packets in ReceivedPacketHandler
fixes #132
2016-06-11 13:57:54 +07:00
Lucas Clemente
4d5ff5d61e call OnCongestionEvent when packets are retransmitted due to an RTO
fixes #168
2016-06-06 11:56:32 +02:00