Marten Seemann
592fb9cad9
introduce a dedicated qerr.TransportError and qerr.ApplicationError
2021-05-01 09:38:48 +07:00
Marten Seemann
dd052657c5
declare Path MTU probe packets lost with the early retransmit timer
2021-04-30 23:57:49 +07:00
Marten Seemann
17d9860db6
declare the handshake confirmed when receiving an ACK for a 1-RTT packet
...
... on the client side. Both the receipt of HANDSHAKE_DONE and the
receipt of an ACK for a 1-RTT packet are sufficient for declaring
confirmation of the handshake.
2021-04-14 22:33:45 +07:00
Marten Seemann
3138a45fde
Merge pull request #3129 from lucas-clemente/limit-retry-rtt-measurement
...
don't use a lower RTT than 5ms after receiving a Retry packet
2021-04-02 19:30:06 +07:00
Marten Seemann
4b10e67bf1
Merge pull request #3132 from lucas-clemente/amplification-limit-fixes
...
various amplification limit fixes
2021-04-02 18:32:38 +07:00
Marten Seemann
37a3938543
Merge pull request #3126 from lucas-clemente/dont-pto-pmtu-packets
...
don't regard PMTU probe packets as outstanding
2021-04-02 17:41:30 +07:00
Marten Seemann
f60306c4bf
Merge pull request #3107 from lucas-clemente/fix-cubic-initialization
...
initialize the congestion controller with the actual max datagram size
2021-04-02 17:35:13 +07:00
Marten Seemann
b6634fe124
reset the loss detection timer when the client's address is validated
2021-04-02 17:21:31 +07:00
Marten Seemann
a695bae019
restart the loss detection timer when the server becomes unblocked
2021-04-02 17:20:53 +07:00
Marten Seemann
3fab321ea7
cancel the loss detection timer when amplification limited
2021-04-02 17:20:53 +07:00
Marten Seemann
c4073fba8a
simplify detection of acknowledgements for skipped packets
2021-04-02 11:37:08 +07:00
Marten Seemann
875692ea10
add a function to trace acknowledged packets
2021-04-02 11:37:07 +07:00
Marten Seemann
d48c08037a
don't use a lower RTT than 5ms after receiving a Retry packet
2021-03-26 15:55:30 +07:00
Marten Seemann
5bdbff929d
don't regard PMTU probe packets as outstanding
...
This also means that PMTU probe packets won't be sent as PTO probe packets.
2021-03-26 09:25:04 +07:00
Marten Seemann
7feda789d2
initialize the congestion controller with the actual max datagram size
2021-03-20 14:02:28 +08:00
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