Commit Graph

1613 Commits

Author SHA1 Message Date
Marten Seemann
8c388e0aaf Merge pull request #3112 from lucas-clemente/fix-timeout-error-logging
fix duplicate logging of errors when the first error was a timeout error
2021-04-02 17:24:45 +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
b57a1095c5 update the packet numbers in decoding test to the ones from the draft 2021-04-02 17:06:04 +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
afbb2b7b6a improve string representation of timeout errors 2021-03-23 14:37:49 +08:00
Marten Seemann
154b55b50a introduce a qerr.Err{Idle,Handshake}Timeout 2021-03-22 14:22:36 +08:00
Marten Seemann
e9b4f9ba07 avoid type confusion between protocol.PacketType and logging.PacketType
The enums have completely different meanings. protocol.PacketType only
defines long header types, whereas logging.PacketType defines all
different types of QUIC packets (including short header packets).
2021-03-21 12:56:52 +08:00
Marten Seemann
7feda789d2 initialize the congestion controller with the actual max datagram size 2021-03-20 14:02:28 +08:00
Marten Seemann
7c8f729771 remove unused testutils.CryptoFrameType 2021-03-20 09:58:08 +08:00
Marten Seemann
04fe1ea7bf remove unneeded testutils.ComposeConnCloseFrame helper function 2021-03-20 09:57:04 +08:00
Marten Seemann
d71cef2eb0 remove unused testutils.ComposeCryptoFrame helper function 2021-03-20 09:56:02 +08:00
Marten Seemann
7d6be20fdc remove unneeded testutils.ComposeAckFrame helper function 2021-03-20 09:55:26 +08:00
Marten Seemann
31ac5ca60d allow 0-RTT when the server's connection receive limit is increased 2021-03-17 18:53:54 +08:00
Marten Seemann
6c3876d6b3 allow 0-RTT when the server's stream receive limit is increased 2021-03-17 18:46:11 +08:00
Marten Seemann
e5a83e1409 Merge pull request #3086 from lucas-clemente/accept-0rtt-on-stream-limit-increase
allow 0-RTT resumption if the server's stream limit was increased
2021-03-16 23:15:55 +08:00
Marten Seemann
59eb3ed2fb Merge pull request #3083 from lucas-clemente/configure-initial-flow-control-window
make the initial stream / connection flow control windows configurable
2021-03-16 22:17:08 +08:00
Marten Seemann
48a457601d fix documentation for baseFlowController.UpdateSendWindow 2021-03-11 21:59:53 +08:00
Marten Seemann
3588cddd43 allow 0-RTT resumption if the server's stream limit was increased 2021-03-11 21:37:40 +08:00
Marten Seemann
7676e455c5 add a function to tell if a packet is a 0-RTT packet 2021-03-11 21:05:41 +08:00
Marten Seemann
b2c2e4940f Merge pull request #3066 from lucas-clemente/zero-rtt-rejection
require the application to handle 0-RTT rejection
2021-03-11 21:04:14 +08:00
Marten Seemann
a15cfd6871 make the initial connection flow control window configurable 2021-03-10 15:04:38 +08:00
Marten Seemann
d9434f523e make the initial stream flow control window configurable 2021-03-10 14:58:15 +08:00
Marten Seemann
db9807d779 Merge pull request #2966 from lucas-clemente/increase-max-datagram-frame-size
increase the maximum size of DATAGRAM frames
2021-03-10 12:08:00 +08:00
Marten Seemann
f8313d868f return an Err0RTTRejected when the server rejects a 0-RTT connection 2021-03-09 18:02:12 +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
a04a0072fb add a function to reset the connection flow controller 2021-03-09 17:59:48 +08:00
Marten Seemann
1113892489 remove stray struct equality check
This check was moved to qtls.
2021-03-09 16:17:41 +08:00
Marten Seemann
c802ebe026 Merge pull request #3060 from lucas-clemente/check-active-conn-id-limit-for-0rtt
only accept 0-RTT it the active_connection_id_limit didn't change
2021-03-09 15:58:53 +08:00
Marten Seemann
f513437854 Merge pull request #3062 from lucas-clemente/fix-retry-draft-34
fix retry key and nonce for draft-34
2021-03-04 11:13:34 +08:00
Marten Seemann
bd172b2a5a fix retry key and nonce for draft-34 2021-03-03 23:01:42 +08:00
Marten Seemann
35da77afd1 only accept 0-RTT it the active_connection_id_limit didn't change 2021-03-03 21:52:45 +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
82ac6dcf6d rename MaxReceivePacketSize to MaxPacketBufferSize
We use the same buffer size for sending and receiving packets.
2021-03-03 12:00:14 +08:00
Marten Seemann
91a314258d use the actual maximum packet size in the pacer 2021-03-03 12:00:14 +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
8895a79e30 initialize the slow start threshold to infinity 2021-03-03 12:00:14 +08:00
Marten Seemann
eea0b1eacd rename MaxPacketSizeIPv{4,6} to InitialPacketSizeIPv{4,6} 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
1c9977d8d6 Merge pull request #3054 from lucas-clemente/trace-dropped-0rtt-keys
trace dropping of 0-RTT keys
2021-03-02 21:27:32 +08:00
Marten Seemann
ca18ba6f81 Merge pull request #3052 from lucas-clemente/randomized-packet-receive-test
add a randomized test for the received_packet_history
2021-03-02 21:26:41 +08:00
Marten Seemann
3e8e6b2e36 fix documentation of the default MaxReceiveConnectionFlowControlWindow 2021-03-01 11:33:42 +08:00
Marten Seemann
be4dc49114 fix documentation of the default MaxReceiveStreamFlowControlWindow 2021-03-01 11:33:15 +08:00
Marten Seemann
110f949441 trace dropping of 0-RTT keys 2021-03-01 10:37:31 +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