Commit Graph

262 Commits

Author SHA1 Message Date
Marten Seemann
97ab014479 don't retransmit 0-RTT packets when 0-RTT is rejected 2021-03-09 17:59:49 +08:00
Marten Seemann
765d26f132 don't reduce the congestion window when a path MTU probe packet is lost 2021-03-03 12:00:52 +08:00
Marten Seemann
dd8b21f264 use the actual maximum packet size in the Reno congestion controller 2021-03-03 12:00:14 +08:00
Marten Seemann
ac16ee565b Merge pull request #3049 from lucas-clemente/mockgen-source-mode
update gomock to v1.5.0, use mockgen source mode
2021-03-02 21:27:48 +08:00
Marten Seemann
75f49662c0 add a randomized test for the received_packet_history 2021-02-24 13:37:50 +08:00
q191201771
de0a6d4bbe refactor merge packet number ranges 2021-02-24 11:54:33 +08:00
Marten Seemann
efe6d02bef use mockgen source mode 2021-02-20 09:59:44 +08:00
Marten Seemann
383f1a6e89 update gomock to v1.5.0 2021-02-20 09:33:43 +08:00
Marten Seemann
3c0726e132 move the random number generator to the utils package 2021-02-18 09:58:34 +08:00
Marten Seemann
868127b6b4 Merge pull request #2940 from lucas-clemente/packet-number-skipping-cryptographic-random
use cryptographic random for determining skipped packet numbers
2021-01-17 14:38:16 +08:00
Marten Seemann
c5b610f6a5 remove unneeded check in receivedPacketHandler.IsPotentiallyDuplicate
The application data packet number space is never dropped.
2021-01-11 16:56:34 +08:00
Marten Seemann
31de6244e2 fix flaky sentPacketHandler test 2020-12-21 18:07:31 +07:00
Marten Seemann
6b87198c10 use cryptographic random for determining skipped packet numbers 2020-12-15 17:46:41 +07:00
Marten Seemann
d3abf0ec3f fix logging of bytes_in_flight when receiving an ACK
The tracing call needs to be issued after subtracting acknowledged and
lost packets from the bytes_in_flight.
2020-12-15 12:04:12 +07:00
Marten Seemann
431dff2172 reduce the number of skipped packet numbers for long connections 2020-12-06 12:54:39 +07:00
Marten Seemann
416d88990b only skip packet numbers in the application data packet number space 2020-12-06 12:54:39 +07:00
Marten Seemann
e8e6c7b47e use non-cryptographic random to generate skipped packet numbers 2020-12-06 12:54:39 +07:00
Marten Seemann
02b700804f remove support for quic-trace 2020-12-05 23:13:45 +07:00
Marten Seemann
1ade038211 Merge pull request #2899 from lucas-clemente/dont-allocate-for-acked-packets
don't allocate for acked packets
2020-12-05 21:08:44 +07:00
Marten Seemann
8d14d762e5 cache the slice used when detecting acked packets 2020-11-22 11:39:28 +07:00
Marten Seemann
fb6a536adb add a unit test for ACK of skipped packet detection 2020-11-22 11:02:48 +07:00
Marten Seemann
85fd5a2ec5 avoid allocating when detecting lost packets 2020-11-22 10:50:49 +07:00
Marten Seemann
ec55b6d9de rename loop variable 2020-11-22 10:48:12 +07:00
Marten Seemann
0c2f562411 allow an amplification factor of 3.x 2020-11-06 14:16:11 +07:00
Marten Seemann
6d00bdff3f Merge pull request #2841 from lucas-clemente/pad-server-initials
pad datagrams containing ack-eliciting Initial packets sent by the server
2020-10-30 15:12:03 +07:00
Marten Seemann
8752576f26 run gofumpt, enable the gofumpt linter 2020-10-26 09:33:35 +07:00
Marten Seemann
876ccd899b CONNECTION_CLOSE frames are not ack-eliciting 2020-10-25 13:22:33 +07:00
Marten Seemann
55a07c34ee add the exhaustive linter 2020-10-05 13:47:57 +07:00
Marten Seemann
bbd9fa4862 remove the EncryptionUnspecified enum value 2020-10-05 13:17:06 +07:00
Marten Seemann
6ecbc4186e Merge pull request #2786 from lucas-clemente/fix-flaky-packet-number-skipping-test
fix flaky packet number skipping test
2020-09-17 23:02:25 +07:00
Marten Seemann
5eaab73043 fix flaky packet number skipping test 2020-09-15 10:58:12 +07:00
Marten Seemann
fa4f0a9e7a keep track of ECN counts on received packets 2020-09-14 17:01:34 +07:00
Marten Seemann
3ef77b0c1a add an assertion that bytes_in_flight never becomes negative 2020-09-14 10:32:32 +07:00
Marten Seemann
8ea663d04a skip a packet number when sending a 1-RTT PTO packet 2020-09-11 11:16:48 +07:00
Marten Seemann
12c9427f43 save dummy packets in the packet history when skipping packet numbers 2020-09-11 11:01:30 +07:00
Marten Seemann
0044a69d73 also pass non-ack-eliciting packets to packet history (but don't save) 2020-09-11 11:01:29 +07:00
Marten Seemann
8f4257a883 delete unacknowledged packets from the packet history after 3 PTOs 2020-09-10 18:51:05 +07:00
Marten Seemann
a44c4f517f Merge pull request #2747 from lucas-clemente/simplify-sent-packet-history
refactor RTT measurements to simplify the sentPacketHistory
2020-09-09 23:50:26 +07:00
Marten Seemann
ad40c9cc83 fix dropping of 0-RTT packets 2020-09-07 16:00:16 +07:00
Marten Seemann
c7af1dc045 refactor RTT measurements to simplify the sentPacketHistory 2020-09-06 14:16:11 +07:00
Marten Seemann
166d91ae0f fix typo in error message in sent packet handler 2020-08-21 13:31:02 +07:00
Marten Seemann
03a1db641f Merge pull request #2689 from lucas-clemente/dont-arm-app-data-pto-before-handshake-confirmed
only arm the application data PTO timer after the handshake is confirmed
2020-07-29 07:58:29 +07:00
Marten Seemann
6b7f204676 simplify the maybeQueueAck method in the receivedPacketTracker 2020-07-28 10:03:06 +07:00
Marten Seemann
260356140f remove ACK decimation
The benefits of this are unclear when using Reno / Cubic.
2020-07-28 10:03:05 +07:00
Marten Seemann
8db76ab9c2 only arm the application data PTO timer after the handshake is confirmed 2020-07-27 16:40:21 +07:00
Marten Seemann
0b7efe10d1 trace congestion state changes 2020-07-23 11:53:59 +07:00
Marten Seemann
741dc28d74 move the RTTStats to the utils package
The RTTStats are used by the logging package. In order to instrument the
congestion package, the RTTStats can't be part of that package any more
(to avoid an import loop).
2020-07-23 11:53:08 +07:00
Marten Seemann
743ba962aa reset the PTO count before setting the timer when dropping a PN space 2020-07-08 11:51:56 +07:00
Marten Seemann
4121ea84f4 rename the logging.Tracer to ConnectionTracer 2020-07-01 16:57:01 +07:00
Marten Seemann
7fdace490c rename qlogger (member) variables to tracer 2020-07-01 16:53:45 +07:00