-
Notifications
You must be signed in to change notification settings - Fork 127
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
chore: Make the TLS epoch an enum
type
#2320
base: main
Are you sure you want to change the base?
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2320 +/- ##
==========================================
- Coverage 93.33% 93.32% -0.02%
==========================================
Files 114 115 +1
Lines 36897 36915 +18
Branches 36897 36915 +18
==========================================
+ Hits 34439 34450 +11
- Misses 1675 1688 +13
+ Partials 783 777 -6 ☔ View full report in Codecov by Sentry. |
Failed Interop TestsQUIC Interop Runner, client vs. server, differences relative to 648863b. 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
|
Benchmark resultsPerformance differences relative to 6013bde. decode 4096 bytes, mask ff: Change within noise threshold.time: [11.202 µs 11.254 µs 11.319 µs] change: [+0.1771% +0.6204% +1.2155%] (p = 0.01 < 0.05) decode 1048576 bytes, mask ff: 💔 Performance has regressed.time: [3.1026 ms 3.1132 ms 3.1251 ms] change: [+2.2519% +2.7956% +3.3124%] (p = 0.00 < 0.05) decode 4096 bytes, mask 7f: No change in performance detected.time: [19.559 µs 19.619 µs 19.686 µs] change: [-0.7844% -0.0895% +0.4529%] (p = 0.80 > 0.05) decode 1048576 bytes, mask 7f: No change in performance detected.time: [5.1693 ms 5.1821 ms 5.1955 ms] change: [-0.2432% +0.1150% +0.5042%] (p = 0.54 > 0.05) decode 4096 bytes, mask 3f: No change in performance detected.time: [5.5324 µs 5.5562 µs 5.5868 µs] change: [-0.9016% -0.1957% +0.4285%] (p = 0.60 > 0.05) decode 1048576 bytes, mask 3f: No change in performance detected.time: [1.7582 ms 1.7597 ms 1.7626 ms] change: [-0.7047% -0.3146% +0.0080%] (p = 0.11 > 0.05) coalesce_acked_from_zero 1+1 entries: Change within noise threshold.time: [99.444 ns 99.729 ns 100.02 ns] change: [+0.3834% +0.8567% +1.3478%] (p = 0.00 < 0.05) coalesce_acked_from_zero 3+1 entries: Change within noise threshold.time: [117.80 ns 118.42 ns 119.22 ns] change: [+0.2142% +1.3961% +2.7329%] (p = 0.02 < 0.05) coalesce_acked_from_zero 10+1 entries: Change within noise threshold.time: [117.53 ns 118.13 ns 118.79 ns] change: [+0.2853% +0.9298% +1.4689%] (p = 0.00 < 0.05) coalesce_acked_from_zero 1000+1 entries: No change in performance detected.time: [98.543 ns 98.670 ns 98.817 ns] change: [-0.0802% +1.0901% +2.2092%] (p = 0.05 > 0.05) RxStreamOrderer::inbound_frame(): Change within noise threshold.time: [111.28 ms 111.33 ms 111.38 ms] change: [+0.0071% +0.2046% +0.3299%] (p = 0.01 < 0.05) SentPackets::take_ranges: No change in performance detected.time: [5.4791 µs 5.6607 µs 5.8542 µs] change: [-1.4958% +1.1967% +4.2019%] (p = 0.42 > 0.05) transfer/pacing-false/varying-seeds: Change within noise threshold.time: [42.262 ms 42.354 ms 42.453 ms] change: [+1.1975% +1.5156% +1.7944%] (p = 0.00 < 0.05) transfer/pacing-true/varying-seeds: Change within noise threshold.time: [42.483 ms 42.559 ms 42.639 ms] change: [+1.0471% +1.2853% +1.5328%] (p = 0.00 < 0.05) transfer/pacing-false/same-seed: Change within noise threshold.time: [42.100 ms 42.167 ms 42.240 ms] change: [+0.5840% +0.8357% +1.0900%] (p = 0.00 < 0.05) transfer/pacing-true/same-seed: No change in performance detected.time: [42.078 ms 42.157 ms 42.246 ms] change: [-0.1459% +0.1310% +0.3959%] (p = 0.35 > 0.05) 1-conn/1-100mb-resp/mtu-1504 (aka. Download)/client: No change in performance detected.time: [872.06 ms 881.90 ms 892.17 ms] thrpt: [112.09 MiB/s 113.39 MiB/s 114.67 MiB/s] change: time: [-2.0207% -0.5634% +0.9926%] (p = 0.49 > 0.05) thrpt: [-0.9828% +0.5665% +2.0624%] 1-conn/10_000-parallel-1b-resp/mtu-1504 (aka. RPS)/client: No change in performance detected.time: [300.28 ms 302.60 ms 304.94 ms] thrpt: [32.794 Kelem/s 33.047 Kelem/s 33.302 Kelem/s] change: time: [-0.9141% +0.0741% +1.1306%] (p = 0.89 > 0.05) thrpt: [-1.1179% -0.0741% +0.9226%] 1-conn/1-1b-resp/mtu-1504 (aka. HPS)/client: No change in performance detected.time: [34.096 ms 34.288 ms 34.503 ms] thrpt: [28.983 elem/s 29.165 elem/s 29.329 elem/s] change: time: [-0.8458% -0.0511% +0.8054%] (p = 0.90 > 0.05) thrpt: [-0.7990% +0.0511% +0.8530%] 1-conn/1-100mb-resp/mtu-1504 (aka. Upload)/client: No change in performance detected.time: [1.6201 s 1.6360 s 1.6523 s] thrpt: [60.521 MiB/s 61.126 MiB/s 61.724 MiB/s] change: time: [-2.8855% -1.4057% +0.1546%] (p = 0.07 > 0.05) thrpt: [-0.1544% +1.4258% +2.9712%] Client/server transfer resultsTransfer of 33554432 bytes over loopback.
|
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.
👍 the more we can enforce constraints through the type system the better.
fn put(&mut self, epoch: Epoch, key: SymKey) { | ||
assert!(epoch > 0); | ||
let i = (epoch - 1) as usize; | ||
assert!(i < self.secrets.len()); | ||
// assert!(self.secrets[i].is_none()); | ||
self.secrets[i] = Some(key); | ||
self.secrets[epoch] = Some(key); | ||
} |
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.
Previously this function would panic on epoch
Initial
. Is it safe to change that behavior?
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 guess we never stored initial secrets. Can restore the assert
or maybe make it a debug_assert
. But would like to hear from @martinthomson what the original intent was. Let's wait for him.
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.
Looks good to me.
Let's give Martin a chance to comment on #2320 (comment)
No description provided.