Skip to content
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

Expose connection resumption details #1899

Merged
merged 3 commits into from
Apr 16, 2024

Conversation

ctz
Copy link
Member

@ctz ctz commented Apr 16, 2024

My goal with this is to support implementation of SSL_session_reused but this should also fix #705.

I'm hoping what and how this works is relatively uncontroversial, but I'm not 100% pleased with the naming.

Copy link

rustls-benchmarking bot commented Apr 16, 2024

Benchmark results

Instruction counts

Significant differences

There are no significant instruction count differences

Other differences

Click to expand
Scenario Baseline Candidate Diff Threshold
handshake_session_id_aws_lc_rs_1.2_rsa_aes_server 3956313 3899271 -57042 (-1.44%) 2.79%
handshake_tickets_aws_lc_rs_1.2_rsa_aes_server 4434527 4410932 -23595 (-0.53%) 4.52%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_client 8652035 8677521 25486 (0.29%) 0.89%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_aes_client 8693801 8670305 -23496 (-0.27%) 0.57%
handshake_no_resume_aws_lc_rs_1.2_rsa_aes_server 12997133 13030043 32910 (0.25%) 0.74%
handshake_no_resume_aws_lc_rs_1.3_rsa_chacha_server 13370108 13401022 30914 (0.23%) 1.70%
transfer_no_resume_aws_lc_rs_1.3_rsa_chacha_server 80684393 80605373 -79020 (-0.10%) 0.26%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_chacha_client 30289027 30311281 22254 (0.07%) 0.31%
handshake_session_id_aws_lc_rs_1.3_rsa_chacha_server 32294906 32273157 -21749 (-0.07%) 0.82%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_aes_client 30096796 30114686 17890 (0.06%) 0.27%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_client 3364564 3362808 -1756 (-0.05%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_aes_server 46462092 46438776 -23316 (-0.05%) 0.51%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_client 92720552 92688353 -32199 (-0.03%) 0.20%
transfer_no_resume_aws_lc_rs_1.2_rsa_aes_server 46410649 46394631 -16018 (-0.03%) 0.33%
handshake_tickets_aws_lc_rs_1.3_rsa_chacha_server 32586570 32575764 -10806 (-0.03%) 0.54%
handshake_no_resume_aws_lc_rs_1.3_rsa_aes_server 13365988 13370102 4114 (0.03%) 1.11%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_aes_client 58198997 58214782 15785 (0.03%) 0.22%
handshake_session_id_aws_lc_rs_1.3_rsa_aes_server 32346082 32337989 -8093 (-0.03%) 0.66%
handshake_no_resume_ring_1.3_rsa_aes_client 2949285 2948728 -557 (-0.02%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_server 1888420 1888774 354 (0.02%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_rsa_chacha_client 2216892 2217306 414 (0.02%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_chacha_client 30097442 30092167 -5275 (-0.02%) 0.44%
handshake_tickets_ring_1.2_rsa_aes_client 4508698 4508052 -646 (-0.01%) 0.20%
handshake_session_id_ring_1.2_rsa_aes_server 4230168 4230718 550 (0.01%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_chacha_client 30293855 30297332 3477 (0.01%) 0.20%
handshake_no_resume_ring_1.3_ecdsap256_aes_server 2129324 2129560 236 (0.01%) 0.34%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_aes_client 30295453 30292483 -2970 (-0.01%) 0.38%
handshake_tickets_aws_lc_rs_1.3_rsa_aes_server 32610717 32613872 3155 (0.01%) 0.60%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_chacha_client 30093772 30091124 -2648 (-0.01%) 0.20%
handshake_no_resume_ring_1.2_rsa_aes_client 2855804 2856041 237 (0.01%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_rsa_aes_client 2209145 2209298 153 (0.01%) 0.20%
handshake_tickets_aws_lc_rs_1.2_rsa_aes_client 4283281 4283564 283 (0.01%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_aes_client 42035715 42038378 2663 (0.01%) 0.20%
handshake_tickets_ring_1.2_rsa_aes_server 4662722 4663017 295 (0.01%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_aes_server 4261033 4261302 269 (0.01%) 0.20%
handshake_no_resume_ring_1.3_ecdsap256_chacha_server 2131375 2131244 -131 (-0.01%) 0.36%
handshake_session_id_ring_1.3_rsa_aes_client 41861547 41864102 2555 (0.01%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_server 4264630 4264868 238 (0.01%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_aes_client 30108298 30109878 1580 (0.01%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_chacha_server 32577349 32575690 -1659 (-0.01%) 0.20%
handshake_no_resume_ring_1.3_rsa_chacha_client 2955233 2955375 142 (0.00%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_aes_server 1885297 1885383 86 (0.00%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_chacha_client 41771044 41769291 -1753 (-0.00%) 0.20%
handshake_no_resume_aws_lc_rs_1.2_rsa_aes_client 2009364 2009445 81 (0.00%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_aes_server 43408503 43406755 -1748 (-0.00%) 0.20%
handshake_session_id_ring_1.3_ecdsap384_aes_server 43408018 43406486 -1532 (-0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_aes_server 43688609 43687244 -1365 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap384_chacha_server 13739394 13739818 424 (0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_aes_server 32588965 32588022 -943 (-0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.3_rsa_aes_client 30322749 30321885 -864 (-0.00%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_chacha_server 43308271 43309492 1221 (0.00%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_chacha_server 32301812 32300989 -823 (-0.00%) 0.20%
handshake_tickets_ring_1.3_rsa_aes_client 42051061 42052099 1038 (0.00%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_chacha_server 32301643 32300886 -757 (-0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_aes_server 43688682 43687720 -962 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_aes_client 58221186 58220017 -1169 (-0.00%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_aes_client 3361133 3361069 -64 (-0.00%) 0.25%
handshake_session_id_aws_lc_rs_1.3_rsa_aes_client 30122797 30122226 -571 (-0.00%) 0.20%
handshake_session_id_aws_lc_rs_1.2_rsa_aes_client 3959294 3959369 75 (0.00%) 0.20%
handshake_session_id_ring_1.3_rsa_aes_server 43405267 43404475 -792 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap256_aes_client 3914364 3914293 -71 (-0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_aes_client 30305983 30306522 539 (0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_chacha_server 43615729 43616454 725 (0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_chacha_client 92650317 92651842 1525 (0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.3_rsa_chacha_client 30307612 30308109 497 (0.00%) 0.20%
handshake_tickets_ring_1.3_rsa_chacha_client 41982298 41982951 653 (0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_chacha_client 41970180 41969538 -642 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_rsa_chacha_server 12173933 12174109 176 (0.00%) 0.20%
handshake_session_id_ring_1.3_ecdsap384_aes_client 41845764 41845167 -597 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_client 92689065 92690363 1298 (0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_aes_client 58316586 58315868 -718 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_aes_client 58222899 58222197 -702 (-0.00%) 0.20%
handshake_session_id_ring_1.2_rsa_aes_client 4234429 4234480 51 (0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap384_aes_client 35471491 35471892 401 (0.00%) 0.20%
handshake_no_resume_ring_1.2_rsa_aes_server 11985309 11985175 -134 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_aes_server 46420730 46420223 -507 (-0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_chacha_client 41965540 41965111 -429 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.2_rsa_aes_client 68643696 68642997 -699 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_aes_server 46457938 46458388 450 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_chacha_client 92691150 92690258 -892 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap384_chacha_client 35473399 35473709 310 (0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_aes_client 42033743 42033398 -345 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_rsa_chacha_client 92653026 92652270 -756 (-0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_aes_server 32588442 32588696 254 (0.00%) 0.20%
handshake_tickets_ring_1.3_rsa_aes_server 43686869 43686539 -330 (-0.00%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_aes_server 32330235 32330022 -213 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_aes_server 46419786 46420070 284 (0.00%) 0.20%
handshake_session_id_aws_lc_rs_1.3_rsa_chacha_client 30107532 30107353 -179 (-0.00%) 0.20%
transfer_no_resume_ring_1.2_rsa_aes_client 58202843 58202516 -327 (-0.00%) 0.20%
handshake_session_id_ring_1.3_ecdsap384_chacha_server 43309027 43309249 222 (0.00%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_aes_server 32330001 32329838 -163 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap384_aes_server 13737733 13737664 -69 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_server 80610427 80610024 -403 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_chacha_client 92649151 92648722 -429 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap256_chacha_client 3915851 3915868 17 (0.00%) 0.20%
handshake_no_resume_ring_1.3_rsa_aes_server 12168132 12168084 -48 (-0.00%) 0.20%
transfer_no_resume_ring_1.2_rsa_aes_server 46343175 46343352 177 (0.00%) 0.20%
handshake_session_id_ring_1.3_ecdsap384_chacha_client 41765432 41765570 138 (0.00%) 0.20%
handshake_tickets_ring_1.3_rsa_chacha_server 43613560 43613436 -124 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_rsa_aes_client 58320354 58320194 -160 (-0.00%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_aes_client 41849977 41849877 -100 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_rsa_chacha_server 80515789 80515955 166 (0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_chacha_server 43616595 43616507 -88 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_chacha_server 80511491 80511649 158 (0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_aes_client 58319286 58319172 -114 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_aes_server 46454698 46454617 -81 (-0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_chacha_server 32576316 32576372 56 (0.00%) 0.20%
handshake_session_id_ring_1.3_rsa_chacha_client 41783046 41782992 -54 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_chacha_server 80507992 80508060 68 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_server 80610547 80610614 67 (0.00%) 0.20%
handshake_session_id_ring_1.3_rsa_chacha_server 43306813 43306838 25 (0.00%) 0.20%
transfer_no_resume_ring_1.3_rsa_aes_server 46462445 46462449 4 (0.00%) 0.20%

Wall-time

Significant differences

There are no significant wall-time differences

Other differences

Click to expand
Scenario Baseline Candidate Diff Threshold
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_aes 4.48 ms 4.56 ms 0.07 ms (1.62%) 4.98%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_aes 5.20 ms 5.28 ms 0.08 ms (1.53%) 4.32%
transfer_no_resume_aws_lc_rs_1.3_rsa_aes 5.40 ms 5.48 ms 0.08 ms (1.42%) 3.75%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_chacha 473.34 µs 479.05 µs 5.71 µs (1.21%) 2.49%
transfer_no_resume_ring_1.3_ecdsap256_aes 6.32 ms 6.39 ms 0.07 ms (1.18%) 3.36%
transfer_no_resume_aws_lc_rs_1.2_rsa_aes 5.40 ms 5.47 ms 0.06 ms (1.17%) 4.45%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_aes 474.15 µs 479.45 µs 5.30 µs (1.12%) 3.68%
transfer_no_resume_ring_1.3_rsa_aes 6.81 ms 6.89 ms 0.08 ms (1.11%) 2.60%
transfer_no_resume_ring_1.2_rsa_aes 6.73 ms 6.79 ms 0.06 ms (0.92%) 3.87%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_aes 5.22 ms 5.26 ms 0.05 ms (0.89%) 1.36%
transfer_no_resume_ring_1.3_ecdsap384_aes 9.43 ms 9.50 ms 0.08 ms (0.82%) 1.87%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_chacha 5.22 ms 5.26 ms 0.04 ms (0.80%) 1.21%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_chacha 5.89 ms 5.93 ms 0.04 ms (0.75%) 1.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_aes 5.21 ms 5.25 ms 0.04 ms (0.72%) 1.44%
handshake_no_resume_ring_1.3_ecdsap256_chacha 504.46 µs 508.07 µs 3.62 µs (0.72%) 2.18%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_aes 5.93 ms 5.97 ms 0.04 ms (0.71%) 1.00%
handshake_no_resume_ring_1.3_ecdsap256_aes 505.95 µs 509.50 µs 3.55 µs (0.70%) 2.23%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_chacha 12.95 ms 13.05 ms 0.09 ms (0.70%) 1.64%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_aes 5.92 ms 5.96 ms 0.04 ms (0.69%) 1.64%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_chacha 5.92 ms 5.96 ms 0.04 ms (0.69%) 1.09%
handshake_tickets_aws_lc_rs_1.3_rsa_aes 6.14 ms 6.19 ms 0.04 ms (0.69%) 1.18%
handshake_session_id_aws_lc_rs_1.3_rsa_aes 6.14 ms 6.18 ms 0.04 ms (0.63%) 1.89%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_chacha 5.20 ms 5.23 ms 0.03 ms (0.60%) 1.86%
transfer_no_resume_aws_lc_rs_1.3_rsa_chacha 13.88 ms 13.96 ms 0.08 ms (0.60%) 1.43%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_chacha 13.66 ms 13.75 ms 0.08 ms (0.60%) 1.71%
transfer_no_resume_ring_1.3_ecdsap256_chacha 12.97 ms 13.05 ms 0.08 ms (0.59%) 1.54%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_chacha 1.18 ms 1.18 ms 0.01 ms (0.56%) 1.14%
handshake_session_id_aws_lc_rs_1.3_rsa_chacha 6.12 ms 6.16 ms 0.03 ms (0.55%) 1.82%
handshake_tickets_ring_1.2_rsa_aes 1.63 ms 1.64 ms 0.01 ms (0.53%) 1.25%
handshake_tickets_aws_lc_rs_1.3_rsa_chacha 6.15 ms 6.18 ms 0.03 ms (0.53%) 1.12%
transfer_no_resume_ring_1.3_rsa_chacha 13.47 ms 13.54 ms 0.07 ms (0.51%) 1.53%
transfer_no_resume_ring_1.3_ecdsap384_chacha 16.08 ms 16.15 ms 0.07 ms (0.44%) 1.23%
handshake_tickets_ring_1.3_rsa_aes 7.25 ms 7.28 ms 0.03 ms (0.40%) 1.00%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_aes 1.18 ms 1.19 ms 0.00 ms (0.39%) 1.00%
handshake_no_resume_aws_lc_rs_1.3_rsa_aes 1.38 ms 1.39 ms 0.01 ms (0.38%) 1.00%
handshake_no_resume_ring_1.3_rsa_aes 1.00 ms 1.00 ms 0.00 ms (0.35%) 1.00%
handshake_no_resume_aws_lc_rs_1.3_rsa_chacha 1.38 ms 1.38 ms 0.00 ms (0.34%) 1.00%
handshake_session_id_ring_1.3_rsa_aes 7.23 ms 7.26 ms 0.02 ms (0.32%) 1.00%
handshake_tickets_ring_1.3_ecdsap256_aes 6.76 ms 6.78 ms 0.02 ms (0.32%) 1.15%
handshake_no_resume_ring_1.2_rsa_aes 977.35 µs 980.14 µs 2.79 µs (0.29%) 1.00%
handshake_tickets_ring_1.3_ecdsap384_aes 9.85 ms 9.88 ms 0.03 ms (0.27%) 1.00%
handshake_session_id_ring_1.3_ecdsap384_aes 9.83 ms 9.85 ms 0.03 ms (0.26%) 1.00%
handshake_no_resume_ring_1.3_rsa_chacha 1.00 ms 1.00 ms 0.00 ms (0.26%) 1.00%
handshake_session_id_ring_1.3_ecdsap256_aes 6.74 ms 6.75 ms 0.02 ms (0.24%) 1.00%
handshake_no_resume_aws_lc_rs_1.2_rsa_aes 1.34 ms 1.34 ms 0.00 ms (0.22%) 1.28%
handshake_no_resume_ring_1.3_ecdsap384_aes 3.61 ms 3.62 ms 0.01 ms (0.22%) 1.00%
handshake_tickets_ring_1.3_rsa_chacha 7.21 ms 7.23 ms 0.02 ms (0.21%) 1.14%
handshake_tickets_ring_1.3_ecdsap384_chacha 9.82 ms 9.84 ms 0.02 ms (0.18%) 1.00%
handshake_session_id_ring_1.3_rsa_chacha 7.19 ms 7.20 ms 0.01 ms (0.12%) 1.00%
handshake_session_id_ring_1.2_rsa_aes 1.55 ms 1.55 ms 0.00 ms (0.11%) 1.48%
handshake_no_resume_ring_1.3_ecdsap384_chacha 3.61 ms 3.61 ms 0.00 ms (0.10%) 1.00%
handshake_session_id_ring_1.3_ecdsap384_chacha 9.80 ms 9.81 ms 0.01 ms (0.09%) 1.00%
handshake_tickets_ring_1.3_ecdsap256_chacha 6.73 ms 6.73 ms 0.00 ms (0.05%) 1.00%
handshake_session_id_ring_1.3_ecdsap256_chacha 6.71 ms 6.71 ms -0.00 ms (-0.04%) 1.02%
handshake_session_id_aws_lc_rs_1.2_rsa_aes 2.03 ms 2.03 ms -0.00 ms (-0.03%) 1.33%
handshake_tickets_aws_lc_rs_1.2_rsa_aes 2.19 ms 2.19 ms -0.00 ms (-0.03%) 2.05%

Additional information

Historical results

Checkout details:

Copy link

codecov bot commented Apr 16, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 95.49%. Comparing base (fa605bf) to head (bf9bb68).
Report is 2 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1899   +/-   ##
=======================================
  Coverage   95.48%   95.49%           
=======================================
  Files          86       86           
  Lines       18624    18647   +23     
=======================================
+ Hits        17784    17807   +23     
  Misses        840      840           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@djc
Copy link
Member

djc commented Apr 16, 2024

Is there any vocabulary in the spec that we could reuse? I do feel like HandshakeDetails is kind of generic/vague.

Copy link
Member

@cpu cpu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm bikeshedding the enum name and suggesting some doc changes but it looks great broadly.

rustls/src/common_state.rs Show resolved Hide resolved
rustls/src/common_state.rs Outdated Show resolved Hide resolved
rustls/src/common_state.rs Outdated Show resolved Hide resolved
rustls/src/common_state.rs Outdated Show resolved Hide resolved
ctz added 2 commits April 16, 2024 18:25
This allows callers to see if their handshake was Resumed,
Full, or Full-with-HelloRetryRequest (which, broadly, are the
three "cost" levels for handshakes).

This is exposed as soon as it is known for sure.
@ctz ctz force-pushed the jbp-expose-connection-resumption-details branch from a3cdc04 to bf9bb68 Compare April 16, 2024 17:31
@ctz ctz added this pull request to the merge queue Apr 16, 2024
Merged via the queue into main with commit d2e1e66 Apr 16, 2024
46 checks passed
@ctz ctz deleted the jbp-expose-connection-resumption-details branch April 16, 2024 19:49
///
/// This will return `Err(Error::HandshakeNotComplete)` before it is
/// known which sort of handshake occurred.
pub fn handshake_kind(&self) -> Result<HandshakeKind, Error> {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm a little surprised at the choice of Result here? IIRC most of the similar methods just return Option, which seems appropriate here, too?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Ability to tell whether an incoming connection is re-used/resumed
3 participants