Commit graph

301 commits

Author SHA1 Message Date
Marten Seemann
64ef72fd68 don't switch to PTO mode after early retransmit 2020-05-31 10:47:13 +07:00
Marten Seemann
ee8a0aeb1b improve unit tests for early retransmit 2020-05-31 10:43:04 +07:00
Marten Seemann
99dac1581a fix broken unit test in ackhandler 2020-05-29 17:20:47 +07:00
Marten Seemann
8d00ec135e
Merge pull request #2569 from lucas-clemente/drop-duplicate-packets
drop duplicate packets
2020-05-29 16:39:46 +07:00
Marten Seemann
60a918a108 limit available window to 3x of received bytes before address validation 2020-05-27 09:40:50 +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
b7af419bd0
Merge pull request #2527 from lucas-clemente/reset-pto-when-dropping-packet-number-space
reset the PTO when dropping a packet number space
2020-05-05 18:13:45 +07:00
Marten Seemann
741a1aa211 reset the PTO when dropping a packet number space 2020-05-05 16:28:25 +07:00
Marten Seemann
538cbf7dc0 don't reset the PTO count on Initial ACKs before address validation 2020-05-01 09:58:34 +07:00
Marten Seemann
15a19f681d add a unit test for resetting of the PTO count when receiving an ACK 2020-05-01 09:54:03 +07:00
Marten Seemann
d1d4e5ce02 reset the PTO count when receiving a Retry 2020-04-17 15:15:11 +07:00
Marten Seemann
140b90449b use decimal numbers when logging packet numbers 2020-04-16 09:50:55 +07:00
Marten Seemann
a983c40cdd don't log a metrics_update when sending a non-ack-eliciting packet 2020-04-04 13:45:25 +07:00
Marten Seemann
92c0f81bf4 improve error handling in sentPacketHandler 2020-04-04 13:00:39 +07:00
Marten Seemann
c810f95632
Merge pull request #2449 from lucas-clemente/qlog-loss-timer
implement the qlog loss timer events
2020-04-02 16:35:51 +07:00
Marten Seemann
5365ac2c47
Merge pull request #2457 from lucas-clemente/anti-deadlock-timer
correctly set anti-deadlock timer after the Initial space was dropped
2020-04-02 15:51:16 +07:00
Marten Seemann
d368117b13 qlog changes to the loss timer 2020-04-02 15:50:40 +07:00
Marten Seemann
3e2c27e4cd qlog updated metrics when sending a packet 2020-04-02 15:05:46 +07:00
Marten Seemann
c4c372744a correctly set anti-deadlock timer after the Initial space was dropped 2020-04-02 15:04:08 +07:00
Marten Seemann
c10af76a4a
Merge pull request #2455 from lucas-clemente/loss-before-ack
notify the congestion controller of losses first
2020-04-02 14:38:39 +07:00
Marten Seemann
5ce1eb6013 move OnPacketLost out of detectAndRemoveLosPackets 2020-04-01 18:44:52 +07:00
Marten Seemann
269f14d86c notify the congestion controller of losses first 2020-04-01 17:33:29 +07:00
Marten Seemann
e2e3e10a63 rename methods in sentPacketHandler to match the draft 2020-04-01 13:39:55 +07:00
Marten Seemann
37f1a3fdda simplify removing of acked packets from packet history 2020-04-01 13:37:17 +07:00
Marten Seemann
e942a590fd rename peerNotAwaitingAddressValidation to peerCompletedAddressValidation 2020-03-31 08:30:16 +07:00
Marten Seemann
ef901e3435 use the current timestamp of every event in qlog 2020-03-23 16:25:42 +07:00
Marten Seemann
905407e477
Merge pull request #2427 from lucas-clemente/fix-pto-count-logging
only qlog the PTO count reset when the PTO count actually changed
2020-03-23 16:20:44 +07:00
Marten Seemann
6d61dccc2f rename the constructors for the various qerr.Error flavors 2020-03-21 10:53:03 +07:00
Marten Seemann
43d3eb2298 only qlog the PTO count reset when the PTO count actually changed 2020-03-18 16:02:41 +07:00
Marten Seemann
cdf2449785 don't send anti-deadlock packet after handshake confirmation 2020-03-11 15:08:01 +07:00
Marten Seemann
49a5856efb qlog changes of the PTO count 2020-03-10 16:51:28 +07:00
Marten Seemann
cef5416356 reset the PTO count when dropping a packet number space 2020-03-05 08:48:33 +07:00
Marten Seemann
24b840f56d fix dropping of the Initial packet number space for clients 2020-02-24 13:57:54 +07:00
Marten Seemann
a5fc72047e simplify pruning of old ACK ranges 2020-02-21 15:46:58 +07:00
Marten Seemann
f317a471bb use a single constructor for SentPacketHandler and ReceivedPacketHandler 2020-02-21 15:45:24 +07:00
Marten Seemann
e97e3040ed make sure the client sends packets to unblock the server 2020-02-21 12:29:11 +07:00
Marten Seemann
d20c1bfaed remove unused parameter from SentPacketHandler.ReceivedAck 2020-02-21 10:05:17 +07:00
Marten Seemann
1692adb142 fix unit tests for the early retransmit timer 2020-02-18 12:04:27 +07:00
zverevm
4f7b0b1675 Do not ignore loss timer. 2020-02-17 12:36:42 +01:00
Marten Seemann
5a7f743733 qlog lost packets 2020-02-12 10:42:38 +07:00
Marten Seemann
f13ca7e791 qlog loss recovery metrics 2020-02-12 10:42:38 +07:00
Marten Seemann
2473eb0895 queue 0-RTT packets for retransmission when 0-RTT is rejected 2020-01-30 09:11:44 +07:00
Marten Seemann
31e4691ffd move congestion controller related constants to the congestion package 2020-01-22 14:40:14 +07:00
Marten Seemann
951477af92 queue 0-RTT packets for retransmission after receiving a Retry 2020-01-01 18:04:02 +04:00
Marten Seemann
40a993e31c check that the client doesn't switch back to 0-RTT after sending 1-RTT 2020-01-01 18:04:02 +04:00
Marten Seemann
d6b50cf15a use the same packet number space for received 0-RTT and 1-RTT packets 2019-12-30 18:39:21 +04:00
Marten Seemann
b25b2f6921 use the same packet number space for sent 0-RTT and 1-RTT packets 2019-12-30 18:39:21 +04:00
Marten Seemann
c46c72aae8
Merge pull request #2228 from lucas-clemente/fix-pto-for-dropped-pn-spaces
reset the loss detection timer when dropping a packet number space
2019-11-24 21:11:46 +07:00
Marten Seemann
2f54d1638c
Merge pull request #2238 from lucas-clemente/fix-pto-logging
fix logging of the PTO packet number space
2019-11-24 21:09:39 +07:00
Marten Seemann
2265513b2d
Merge pull request #2229 from lucas-clemente/fix-skipped-pn-logging
only log skipped packet numbers if we actually sent something before
2019-11-24 21:07:00 +07:00