10000 unbuffered: introduce `PeerClosed` state by ctz · Pull Request #2332 · rustls/rustls · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

unbuffered: introduce PeerClosed state #2332

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

Merged
merged 2 commits into from
Feb 11, 2025
Merged

unbuffered: introduce PeerClosed state #2332

merged 2 commits into from
Feb 11, 2025

Conversation

ctz
Copy link
Member
@ctz ctz commented Feb 6, 2025

Closed was, and remains, the bi-directional, terminal closure state.

Because rustls::unbuffered::ConnectionState is a non_exhaustive enum, this is not a breaking API change. However, it demands a clear release note because downstream users will now encounter the new state.

fixes #1895

Copy link
rustls-benchmarking bot commented Feb 6, 2025

Benchmark results

Instruction counts

Significant differences

⚠️ There are significant instruction count differences

Click to expand
Scenario Baseline Candidate Diff Threshold
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_aes_server 1177591 1172963 -4628 (-0.39%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_server 1175277 1179882 ⚠️ 4605 (0.39%) 0.20%

Other differences

Click to expand
Scenario Baseline Candidate Diff Threshold
handshake_no_resume_aws_lc_rs_1.3_rsa_chacha_server 10683953 10730614 46661 (0.44%) 1.10%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_aes_client 8288304 8257829 -30475 (-0.37%) 0.85%
handshake_no_resume_aws_lc_rs_1.2_rsa_aes_server 10490423 10466188 -24235 (-0.23%) 0.82%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_client 3082490 3088011 5521 (0.18%) 0.31%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_aes_client 3085496 3080212 -5284 (-0.17%) 0.26%
handshake_no_resume_aws_lc_rs_1.3_rsa_aes_server 10713317 10728345 15028 (0.14%) 0.88%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_client 8291591 8300633 9042 (0.11%) 0.80%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_server 2163743 2163925 182 (0.01%) 0.20%
handshake_no_resume_ring_1.3_ecdsap256_aes_client 3623156 3622901 -255 (-0.01%) 0.23%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_aes_client 28224535 28223525 -1010 (-0.00%) 0.20%
handshake_session_id_aws_lc_rs_1.3_rsa_aes_client 27861352 27860378 -974 (-0.00%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_aes_server 2160696 2160771 75 (0.00%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_rsa_chacha_client 1931016 1930952 -64 (-0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_chacha_client 28194710 28193789 -921 (-0.00%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_chacha_client 27797437 27796532 -905 (-0.00%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_aes_client 27856832 27855936 -896 (-0.00%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_chacha_client 27794924 27794124 -800 (-0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.3_rsa_aes_client 28228167 28227368 -799 (-0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_aes_client 28221368 28220576 -792 (-0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_chacha_client 28191566 28190790 -776 (-0.00%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_aes_client 27854306 27853544 -762 (-0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.3_rsa_chacha_client 28198498 28197800 -698 (-0.00%) 0.20%
handshake_session_id_aws_lc_rs_1.3_rsa_chacha_client 27801769 27801099 -670 (-0.00%) 0.20%
handshake_session_id_ring_1.3_ecdsap384_chacha_client 40195319 40194509 -810 (-0.00%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_chacha_client 40198262 40197452 -810 (-0.00%) 0.20%
handshake_session_id_ring_1.3_rsa_chacha_client 40202313 40201503 -810 (-0.00%) 0.20%
handshake_session_id_ring_1.3_ecdsap384_aes_client 40289639 40288829 -810 (-0.00%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_aes_client 40292582 40291772 -810 (-0.00%) 0.20%
handshake_session_id_ring_1.3_rsa_aes_client 40296633 40295823 -810 (-0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_chacha_client 40512829 40512019 -810 (-0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_chacha_client 40516090 40515280 -810 (-0.00%) 0.20%
handshake_tickets_ring_1.3_rsa_chacha_client 40520090 40519280 -810 (-0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_aes_client 40587019 40586209 -810 (-0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_aes_client 40590280 40589470 -810 (-0.00%) 0.20%
handshake_tickets_ring_1.3_rsa_aes_client 40594280 40593470 -810 (-0.00%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_rsa_aes_client 1924251 1924224 -27 (-0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.3_rsa_chacha_server 30386152 30385792 -360 (-0.00%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_chacha_server 28895991 28895672 -319 (-0.00%) 0.20%
handshake_no_resume_aws_lc_rs_1.2_rsa_aes_client 1716245 1716263 18 (0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.3_rsa_aes_server 30429041 30428730 -311 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_rsa_aes_client 2654276 2654249 -27 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_rsa_chacha_client 2660143 2660116 -27 (-0.00%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_aes_server 28974399 28974146 -253 (-0.00%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_chacha_server 28896045 28895801 -244 (-0.00%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_aes_server 28974481 28974247 -234 (-0.00%) 0.20%
handshake_session_id_aws_lc_rs_1.2_rsa_aes_client 3874675 3874645 -30 (-0.00%) 0.20%
handshake_session_id_aws_lc_rs_1.2_rsa_aes_server 3874755 3874725 -30 (-0.00%) 0.20%
handshake_session_id_aws_lc_rs_1.3_rsa_aes_server 28972148 28971928 -220 (-0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.2_rsa_aes_client 4216759 4216729 -30 (-0.00%) 0.20%
handshake_session_id_ring_1.2_rsa_aes_server 4235650 4235620 -30 (-0.00%) 0.20%
handshake_session_id_ring_1.2_rsa_aes_client 4238679 4238649 -30 (-0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_chacha_server 30388651 30388440 -211 (-0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_aes_server 30431520 30431314 -206 (-0.00%) 0.20%
handshake_tickets_ring_1.2_rsa_aes_client 4499193 4499163 -30 (-0.00%) 0.20%
handshake_tickets_ring_1.2_rsa_aes_server 4699890 4699860 -30 (-0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_chacha_server 30388941 30388748 -193 (-0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.2_rsa_aes_server 5021782 5021752 -30 (-0.00%) 0.20%
handshake_session_id_ring_1.3_rsa_chacha_server 41490580 41490340 -240 (-0.00%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_chacha_server 41492691 41492451 -240 (-0.00%) 0.20%
handshake_session_id_ring_1.3_ecdsap384_chacha_server 41492739 41492499 -240 (-0.00%) 0.20%
handshake_session_id_ring_1.3_rsa_aes_server 41608840 41608600 -240 (-0.00%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_aes_server 41610951 41610711 -240 (-0.00%) 0.20%
handshake_session_id_ring_1.3_ecdsap384_aes_server 41610999 41610759 -240 (-0.00%) 0.20%
handshake_tickets_ring_1.3_rsa_chacha_server 41972290 41972050 -240 (-0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_chacha_server 41974588 41974348 -240 (-0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_chacha_server 41974778 41974538 -240 (-0.00%) 0.20%
handshake_tickets_ring_1.3_rsa_aes_server 42070630 42070390 -240 (-0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_aes_server 42072928 42072688 -240 (-0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_aes_server 42073118 42072878 -240 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap256_aes_server 1610575 1610567 -8 (-0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_aes_server 30431246 30431114 -132 (-0.00%) 0.20%
handshake_session_id_aws_lc_rs_1.3_rsa_chacha_server 28893644 28893579 -65 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap384_aes_server 7562907 7562897 -10 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap256_chacha_server 1611941 1611943 2 (0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap384_chacha_server 7565049 7565041 -8 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap384_chacha_client 35182612 35182585 -27 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_rsa_aes_server 11423454 11423446 -8 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_rsa_chacha_server 11429409 11429401 -8 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap256_chacha_client 3624635 3624633 -2 (-0.00%) 0.22%
handshake_no_resume_ring_1.3_ecdsap384_aes_client 35180705 35180691 -14 (-0.00%) 0.20%
handshake_no_resume_ring_1.2_rsa_aes_client 2561946 2561945 -1 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_rsa_aes_server 46468143 46468154 11 (0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_aes_server 46468547 46468537 -10 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_aes_client 58237495 58237484 -11 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_aes_server 46460634 46460626 -8 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_client 92696523 92696532 9 (0.00%) 0.20%
handshake_no_resume_ring_1.2_rsa_aes_server 11290941 11290940 -1 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_chacha_server 80644957 80644950 -7 (-0.00%) 0.20%
transfer_no_resume_ring_1.2_rsa_aes_server 46377334 46377330 -4 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.2_rsa_aes_client 58174938 58174934 -4 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_chacha_server 80541182 80541177 -5 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_chacha_client 92666745 92666740 -5 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_client 92698759 92698764 5 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.2_rsa_aes_server 46407040 46407038 -2 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_aes_server 46457662 46457664 2 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_server 80641985 80641988 3 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_aes_client 58232523 58232525 2 (0.00%) 0.20%
transfer_no_resume_ring_1.3_rsa_aes_client 58336413 58336415 2 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_chacha_client 92702760 92702763 3 (0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_chacha_server 80536383 80536385 2 (0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_chacha_client 92657680 92657682 2 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_aes_server 46465285 46465284 -1 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_aes_server 46471416 46471415 -1 (-0.00%) 0.20%
transfer_no_resume_ring_1.2_rsa_aes_client 58219102 58219101 -1 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_aes_client 58325513 58325514 1 (0.00%) 0.20%
transfer_no_resume_ring_1.3_rsa_chacha_server 80535992 80535991 -1 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_rsa_chacha_client 92668583 92668582 -1 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_server 80649614 80649614 0 (0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_aes_client 58332660 58332660 0 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_aes_client 58235401 58235401 0 (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.49 ms 4.42 ms -0.07 ms (-1.49%) 4.17%
transfer_no_resume_aws_lc_rs_1.3_rsa_aes 5.15 ms 5.08 ms -0.07 ms (-1.42%) 7.20%
transfer_no_resume_aws_lc_rs_1.2_rsa_aes 5.09 ms 5.01 ms -0.07 ms (-1.40%) 6.18%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_aes 5.20 ms 5.13 ms -0.06 ms (-1.25%) 3.32%
transfer_no_resume_ring_1.2_rsa_aes 6.77 ms 6.70 ms -0.06 ms (-0.94%) 3.33%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_aes 459.25 µs 455.34 µs -3.92 µs (-0.85%) 3.92%
transfer_no_resume_ring_1.3_ecdsap256_aes 6.34 ms 6.28 ms -0.05 ms (-0.84%) 3.27%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_chacha 457.17 µs 453.58 µs -3.58 µs (-0.78%) 3.73%
transfer_no_resume_ring_1.3_rsa_aes 6.83 ms 6.78 ms -0.05 ms (-0.78%) 3.58%
handshake_no_resume_ring_1.3_ecdsap256_chacha 500.74 µs 497.70 µs -3.04 µs (-0.61%) 2.81%
transfer_no_resume_ring_1.3_ecdsap384_aes 9.45 ms 9.39 ms -0.06 ms (-0.58%) 2.58%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_aes 4.52 ms 4.49 ms -0.03 ms (-0.55%) 2.08%
handshake_session_id_aws_lc_rs_1.2_rsa_aes 1.63 ms 1.62 ms -0.01 ms (-0.52%) 2.25%
handshake_tickets_aws_lc_rs_1.2_rsa_aes 1.79 ms 1.78 ms -0.01 ms (-0.50%) 3.58%
handshake_tickets_aws_lc_rs_1.3_rsa_aes 5.17 ms 5.15 ms -0.02 ms (-0.47%) 1.51%
transfer_no_resume_ring_1.3_ecdsap256_chacha 12.99 ms 12.93 ms -0.06 ms (-0.45%) 1.80%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_chacha 12.96 ms 12.90 ms -0.06 ms (-0.45%) 1.74%
handshake_no_resume_ring_1.3_ecdsap256_aes 503.34 µs 501.14 µs -2.19 µs (-0.44%) 2.47%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_chacha 13.66 ms 13.60 ms -0.06 ms (-0.43%) 1.83%
handshake_no_resume_aws_lc_rs_1.3_rsa_aes 1.11 ms 1.10 ms -0.00 ms (-0.42%) 3.02%
transfer_no_resume_aws_lc_rs_1.3_rsa_chacha 13.62 ms 13.56 ms -0.06 ms (-0.41%) 2.75%
transfer_no_resume_ring_1.3_rsa_chacha 13.48 ms 13.42 ms -0.05 ms (-0.39%) 1.51%
transfer_no_resume_ring_1.3_ecdsap384_chacha 16.09 ms 16.03 ms -0.06 ms (-0.36%) 1.48%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_chacha 1.16 ms 1.15 ms -0.00 ms (-0.30%) 1.07%
handshake_no_resume_ring_1.3_rsa_aes 994.48 µs 991.60 µs -2.88 µs (-0.29%) 1.00%
handshake_no_resume_ring_1.3_rsa_chacha 993.73 µs 990.86 µs -2.87 µs (-0.29%) 1.16%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_aes 4.31 ms 4.30 ms -0.01 ms (-0.24%) 1.86%
handshake_no_resume_ring_1.2_rsa_aes 990.82 µs 988.53 µs -2.29 µs (-0.23%) 1.78%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_aes 1.16 ms 1.16 ms -0.00 ms (-0.21%) 1.02%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_chacha 4.47 ms 4.46 ms -0.01 ms (-0.21%) 1.81%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_aes 5.21 ms 5.20 ms -0.01 ms (-0.21%) 1.39%
handshake_tickets_ring_1.3_ecdsap256_aes 6.44 ms 6.43 ms -0.01 ms (-0.16%) 1.00%
handshake_tickets_aws_lc_rs_1.3_rsa_chacha 5.15 ms 5.14 ms -0.01 ms (-0.16%) 1.74%
handshake_tickets_ring_1.2_rsa_aes 1.60 ms 1.60 ms -0.00 ms (-0.16%) 1.63%
handshake_session_id_aws_lc_rs_1.3_rsa_chacha 4.93 ms 4.94 ms 0.01 ms (0.15%) 1.70%
handshake_session_id_ring_1.3_rsa_chacha 6.80 ms 6.81 ms 0.01 ms (0.15%) 1.00%
handshake_session_id_ring_1.3_rsa_aes 6.86 ms 6.87 ms 0.01 ms (0.14%) 1.08%
handshake_session_id_ring_1.3_ecdsap384_aes 9.45 ms 9.46 ms 0.01 ms (0.13%) 1.00%
handshake_no_resume_ring_1.3_ecdsap384_aes 3.61 ms 3.60 ms -0.00 ms (-0.12%) 1.00%
handshake_no_resume_ring_1.3_ecdsap384_chacha 3.61 ms 3.60 ms -0.00 ms (-0.10%) 1.00%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_chacha 5.16 ms 5.16 ms -0.01 ms (-0.10%) 1.59%
handshake_session_id_aws_lc_rs_1.3_rsa_aes 4.97 ms 4.97 ms -0.00 ms (-0.10%) 1.54%
handshake_session_id_ring_1.3_ecdsap384_chacha 9.41 ms 9.42 ms 0.01 ms (0.09%) 1.00%
handshake_tickets_ring_1.3_rsa_aes 6.93 ms 6.92 ms -0.01 ms (-0.08%) 1.00%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_chacha 4.95 ms 4.96 ms 0.00 ms (0.07%) 1.74%
handshake_tickets_ring_1.3_rsa_chacha 6.87 ms 6.88 ms 0.00 ms (0.07%) 1.00%
handshake_no_resume_aws_lc_rs_1.3_rsa_chacha 1.11 ms 1.11 ms -0.00 ms (-0.06%) 2.11%
handshake_no_resume_aws_lc_rs_1.2_rsa_aes 1.07 ms 1.07 ms -0.00 ms (-0.05%) 3.57%
handshake_session_id_ring_1.3_ecdsap256_chacha 6.32 ms 6.32 ms 0.00 ms (0.05%) 1.00%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_chacha 4.27 ms 4.27 ms -0.00 ms (-0.05%) 1.89%
handshake_tickets_ring_1.3_ecdsap256_chacha 6.39 ms 6.39 ms -0.00 ms (-0.04%) 1.00%
handshake_tickets_ring_1.3_ecdsap384_chacha 9.48 ms 9.48 ms 0.00 ms (0.04%) 1.00%
handshake_tickets_ring_1.3_ecdsap384_aes 9.53 ms 9.53 ms -0.00 ms (-0.03%) 1.00%
handshake_session_id_ring_1.3_ecdsap256_aes 6.37 ms 6.36 ms -0.00 ms (-0.03%) 1.08%
handshake_session_id_ring_1.2_rsa_aes 1.52 ms 1.52 ms 0.00 ms (0.03%) 1.00%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_aes 5.01 ms 5.01 ms -0.00 ms (-0.01%) 1.61%

Additional information

Historical results

Checkout details:

Copy link
codecov bot commented Feb 6, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 94.88%. Comparing base (5309667) to head (bf34465).
Report is 11 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2332   +/-   ##
=======================================
  Coverage   94.88%   94.88%           
=======================================
  Files         103      103           
  Lines       24201    24216   +15     
=======================================
+ Hits        22962    22977   +15     
  Misses       1239     1239           

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

Copy link
Member
@djc djc left a comment

Choose a reason for hiding this comment

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

Nice!

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.

Nice, 👍

@@ -131,6 +131,18 @@ impl<Data> UnbufferedConnectionCommon<Data> {
.core
.common_state
.has_received_close_notify
&& !self.emitted_peer_closed
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 starting to find the big chain of if/else if's and their relatively complicated boolean expressions tricky to follow. It's quite dense.

I don't think it's necessary to clean up in this branch but I wonder if we could lift out some intermediate vars at the minimum so that the density is reduced a little bit.

Copy link
Member Author

Choose a reason for hiding this comment

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

Yeah, agree. Even though I find the way the early data state is injected into process_tls_records_common a bit distasteful as a special case, I think actually it's a good direction to split the logic up a bit.

Copy link
Member

Choose a reason for hiding this comment

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

Would suggest taking that out of this PR, though.

@ctz ctz force-pushed the jbp-unbuffered-closure branch from d39c910 to 868873a Compare February 11, 2025 12:39
ctz added 2 commits February 11, 2025 12:43
Reduce rightward drift and prefer match to trivial if-let.
`Closed` is now bi-directional, terminal closure state.
@ctz ctz force-pushed the jbp-unbuffered-closure branch from 868873a to bf34465 Compare February 11, 2025 12:43
@ctz ctz added this pull request to the merge queue Feb 11, 2025
Merged via the queue into main with commit 7742147 Feb 11, 2025
62 checks passed
@ctz ctz deleted the jbp-unbuffered-closure branch February 11, 2025 15:55
@ctz ctz mentioned this pull request Feb 13, 2025
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.

unbuffered: After Closed no WriteTraffic state arrives
3 participants
0