Commit Graph

198 Commits

Author SHA1 Message Date
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
Marten Seemann
6bc304570b fix logging of the PTO packet number space 2019-11-23 14:58:11 +07:00
Marten Seemann
16a89a83d2 improve logging of loss detection timer cancelation 2019-11-23 10:49:37 +07:00
Marten Seemann
57b6c23947 only log skipped packet numbers if we actually sent something before
After a Retry, we would log the skipping of packet number 0, although it
was not actually skipped. We just had reset the packet number space.
2019-11-23 10:47:00 +07:00