Commit Graph

1333 Commits

Author SHA1 Message Date
Marten Seemann
93cfef57ca expose a StatelessResetError 2021-05-01 09:39:51 +07:00
Marten Seemann
1ce572228b expose a VersionNegoationError 2021-05-01 09:39:24 +07:00
Marten Seemann
f5238bf7b1 move the ApplicationErrorCdoe to the qerr package 2021-05-01 09:38:49 +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
d2739abd74 Merge pull request #3148 from lucas-clemente/fix-on-loss-detection-busy-looping
declare the handshake confirmed when receiving an ACK for a 1-RTT packet
2021-04-30 23:57:17 +07:00
Marten Seemann
0413afd615 Merge pull request #3153 from lucas-clemente/trace-version-selection
trace and qlog version selection / negotiation
2021-04-28 18:13:18 +07:00
Marten Seemann
e7c4e756ad trace and qlog version selection / negotiation 2021-04-19 11:38:10 +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
878e0b261a pass a context to logging.Tracer.NewConnectionTracer
This context has the same value attached to it as the context returned
by Session.Context().
In the case of a dialed connection, this context is derived from the
context used for dialing.
2021-04-14 16:59:36 +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
e3f36af2e2 Merge pull request #3109 from lucas-clemente/version-negotiation-logging
don't pass the QUIC version to the StartedConnection event
2021-04-02 19:29:55 +07:00
Marten Seemann
c4cd631de1 Merge pull request #3137 from lucas-clemente/fix-packet-number-test
update the packet numbers in decoding test to the ones from the draft
2021-04-02 18:32:50 +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
f8b847f577 Merge pull request #3104 from lucas-clemente/clean-up-testutils
clean up the testutils
2021-04-02 17:35:58 +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
c30a45ef6f don't pass the QUIC version to the StartedConnection event
The version might change in response to a Version Negotiation packet.
2021-04-02 17:33:49 +07:00
Marten Seemann
ea14ce5724 Merge pull request #3134 from lucas-clemente/trace-acked-packets
make it possible to trace acknowledged packets
2021-04-02 17:33:19 +07:00
Marten Seemann
0c42736286 Merge pull request #3108 from lucas-clemente/avoid-packet-type-confusion
avoid type confusion between protocol.PacketType and logging.PacketType
2021-04-02 17:28:21 +07:00
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