Commit Graph

169 Commits

Author SHA1 Message Date
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
Marten Seemann
e586a6cc8f reset the loss detection timer when dropping a packet number space 2019-11-23 10:40:02 +07:00
Marten Seemann
92b898e811 Merge pull request #2218 from lucas-clemente/pto-per-pn-space
change PTO to be per packet number space
2019-11-22 18:35:05 +08:00
Marten Seemann
da996f8066 fix recording of sent and lost frames for quic-trace 2019-11-18 12:50:16 +08:00
Marten Seemann
f3e3def599 don't send application data probe packets before the handshake completes 2019-11-12 14:12:24 +07:00
Marten Seemann
9c3b553e47 change PTO to be per packet number space 2019-11-12 11:29:51 +07:00
Marten Seemann
d00828b762 make it possible to get the PTO with and without max_ack_delay 2019-11-12 11:27:30 +07:00
Marten Seemann
82873477ed remove stray log statement in setLossDetectionTimer() 2019-10-24 17:02:30 +07:00
Marten Seemann
ab2b26a5cb add the unparam linter 2019-09-17 13:44:05 +07:00
Marten Seemann
4cb8bf3101 put STREAM frames back into the pool when they are acknowledged 2019-09-07 16:31:52 +07:00
Marten Seemann
3525a51ada add an OnAcked callback to ackhandler.Frames 2019-08-31 17:34:54 +07:00
Marten Seemann
e622207822 assemble ackhandler.Frames, not wire.Frames, when packing a packet 2019-08-31 17:34:54 +07:00
Marten Seemann
dd6e8a7424 Merge pull request #2095 from lucas-clemente/frame-retransmisions
retransmit frames, not packets
2019-08-31 17:34:10 +07:00
Marten Seemann
0063b1e945 Merge pull request #2061 from lucas-clemente/fix-ack-delay-with-non-monotonic-clock
make sure that the ACK delay time is always a positive value
2019-08-31 17:10:28 +07:00
Marten Seemann
1d392b4276 retransmit frames instead of packets 2019-08-29 15:00:10 +07:00
Marten Seemann
5fa38a83fa remove tracking of which packet is retransmission of which other packet 2019-08-26 14:38:37 +07:00
Marten Seemann
a3d6f08074 move the ackhandler.Packet to the ackhandler interface file 2019-08-26 09:55:42 +07:00
Marten Seemann
d77368af36 Merge pull request #2083 from lucas-clemente/simplify-largest-acked-tracking
simplify ackhandler.Packet
2019-08-24 08:29:05 +07:00
Marten Seemann
0c85e0eab9 remove unused PacketType field from the ackhandler.Packet 2019-08-21 14:49:00 +07:00
Marten Seemann
9221149194 simplify how the largest acked is passed to the ackhandler 2019-08-21 14:40:38 +07:00
Marten Seemann
e16bf92dc6 simplify (and speed up) IsFrameAckEliciting 2019-08-20 13:18:32 +07:00
Marten Seemann
0b0eb2432a make sure that the ACK delay time is always a positive value
On systems without a monotonic clock, this value could become negative,
which would cause a uint underflow.
2019-08-14 16:43:55 +07:00
Marten Seemann
1a9b568177 implement packet-threshhold based loss detection 2019-08-13 08:35:48 +07:00
Marten Seemann
94a760ecff refactor DetectLostPackets to match the draft 2019-08-13 08:35:48 +07:00
Marten Seemann
bceefa2f70 Merge pull request #2049 from lucas-clemente/fix-initial-pto
fix initial PTO timer duration
2019-08-12 21:05:54 -04:00
Marten Seemann
5189cb94f1 fix initial PTO timer duration 2019-08-10 17:21:31 +07:00
Marten Seemann
0e4b25958f use early retransmit for crypto packets 2019-08-08 15:47: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
792983dec6 merge crypto and PTO timeout 2019-07-31 07:59:12 +07:00