Commit Graph

5266 Commits

Author SHA1 Message Date
Marten Seemann
2a7e148a65 Merge pull request #3035 from lucas-clemente/expose-multiplexed-connection-tracer-constructor
expose the constructor for the multipexed connection tracer
2021-02-09 17:44:24 +08:00
Marten Seemann
0d38dce8cd expose the constructor for the multipexed connection tracer 2021-02-09 10:54:51 +08:00
Marten Seemann
622ca23d4e Merge pull request #3027 from lucas-clemente/go116-rc1
update qtls and CI to Go 1.16rc1
2021-01-31 10:38:23 +08:00
Marten Seemann
c9ccf3f8a6 update qtls and CI to Go 1.16rc1 2021-01-29 13:19:36 +08:00
Marten Seemann
e5bb76c210 Merge pull request #3026 from lucas-clemente/fix-cross-compile-deps
temporarily disable 1.16 on CI, fix cross compile workflow
2021-01-29 13:18:37 +08:00
Marten Seemann
3894d16cc4 disable Go 1.16 on CI, fix cross compile workflow 2021-01-29 12:49:42 +08:00
Marten Seemann
7456e643b9 Merge pull request #3020 from lucas-clemente/fix-server-closing
make sure the server is stopped before closing all server sessions
2021-01-26 00:22:58 +08:00
Marten Seemann
aea8f7345b make sure the server is stopped before closing all server sessions 2021-01-25 15:28:42 +08:00
Marten Seemann
f1500db062 Merge pull request #3016 from lucas-clemente/increase-send-queue-capacity
increase the size of the send queue
2021-01-23 20:27:19 +08:00
Marten Seemann
b98882d748 Merge pull request #3015 from lucas-clemente/prioritize-receiving-packets
prioritize receiving packets over sending out more packets
2021-01-23 19:39:40 +08:00
Marten Seemann
a1fb80df1b Merge pull request #3017 from lucas-clemente/h3-reenable-key-updates
reenable key updates for HTTP/3
2021-01-23 19:35:58 +08:00
Marten Seemann
bf28ded0bc Merge pull request #3011 from lucas-clemente/fix-undecryptable-packet-error-handling
check for errors after handling each previously undecryptable packet
2021-01-23 19:35:36 +08:00
Marten Seemann
a65b9eedd0 Merge pull request #3013 from lucas-clemente/fix-flaky-streams-map-test
fix flaky streams map test on Windows
2021-01-23 19:35:00 +08:00
Marten Seemann
e1ab2b0cbb Merge pull request #3014 from lucas-clemente/fix-flaky-cancellation-test
fix flaky stream cancelation integration test
2021-01-23 19:34:17 +08:00
Marten Seemann
3cba36b16b Merge pull request #3018 from lucas-clemente/preallocate-payload-frames
preallocate a slice of one frame when packing a packet
2021-01-23 19:33:59 +08:00
Marten Seemann
e59ea9d5f5 preallocate a slice of one frame when packing a packet
The majority of packets will contain only one STREAM frame.  We should make
sure that we don't need to grow the slice in the common case.
2021-01-20 17:52:32 +08:00
Marten Seemann
e4dab7fb37 reenable key updates for HTTP/3
Chrome was recently updated to v88, which is able to handle key updates
correctly.
2021-01-20 14:51:42 +08:00
Marten Seemann
37337597bd increase the size of the send queue 2021-01-20 14:45:18 +08:00
Marten Seemann
281e8ca7c0 prioritize receiving packets over sending out more packets 2021-01-20 12:47:56 +08:00
Marten Seemann
8e7a4fe13f fix flaky stream cancelation integration test 2021-01-20 12:38:41 +08:00
Marten Seemann
08f7cceea2 fix flaky streams map test on Windows 2021-01-20 11:45:06 +08:00
Marten Seemann
ccf8f6c0f4 check for errors after handling each previously undecryptable packet 2021-01-20 10:37:04 +08:00
Marten Seemann
53b1cbb501 Merge pull request #3010 from lucas-clemente/allow-acks-when-pacing-limited
allow sending of ACKs when pacing limited
2021-01-19 20:21:18 +08:00
Marten Seemann
e1b609cd18 Merge pull request #3004 from lucas-clemente/fix-qlog-payload-length
fix qlogging of the packet payload length
2021-01-19 17:03:42 +08:00
Marten Seemann
2c2b758dee allow sending of ACKs when pacing limited
An endpoint that is only receiving data won't have an accurate estimate
of the congestion window, and therefore derive a very low pacing
frequency.
In this situation it still needs to be able to send frequent ACKs to the
peer in order to allow full utilization of the bandwidth. We therefore
need to allow ACKs even when pacing-limited.
2021-01-19 11:49:31 +08:00
Marten Seemann
bd48ae50ed fix qlogging of the packet payload length 2021-01-19 11:09:34 +08:00
Marten Seemann
26039f20a5 Merge pull request #3007 from lucas-clemente/fix-flaky-mitm-test
corrupt more ACKs in the MITM test
2021-01-19 11:08:28 +08:00
Marten Seemann
70fe7be603 corrupt more ACKs in the MITM test 2021-01-18 19:48:16 +08:00
Marten Seemann
492429aed5 Merge pull request #3005 from lucas-clemente/fix-flaky-key-update-test
fix flaky key update integration test
2021-01-18 18:50:56 +08:00
Marten Seemann
bef8207bf6 fix flaky key update integration test 2021-01-18 15:44:09 +08:00
Marten Seemann
99220e15fc Merge pull request #3003 from lucas-clemente/fix-stream-cancellation
immediately complete streams that were canceled, drop retransmissions
2021-01-18 10:30:50 +08:00
Marten Seemann
06dfb86822 Merge pull request #2971 from lucas-clemente/send-queue-non-blocking
stop generating new packets when the send queue is full
2021-01-17 16:43:47 +08:00
Marten Seemann
a7f1615c4b Merge pull request #2993 from lucas-clemente/response-writer-data-streamer
allow access to the underlying quic.Stream from a http.ResponseWriter
2021-01-17 16:43:14 +08:00
Marten Seemann
b81a6f875b don't generate new packets when the send queue is full 2021-01-17 16:18:17 +08:00
Marten Seemann
f1c6421845 introduce an interface for the send queue, use a mock in session tests 2021-01-17 16:18:17 +08:00
Marten Seemann
e9848fadf9 remove stay print statement from session test 2021-01-17 16:18:03 +08:00
Marten Seemann
b5615db612 complete a stream that has frames in flight if it is canceled 2021-01-17 15:54:33 +08:00
Marten Seemann
3154a3a6d7 Merge pull request #2984 from lucas-clemente/process-all-received-packets
allow receiving of multiple packets before sending a packet
2021-01-17 14:40:25 +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
35939b25a9 allow access to the underlying quic.Stream from a http.ResponseWriter 2021-01-17 14:35:21 +08:00
Marten Seemann
219ced5437 allow receiving of multiple packets before sending a packet
By draining the channel holding received packets, we reduce the number
of spurious ACKs we send. We also make sure that sending and receiving
packets is balanced, as we allow sending of a large number of packets
(if we have cwnd available and the pacing frequency is high enough).
2021-01-17 14:26:12 +08:00
Marten Seemann
4bdccca0cf Merge pull request #2980 from lucas-clemente/fix-pacing-deadline-interpretation
fix interpretation of time.Time{} as a pacing deadline
2021-01-16 14:08:27 +08:00
Marten Seemann
33d058f4ee fix interpretation of time.Time{} as a pacing deadline
The pacer returns the zero value of time.Time when a packet can be sent
immediately. The session uses the zero value to unset the pacing
deadline.
2021-01-16 13:35:21 +08:00
Marten Seemann
85980abced Merge pull request #2991 from lucas-clemente/qlog-restored-transport-parameters
qlog restored transport parameters
2021-01-16 13:32:27 +08:00
Marten Seemann
9993e2c9f6 Merge pull request #2982 from lucas-clemente/pkg-go-dev-badge
use a pkg.go.dev instead of a GoDoc badge
2021-01-15 17:15:07 +08:00
Marten Seemann
60805d887f implement qlogging of the parameters_restored event 2021-01-15 17:14:41 +08:00
Marten Seemann
d04662a964 add a RestoredTransportParameters method to the logging interface 2021-01-15 17:13:46 +08:00
Marten Seemann
96dbfbc320 Merge pull request #2988 from lucas-clemente/fix-undecryptable-packet-handling
introduce a separate queue for undecryptable packets
2021-01-15 17:13:00 +08:00
Marten Seemann
a5c20b8a38 Merge pull request #2992 from lucas-clemente/improve-go-generate-comparison-output
use a text-based comparison in the go-generate workflow
2021-01-15 17:07:15 +08:00
Marten Seemann
eea89a521d Merge pull request #2994 from lucas-clemente/golangci-lint-extra-job
run golangci-lint in a separate job
2021-01-15 17:06:50 +08:00