-
Notifications
You must be signed in to change notification settings - Fork 138
feat(http3): support classic HTTP CONNECT #2886
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Failed Interop TestsQUIC Interop Runner, client vs. server, differences relative to 1b16f83. neqo-latest as client
neqo-latest as server
All resultsSucceeded Interop TestsQUIC Interop Runner, client vs. server neqo-latest as client
neqo-latest as server
Unsupported Interop TestsQUIC Interop Runner, client vs. server neqo-latest as client
neqo-latest as server
|
Client/server transfer resultsPerformance differences relative to 1b16f83. Transfer of 33554432 bytes over loopback, min. 100 runs. All unit-less numbers are in milliseconds.
Download data for |
Benchmark resultsPerformance differences relative to 1b16f83. 1-conn/1-100mb-resp/mtu-1504 (aka. Download)/client: Change within noise threshold.time: [200.85 ms 201.33 ms 201.88 ms] thrpt: [495.35 MiB/s 496.71 MiB/s 497.89 MiB/s] change: time: [+0.0542% +0.3380% +0.6834%] (p = 0.03 < 0.05) thrpt: [−0.6787% −0.3369% −0.0542%] 1-conn/10_000-parallel-1b-resp/mtu-1504 (aka. RPS)/client: No change in performance detected.time: [306.34 ms 307.69 ms 309.01 ms] thrpt: [32.362 Kelem/s 32.500 Kelem/s 32.643 Kelem/s] change: time: [−0.9177% −0.3051% +0.3120%] (p = 0.34 > 0.05) thrpt: [−0.3110% +0.3060% +0.9262%] 1-conn/1-1b-resp/mtu-1504 (aka. HPS)/client: Change within noise threshold.time: [28.140 ms 28.320 ms 28.521 ms] thrpt: [35.062 B/s 35.311 B/s 35.536 B/s] change: time: [−0.0076% +0.8416% +1.7108%] (p = 0.04 < 0.05) thrpt: [−1.6821% −0.8346% +0.0076%] 1-conn/1-100mb-req/mtu-1504 (aka. Upload)/client: No change in performance detected.time: [203.17 ms 203.48 ms 203.81 ms] thrpt: [490.65 MiB/s 491.44 MiB/s 492.20 MiB/s] change: time: [−0.3434% −0.1639% +0.0176%] (p = 0.09 > 0.05) thrpt: [−0.0176% +0.1642% +0.3445%] decode 4096 bytes, mask ff: No change in performance detected.time: [11.618 µs 11.663 µs 11.712 µs] change: [−0.4536% +0.0177% +0.4704%] (p = 0.94 > 0.05) decode 1048576 bytes, mask ff: No change in performance detected.time: [3.0619 ms 3.0747 ms 3.0909 ms] change: [−0.3022% +0.2366% +0.8033%] (p = 0.42 > 0.05) decode 4096 bytes, mask 7f: No change in performance detected.time: [19.366 µs 19.409 µs 19.458 µs] change: [−0.7893% −0.1643% +0.3834%] (p = 0.60 > 0.05) decode 1048576 bytes, mask 7f: No change in performance detected.time: [5.0882 ms 5.1027 ms 5.1180 ms] change: [−0.2750% +0.1262% +0.5211%] (p = 0.53 > 0.05) decode 4096 bytes, mask 3f: No change in performance detected.time: [5.5153 µs 5.5251 µs 5.5453 µs] change: [−1.2277% −0.5689% −0.0513%] (p = 0.05 > 0.05) decode 1048576 bytes, mask 3f: Change within noise threshold.time: [1.7648 ms 1.7748 ms 1.7876 ms] change: [+0.3163% +0.9538% +1.6949%] (p = 0.00 < 0.05) coalesce_acked_from_zero 1+1 entries: No change in performance detected.time: [88.281 ns 88.599 ns 88.914 ns] change: [−0.6751% −0.1120% +0.4694%] (p = 0.70 > 0.05) coalesce_acked_from_zero 3+1 entries: No change in performance detected.time: [106.09 ns 106.47 ns 106.85 ns] change: [−1.0206% −0.2280% +0.4224%] (p = 0.58 > 0.05) coalesce_acked_from_zero 10+1 entries: No change in performance detected.time: [105.45 ns 105.82 ns 106.31 ns] change: [−0.1392% +0.3141% +0.8994%] (p = 0.25 > 0.05) coalesce_acked_from_zero 1000+1 entries: No change in performance detected.time: [88.650 ns 88.776 ns 88.938 ns] change: [−1.1353% −0.1358% +0.8069%] (p = 0.79 > 0.05) RxStreamOrderer::inbound_frame(): Change within noise threshold.time: [107.19 ms 107.26 ms 107.33 ms] change: [−0.6040% −0.4185% −0.2627%] (p = 0.00 < 0.05) sent::Packets::take_ranges: :green_heart: Performance has improved.time: [5.1475 µs 5.2792 µs 5.4243 µs] change: [−41.355% −35.662% −25.719%] (p = 0.00 < 0.05) transfer/pacing-false/varying-seeds: No change in performance detected.time: [36.216 ms 36.281 ms 36.348 ms] change: [−0.2845% −0.0354% +0.2392%] (p = 0.79 > 0.05) transfer/pacing-true/varying-seeds: No change in performance detected.time: [36.962 ms 37.067 ms 37.175 ms] change: [−0.7096% −0.2846% +0.1369%] (p = 0.18 > 0.05) transfer/pacing-false/same-seed: No change in performance detected.time: [36.047 ms 36.125 ms 36.214 ms] change: [−0.0386% +0.2365% +0.5427%] (p = 0.12 > 0.05) transfer/pacing-true/same-seed: Change within noise threshold.time: [37.506 ms 37.593 ms 37.687 ms] change: [−1.6992% −1.3453% −1.0293%] (p = 0.00 < 0.05) Download data for |
neqo-http3/src/connection.rs
Outdated
&& request | ||
.headers | ||
.iter() | ||
.any(|h| h.name() == ":method" && h.value() == "CONNECT"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should just check if request.method == "CONNECT"
?
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #2886 +/- ##
==========================================
+ Coverage 94.96% 95.48% +0.52%
==========================================
Files 115 115
Lines 34594 34442 -152
Branches 34594 34442 -152
==========================================
+ Hits 32851 32886 +35
+ Misses 1734 1547 -187
Partials 9 9
|
For now, just a hack, to unblock @KershawChang on the Firefox side.
Will need more work. Probably, as @KershawChang suggested, a new function on
Http3Client
, as HTTP CONNECT strictly speaking isn't part of fetch.