Marten Seemann
c3289188d1
append ACK ranges instead of allocating a new slice
2022-09-05 20:15:35 +03:00
Marten Seemann
80c3afed34
fix usage of ackhandler.Packet pool for non-ack-eliciting packets ( #3538 )
2022-08-30 04:09:11 -07:00
Marten Seemann
a3b91cf683
use a sync.Pool to avoid allocations of ackhandler.Packet
2022-08-29 11:45:28 +03:00
Marten Seemann
fd38fe4a9a
avoid allocations when adding packets to the sent packet history
2022-08-27 18:22:46 +03:00
Benedikt Spies
7da024da5a
Disable anti-amplification limit by address validation token ( #3326 )
2022-08-20 08:02:17 -07:00
Marten Seemann
bea5de0221
Merge pull request #3483 from lucas-clemente/generic-min-max
...
use generic Min and Max functions
2022-08-12 12:09:30 +04:00
Marten Seemann
7ebe1430ef
use a generic linked list ( #3487 )
2022-08-10 09:50:21 -07:00
Marten Seemann
43bde14cf7
implement generic Min and Max functions
2022-08-10 14:59:05 +02:00
Toby
d5efd340c7
optimize FirstOutstanding in the sent packet history ( #3467 )
...
* optimize FirstOutstanding
* fix variable naming
* bug fix
* minor code improvements
* add a test to make sure that `Iterate` iterates in the right order
* add comment
2022-07-24 12:50:41 -07:00
Marten Seemann
8906148682
Merge pull request #3230 from lucas-clemente/optimize-has-outstanding-crypto-packets
...
optimize hasOutstandingCryptoPackets in sentPacketHandler
2021-07-25 19:40:18 +02:00
Marten Seemann
61748d4d63
cancel the PTO timer when all Handshake packets are acknowledged
2021-07-13 14:05:00 -04:00
Marten Seemann
6279d6b556
optimize hasOutstandingCryptoPackets in sentPacketHandler
2021-07-13 11:56:21 -04:00
Marten Seemann
1758299a56
remove outdated ackhandler test case
2021-06-26 15:53:40 -07:00
Marten Seemann
2f205a4c00
reduce flakiness of packet number generation test
2021-05-15 19:10:37 -07:00
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