grpc 1.69.0 → 1.70.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (640) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +251 -249
  3. data/include/grpc/support/atm.h +0 -13
  4. data/src/core/call/request_buffer.cc +224 -0
  5. data/src/core/call/request_buffer.h +192 -0
  6. data/src/core/client_channel/client_channel.cc +2 -3
  7. data/src/core/client_channel/client_channel_args.h +21 -0
  8. data/src/core/client_channel/client_channel_filter.h +1 -3
  9. data/src/core/client_channel/retry_interceptor.cc +406 -0
  10. data/src/core/client_channel/retry_interceptor.h +157 -0
  11. data/src/core/client_channel/retry_service_config.h +13 -0
  12. data/src/core/client_channel/retry_throttle.cc +33 -18
  13. data/src/core/client_channel/retry_throttle.h +3 -3
  14. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +596 -94
  15. data/src/core/ext/transport/chttp2/server/chttp2_server.h +189 -13
  16. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +1 -0
  17. data/src/core/ext/transport/chttp2/transport/frame_security.cc +1 -3
  18. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +40 -1
  19. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb.h +3 -1
  20. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +66 -36
  21. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +19 -17
  22. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +116 -0
  23. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +31 -5
  24. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.h +2 -0
  25. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +67 -6
  26. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +12 -8
  27. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb.h +151 -0
  28. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.c +60 -0
  29. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.h +32 -0
  30. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +228 -21
  31. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +65 -17
  32. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.h +6 -0
  33. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +7 -106
  34. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +7 -28
  35. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.h +0 -2
  36. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +85 -0
  37. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +25 -3
  38. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +2 -1
  39. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +152 -0
  40. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +40 -10
  41. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.h +2 -0
  42. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +135 -4
  43. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +41 -9
  44. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.h +2 -0
  45. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb.h +0 -2
  46. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.c +0 -1
  47. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.h +0 -1
  48. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +16 -0
  49. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +3 -2
  50. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +60 -0
  51. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.c +13 -2
  52. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb.h +0 -1
  53. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.c +0 -1
  54. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +102 -24
  55. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +28 -19
  56. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +251 -18
  57. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +41 -16
  58. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.h +2 -0
  59. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +2 -1
  60. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.c +11 -10
  61. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.c +418 -413
  62. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.c +161 -153
  63. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.h +5 -0
  64. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.c +267 -261
  65. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.c +46 -0
  66. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.h +33 -0
  67. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.c +29 -19
  68. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.h +15 -0
  69. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.c +58 -65
  70. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.h +0 -5
  71. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.c +73 -63
  72. data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.c +49 -48
  73. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.c +117 -100
  74. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.h +5 -0
  75. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.c +905 -897
  76. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.h +5 -0
  77. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.c +15 -18
  78. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +460 -457
  79. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.c +16 -19
  80. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +95 -95
  81. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +202 -191
  82. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.c +148 -135
  83. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.h +5 -0
  84. data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.c +23 -22
  85. data/src/core/filter/filter_args.h +112 -0
  86. data/src/core/handshaker/http_connect/http_connect_handshaker.cc +1 -1
  87. data/src/core/lib/channel/promise_based_filter.h +5 -79
  88. data/src/core/lib/debug/trace_flags.cc +2 -0
  89. data/src/core/lib/debug/trace_flags.h +1 -0
  90. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +14 -0
  91. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +7 -2
  92. data/src/core/lib/event_engine/posix_engine/posix_engine.h +0 -2
  93. data/src/core/lib/event_engine/windows/windows_engine.cc +1 -0
  94. data/src/core/lib/experiments/experiments.cc +90 -39
  95. data/src/core/lib/experiments/experiments.h +43 -24
  96. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +1 -1
  97. data/src/core/lib/promise/activity.cc +2 -0
  98. data/src/core/lib/promise/activity.h +29 -8
  99. data/src/core/lib/promise/map.h +42 -0
  100. data/src/core/lib/promise/party.cc +36 -1
  101. data/src/core/lib/promise/party.h +13 -5
  102. data/src/core/lib/promise/sleep.h +1 -0
  103. data/src/core/lib/promise/status_flag.h +10 -0
  104. data/src/core/lib/resource_quota/arena.h +8 -0
  105. data/src/core/lib/resource_quota/connection_quota.h +4 -0
  106. data/src/core/lib/surface/call_utils.h +2 -0
  107. data/src/core/lib/surface/client_call.cc +43 -35
  108. data/src/core/lib/surface/client_call.h +5 -0
  109. data/src/core/lib/surface/event_string.cc +7 -1
  110. data/src/core/lib/surface/init_internally.h +13 -2
  111. data/src/core/lib/surface/server_call.cc +100 -85
  112. data/src/core/lib/surface/version.cc +2 -2
  113. data/src/core/lib/transport/call_filters.cc +10 -4
  114. data/src/core/lib/transport/call_filters.h +8 -0
  115. data/src/core/lib/transport/call_spine.cc +36 -71
  116. data/src/core/lib/transport/call_spine.h +131 -7
  117. data/src/core/lib/transport/call_state.h +132 -39
  118. data/src/core/lib/transport/interception_chain.cc +8 -0
  119. data/src/core/lib/transport/interception_chain.h +9 -0
  120. data/src/core/load_balancing/endpoint_list.cc +10 -0
  121. data/src/core/load_balancing/endpoint_list.h +13 -6
  122. data/src/core/load_balancing/lb_policy.h +0 -8
  123. data/src/core/load_balancing/pick_first/pick_first.cc +89 -56
  124. data/src/core/load_balancing/ring_hash/ring_hash.cc +158 -70
  125. data/src/core/load_balancing/ring_hash/ring_hash.h +4 -11
  126. data/src/core/load_balancing/round_robin/round_robin.cc +9 -14
  127. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +12 -15
  128. data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +4 -4
  129. data/src/core/resolver/xds/xds_dependency_manager.cc +139 -135
  130. data/src/core/resolver/xds/xds_dependency_manager.h +24 -18
  131. data/src/core/resolver/xds/xds_resolver.cc +28 -47
  132. data/src/core/server/server.cc +290 -24
  133. data/src/core/server/server.h +199 -61
  134. data/src/core/server/xds_server_config_fetcher.cc +78 -142
  135. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +1 -1
  136. data/src/core/util/backoff.cc +15 -4
  137. data/src/core/util/http_client/httpcli.cc +66 -18
  138. data/src/core/util/http_client/httpcli.h +14 -4
  139. data/src/core/util/matchers.h +5 -10
  140. data/src/core/util/ref_counted.h +1 -0
  141. data/src/core/util/ref_counted_ptr.h +1 -1
  142. data/src/core/util/useful.h +9 -11
  143. data/src/core/xds/grpc/xds_endpoint_parser.cc +54 -23
  144. data/src/core/xds/grpc/xds_metadata.h +8 -0
  145. data/src/core/xds/xds_client/xds_api.cc +0 -223
  146. data/src/core/xds/xds_client/xds_api.h +1 -133
  147. data/src/core/xds/xds_client/xds_client.cc +599 -466
  148. data/src/core/xds/xds_client/xds_client.h +107 -26
  149. data/src/core/xds/xds_client/xds_resource_type_impl.h +10 -5
  150. data/src/ruby/ext/grpc/extconf.rb +1 -0
  151. data/src/ruby/lib/grpc/version.rb +1 -1
  152. data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_bitstr.c → a_bitstr.cc} +3 -2
  153. data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_d2i_fp.c → a_d2i_fp.cc} +1 -1
  154. data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_dup.c → a_dup.cc} +1 -1
  155. data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_i2d_fp.c → a_i2d_fp.cc} +1 -1
  156. data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_int.c → a_int.cc} +2 -1
  157. data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_mbstr.c → a_mbstr.cc} +9 -7
  158. data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_object.c → a_object.cc} +1 -1
  159. data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_strnid.c → a_strnid.cc} +7 -4
  160. data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_type.c → a_type.cc} +4 -4
  161. data/third_party/boringssl-with-bazel/src/crypto/asn1/{asn1_lib.c → asn1_lib.cc} +4 -4
  162. data/third_party/boringssl-with-bazel/src/crypto/asn1/{asn_pack.c → asn_pack.cc} +2 -2
  163. data/third_party/boringssl-with-bazel/src/crypto/asn1/{posix_time.c → posix_time.cc} +2 -2
  164. data/third_party/boringssl-with-bazel/src/crypto/asn1/{tasn_dec.c → tasn_dec.cc} +4 -3
  165. data/third_party/boringssl-with-bazel/src/crypto/asn1/{tasn_enc.c → tasn_enc.cc} +9 -6
  166. data/third_party/boringssl-with-bazel/src/crypto/asn1/{tasn_fre.c → tasn_fre.cc} +14 -20
  167. data/third_party/boringssl-with-bazel/src/crypto/asn1/{tasn_new.c → tasn_new.cc} +7 -6
  168. data/third_party/boringssl-with-bazel/src/crypto/asn1/{tasn_utl.c → tasn_utl.cc} +13 -10
  169. data/third_party/boringssl-with-bazel/src/crypto/base64/{base64.c → base64.cc} +9 -12
  170. data/third_party/boringssl-with-bazel/src/crypto/bcm_support.h +7 -1
  171. data/third_party/boringssl-with-bazel/src/crypto/bio/{bio.c → bio.cc} +32 -58
  172. data/third_party/boringssl-with-bazel/src/crypto/bio/{bio_mem.c → bio_mem.cc} +8 -7
  173. data/third_party/boringssl-with-bazel/src/crypto/bio/{connect.c → connect.cc} +24 -16
  174. data/third_party/boringssl-with-bazel/src/crypto/bio/{file.c → file.cc} +3 -3
  175. data/third_party/boringssl-with-bazel/src/crypto/bio/{pair.c → pair.cc} +22 -20
  176. data/third_party/boringssl-with-bazel/src/crypto/bio/{printf.c → printf.cc} +2 -2
  177. data/third_party/boringssl-with-bazel/src/crypto/bio/{socket_helper.c → socket_helper.cc} +1 -1
  178. data/third_party/boringssl-with-bazel/src/crypto/blake2/{blake2.c → blake2.cc} +2 -2
  179. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/{bn_asn1.c → bn_asn1.cc} +1 -1
  180. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/{convert.c → convert.cc} +21 -21
  181. data/third_party/boringssl-with-bazel/src/crypto/buf/{buf.c → buf.cc} +6 -3
  182. data/third_party/boringssl-with-bazel/src/crypto/bytestring/{asn1_compat.c → asn1_compat.cc} +1 -1
  183. data/third_party/boringssl-with-bazel/src/crypto/bytestring/{ber.c → ber.cc} +1 -1
  184. data/third_party/boringssl-with-bazel/src/crypto/bytestring/{cbb.c → cbb.cc} +33 -49
  185. data/third_party/boringssl-with-bazel/src/crypto/bytestring/{cbs.c → cbs.cc} +20 -27
  186. data/third_party/boringssl-with-bazel/src/crypto/bytestring/internal.h +1 -1
  187. data/third_party/boringssl-with-bazel/src/crypto/bytestring/{unicode.c → unicode.cc} +1 -1
  188. data/third_party/boringssl-with-bazel/src/crypto/chacha/{chacha.c → chacha.cc} +1 -1
  189. data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +1 -1
  190. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_aesctrhmac.c → e_aesctrhmac.cc} +1 -1
  191. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_aesgcmsiv.c → e_aesgcmsiv.cc} +23 -26
  192. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_chacha20poly1305.c → e_chacha20poly1305.cc} +1 -8
  193. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_des.c → e_des.cc} +61 -49
  194. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_null.c → e_null.cc} +12 -9
  195. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_rc2.c → e_rc2.cc} +23 -19
  196. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_rc4.c → e_rc4.cc} +10 -8
  197. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_tls.c → e_tls.cc} +2 -1
  198. data/third_party/boringssl-with-bazel/src/crypto/conf/{conf.c → conf.cc} +17 -14
  199. data/third_party/boringssl-with-bazel/src/crypto/conf/internal.h +1 -1
  200. data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_apple.c → cpu_aarch64_apple.cc} +2 -2
  201. data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_fuchsia.c → cpu_aarch64_fuchsia.cc} +2 -2
  202. data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_linux.c → cpu_aarch64_linux.cc} +2 -2
  203. data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_openbsd.c → cpu_aarch64_openbsd.cc} +4 -4
  204. data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_sysreg.c → cpu_aarch64_sysreg.cc} +3 -2
  205. data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_win.c → cpu_aarch64_win.cc} +2 -2
  206. data/third_party/boringssl-with-bazel/src/crypto/{cpu_arm_freebsd.c → cpu_arm_freebsd.cc} +3 -3
  207. data/third_party/boringssl-with-bazel/src/crypto/{cpu_arm_linux.c → cpu_arm_linux.cc} +5 -5
  208. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.h +1 -1
  209. data/third_party/boringssl-with-bazel/src/crypto/{cpu_intel.c → cpu_intel.cc} +47 -32
  210. data/third_party/boringssl-with-bazel/src/crypto/{crypto.c → crypto.cc} +6 -11
  211. data/third_party/boringssl-with-bazel/src/crypto/curve25519/{curve25519.c → curve25519.cc} +28 -31
  212. data/third_party/boringssl-with-bazel/src/crypto/curve25519/{curve25519_64_adx.c → curve25519_64_adx.cc} +1 -1
  213. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +1 -1
  214. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +1 -1
  215. data/third_party/boringssl-with-bazel/src/crypto/curve25519/{spake25519.c → spake25519.cc} +20 -16
  216. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/{dh_asn1.c → dh_asn1.cc} +2 -2
  217. data/third_party/boringssl-with-bazel/src/crypto/digest_extra/{digest_extra.c → digest_extra.cc} +113 -31
  218. data/third_party/boringssl-with-bazel/src/crypto/dsa/{dsa.c → dsa.cc} +153 -154
  219. data/third_party/boringssl-with-bazel/src/crypto/dsa/{dsa_asn1.c → dsa_asn1.cc} +2 -2
  220. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +1 -3
  221. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/{ec_asn1.c → ec_asn1.cc} +35 -0
  222. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/{ec_derive.c → ec_derive.cc} +1 -1
  223. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/{hash_to_curve.c → hash_to_curve.cc} +66 -64
  224. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +1 -1
  225. data/third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/{ecdsa_asn1.c → ecdsa_asn1.cc} +15 -25
  226. data/third_party/boringssl-with-bazel/src/crypto/engine/{engine.c → engine.cc} +12 -8
  227. data/third_party/boringssl-with-bazel/src/crypto/err/{err.c → err.cc} +24 -27
  228. data/third_party/boringssl-with-bazel/src/crypto/err/internal.h +1 -1
  229. data/third_party/boringssl-with-bazel/src/crypto/evp/{evp.c → evp.cc} +8 -9
  230. data/third_party/boringssl-with-bazel/src/crypto/evp/{evp_ctx.c → evp_ctx.cc} +7 -8
  231. data/third_party/boringssl-with-bazel/src/crypto/evp/{p_dh.c → p_dh.cc} +23 -14
  232. data/third_party/boringssl-with-bazel/src/crypto/evp/{p_dh_asn1.c → p_dh_asn1.cc} +38 -21
  233. data/third_party/boringssl-with-bazel/src/crypto/evp/{p_dsa_asn1.c → p_dsa_asn1.cc} +19 -24
  234. data/third_party/boringssl-with-bazel/src/crypto/evp/{p_ec.c → p_ec.cc} +20 -23
  235. data/third_party/boringssl-with-bazel/src/crypto/evp/{p_ec_asn1.c → p_ec_asn1.cc} +20 -20
  236. data/third_party/boringssl-with-bazel/src/crypto/evp/{p_ed25519.c → p_ed25519.cc} +22 -19
  237. data/third_party/boringssl-with-bazel/src/crypto/evp/{p_ed25519_asn1.c → p_ed25519_asn1.cc} +14 -13
  238. data/third_party/boringssl-with-bazel/src/crypto/evp/{p_hkdf.c → p_hkdf.cc} +18 -14
  239. data/third_party/boringssl-with-bazel/src/crypto/evp/{p_rsa.c → p_rsa.cc} +38 -37
  240. data/third_party/boringssl-with-bazel/src/crypto/evp/{p_rsa_asn1.c → p_rsa_asn1.cc} +16 -18
  241. data/third_party/boringssl-with-bazel/src/crypto/evp/{p_x25519.c → p_x25519.cc} +22 -19
  242. data/third_party/boringssl-with-bazel/src/crypto/evp/{p_x25519_asn1.c → p_x25519_asn1.cc} +18 -17
  243. data/third_party/boringssl-with-bazel/src/crypto/evp/{pbkdf.c → pbkdf.cc} +2 -2
  244. data/third_party/boringssl-with-bazel/src/crypto/evp/{print.c → print.cc} +4 -5
  245. data/third_party/boringssl-with-bazel/src/crypto/evp/{scrypt.c → scrypt.cc} +7 -5
  246. data/third_party/boringssl-with-bazel/src/crypto/{ex_data.c → ex_data.cc} +3 -4
  247. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{aes_nohw.c.inc → aes_nohw.cc.inc} +1 -1
  248. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +1 -5
  249. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{key_wrap.c.inc → key_wrap.cc.inc} +1 -1
  250. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/{bcm.c → bcm.cc} +96 -101
  251. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm_interface.h +165 -12
  252. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{add.c.inc → add.cc.inc} +1 -0
  253. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/asm/{x86_64-gcc.c.inc → x86_64-gcc.cc.inc} +4 -4
  254. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{bn.c.inc → bn.cc.inc} +12 -24
  255. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{ctx.c.inc → ctx.cc.inc} +5 -7
  256. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{div.c.inc → div.cc.inc} +29 -38
  257. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{div_extra.c.inc → div_extra.cc.inc} +1 -1
  258. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{exponentiation.c.inc → exponentiation.cc.inc} +22 -22
  259. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{gcd.c.inc → gcd.cc.inc} +3 -6
  260. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{gcd_extra.c.inc → gcd_extra.cc.inc} +33 -25
  261. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{montgomery.c.inc → montgomery.cc.inc} +10 -17
  262. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{mul.c.inc → mul.cc.inc} +11 -15
  263. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{prime.c.inc → prime.cc.inc} +31 -34
  264. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{shift.c.inc → shift.cc.inc} +3 -4
  265. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{aead.c.inc → aead.cc.inc} +18 -10
  266. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{cipher.c.inc → cipher.cc.inc} +6 -9
  267. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{e_aes.c.inc → e_aes.cc.inc} +46 -54
  268. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cmac/{cmac.c.inc → cmac.cc.inc} +6 -6
  269. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h +14 -10
  270. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/{dh.c.inc → dh.cc.inc} +15 -19
  271. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/internal.h +1 -3
  272. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/{digest.c.inc → digest.cc.inc} +17 -13
  273. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/{digests.c.inc → digests.cc.inc} +29 -113
  274. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digestsign/{digestsign.c.inc → digestsign.cc.inc} +3 -3
  275. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/builtin_curves.h +1 -1
  276. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{ec.c.inc → ec.cc.inc} +10 -15
  277. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{ec_key.c.inc → ec_key.cc.inc} +12 -14
  278. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{felem.c.inc → felem.cc.inc} +1 -1
  279. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{oct.c.inc → oct.cc.inc} +5 -6
  280. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p224-64.c.inc → p224-64.cc.inc} +1 -1
  281. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz-table.h +1 -1
  282. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256-nistz.c.inc → p256-nistz.cc.inc} +15 -13
  283. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256.c.inc → p256.cc.inc} +1 -1
  284. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +1 -1
  285. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{scalar.c.inc → scalar.cc.inc} +1 -1
  286. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{simple_mul.c.inc → simple_mul.cc.inc} +1 -1
  287. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{util.c.inc → util.cc.inc} +1 -1
  288. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{wnaf.c.inc → wnaf.cc.inc} +24 -15
  289. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/{ecdh.c.inc → ecdh.cc.inc} +14 -5
  290. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/{ecdsa.c.inc → ecdsa.cc.inc} +6 -7
  291. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +1 -1
  292. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/{fips_shared_support.c → fips_shared_support.cc} +2 -3
  293. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/{hkdf.c.inc → hkdf.cc.inc} +1 -1
  294. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/{hmac.c.inc → hmac.cc.inc} +3 -2
  295. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{gcm.c.inc → gcm.cc.inc} +69 -21
  296. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{gcm_nohw.c.inc → gcm_nohw.cc.inc} +1 -1
  297. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +53 -33
  298. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{polyval.c.inc → polyval.cc.inc} +2 -3
  299. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/{ctrdrbg.c.inc → ctrdrbg.cc.inc} +5 -4
  300. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +1 -1
  301. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/{rand.c.inc → rand.cc.inc} +20 -18
  302. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{blinding.c.inc → blinding.cc.inc} +5 -4
  303. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{padding.c.inc → padding.cc.inc} +21 -21
  304. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{rsa.c.inc → rsa.cc.inc} +77 -73
  305. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{rsa_impl.c.inc → rsa_impl.cc.inc} +50 -53
  306. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/{fips.c.inc → fips.cc.inc} +14 -6
  307. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/{self_check.c.inc → self_check.cc.inc} +56 -52
  308. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/{service_indicator.c.inc → service_indicator.cc.inc} +10 -11
  309. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +2 -4
  310. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/{sha1.c.inc → sha1.cc.inc} +26 -33
  311. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/{sha256.c.inc → sha256.cc.inc} +37 -55
  312. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/{sha512.c.inc → sha512.cc.inc} +48 -76
  313. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h +1 -1
  314. data/third_party/boringssl-with-bazel/src/crypto/hpke/{hpke.c → hpke.cc} +7 -4
  315. data/third_party/boringssl-with-bazel/src/crypto/hrss/{hrss.c → hrss.cc} +53 -110
  316. data/third_party/boringssl-with-bazel/src/crypto/hrss/internal.h +1 -1
  317. data/third_party/boringssl-with-bazel/src/crypto/internal.h +191 -248
  318. data/third_party/boringssl-with-bazel/src/crypto/keccak/internal.h +1 -1
  319. data/third_party/boringssl-with-bazel/src/crypto/keccak/{keccak.c → keccak.cc} +1 -1
  320. data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +1 -1
  321. data/third_party/boringssl-with-bazel/src/crypto/kyber/{kyber.c → kyber.cc} +1 -1
  322. data/third_party/boringssl-with-bazel/src/crypto/lhash/{lhash.c → lhash.cc} +8 -7
  323. data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/md4/md4.c.inc → md4/md4.cc} +8 -12
  324. data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/md5 → md5}/internal.h +1 -1
  325. data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/md5/md5.c.inc → md5/md5.cc} +4 -3
  326. data/third_party/boringssl-with-bazel/src/crypto/{mem.c → mem.cc} +34 -22
  327. data/third_party/boringssl-with-bazel/src/crypto/mldsa/internal.h +4 -1
  328. data/third_party/boringssl-with-bazel/src/crypto/mldsa/{mldsa.c → mldsa.cc} +646 -543
  329. data/third_party/boringssl-with-bazel/src/crypto/mlkem/internal.h +1 -1
  330. data/third_party/boringssl-with-bazel/src/crypto/mlkem/mlkem.cc +8 -8
  331. data/third_party/boringssl-with-bazel/src/crypto/obj/{obj.c → obj.cc} +27 -30
  332. data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_info.c → pem_info.cc} +2 -2
  333. data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_lib.c → pem_lib.cc} +3 -4
  334. data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_oth.c → pem_oth.cc} +1 -1
  335. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/internal.h +1 -1
  336. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/{pkcs7.c → pkcs7.cc} +5 -5
  337. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/{pkcs7_x509.c → pkcs7_x509.cc} +26 -25
  338. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +2 -2
  339. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/{p5_pbev2.c → p5_pbev2.cc} +2 -2
  340. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/{pkcs8.c → pkcs8.cc} +159 -158
  341. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/{pkcs8_x509.c → pkcs8_x509.cc} +90 -97
  342. data/third_party/boringssl-with-bazel/src/crypto/poly1305/internal.h +1 -1
  343. data/third_party/boringssl-with-bazel/src/crypto/poly1305/{poly1305.c → poly1305.cc} +3 -3
  344. data/third_party/boringssl-with-bazel/src/crypto/poly1305/{poly1305_arm.c → poly1305_arm.cc} +4 -2
  345. data/third_party/boringssl-with-bazel/src/crypto/poly1305/{poly1305_vec.c → poly1305_vec.cc} +14 -11
  346. data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +1 -1
  347. data/third_party/boringssl-with-bazel/src/crypto/pool/{pool.c → pool.cc} +12 -11
  348. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{deterministic.c → deterministic.cc} +2 -2
  349. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{fork_detect.c → fork_detect.cc} +11 -12
  350. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{forkunsafe.c → forkunsafe.cc} +2 -2
  351. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{getentropy.c → getentropy.cc} +1 -1
  352. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/getrandom_fillin.h +1 -1
  353. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{ios.c → ios.cc} +1 -1
  354. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{passive.c → passive.cc} +22 -18
  355. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{rand_extra.c → rand_extra.cc} +1 -1
  356. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/sysrand_internal.h +1 -1
  357. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{trusty.c → trusty.cc} +1 -1
  358. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{urandom.c → urandom.cc} +7 -7
  359. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{windows.c → windows.cc} +1 -1
  360. data/third_party/boringssl-with-bazel/src/crypto/{refcount.c → refcount.cc} +1 -1
  361. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/{rsa_asn1.c → rsa_asn1.cc} +2 -2
  362. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/{rsa_crypt.c → rsa_crypt.cc} +81 -78
  363. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_extra.cc +17 -0
  364. data/third_party/boringssl-with-bazel/src/crypto/sha/sha1.cc +52 -0
  365. data/third_party/boringssl-with-bazel/src/crypto/sha/sha256.cc +87 -0
  366. data/third_party/boringssl-with-bazel/src/crypto/sha/sha512.cc +104 -0
  367. data/third_party/boringssl-with-bazel/src/crypto/siphash/{siphash.c → siphash.cc} +1 -1
  368. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/address.h +123 -0
  369. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/fors.cc +169 -0
  370. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/fors.h +58 -0
  371. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/internal.h +63 -0
  372. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/merkle.cc +161 -0
  373. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/merkle.h +70 -0
  374. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/params.h +83 -0
  375. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/slhdsa.cc +307 -0
  376. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/thash.cc +173 -0
  377. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/thash.h +85 -0
  378. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/wots.cc +171 -0
  379. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/wots.h +50 -0
  380. data/third_party/boringssl-with-bazel/src/crypto/stack/{stack.c → stack.cc} +10 -6
  381. data/third_party/boringssl-with-bazel/src/crypto/{thread_none.c → thread_none.cc} +1 -1
  382. data/third_party/boringssl-with-bazel/src/crypto/{thread_pthread.c → thread_pthread.cc} +9 -8
  383. data/third_party/boringssl-with-bazel/src/crypto/{thread_win.c → thread_win.cc} +21 -17
  384. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +1 -1
  385. data/third_party/boringssl-with-bazel/src/crypto/trust_token/{pmbtoken.c → pmbtoken.cc} +146 -158
  386. data/third_party/boringssl-with-bazel/src/crypto/trust_token/{trust_token.c → trust_token.cc} +19 -21
  387. data/third_party/boringssl-with-bazel/src/crypto/trust_token/{voprf.c → voprf.cc} +165 -169
  388. data/third_party/boringssl-with-bazel/src/crypto/x509/{a_digest.c → a_digest.cc} +1 -1
  389. data/third_party/boringssl-with-bazel/src/crypto/x509/{a_sign.c → a_sign.cc} +37 -34
  390. data/third_party/boringssl-with-bazel/src/crypto/x509/{a_verify.c → a_verify.cc} +1 -1
  391. data/third_party/boringssl-with-bazel/src/crypto/x509/{algorithm.c → algorithm.cc} +1 -1
  392. data/third_party/boringssl-with-bazel/src/crypto/x509/{asn1_gen.c → asn1_gen.cc} +5 -6
  393. data/third_party/boringssl-with-bazel/src/crypto/x509/{by_dir.c → by_dir.cc} +7 -6
  394. data/third_party/boringssl-with-bazel/src/crypto/x509/{policy.c → policy.cc} +188 -178
  395. data/third_party/boringssl-with-bazel/src/crypto/x509/{rsa_pss.c → rsa_pss.cc} +48 -44
  396. data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_akey.c → v3_akey.cc} +4 -2
  397. data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_alt.c → v3_alt.cc} +5 -5
  398. data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_bcons.c → v3_bcons.cc} +3 -1
  399. data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_bitst.c → v3_bitst.cc} +6 -3
  400. data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_conf.c → v3_conf.cc} +5 -5
  401. data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_cpols.c → v3_cpols.cc} +47 -41
  402. data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_crld.c → v3_crld.cc} +3 -2
  403. data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_enum.c → v3_enum.cc} +5 -2
  404. data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_extku.c → v3_extku.cc} +3 -1
  405. data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_genn.c → v3_genn.cc} +7 -7
  406. data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_ia5.c → v3_ia5.cc} +3 -2
  407. data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_info.c → v3_info.cc} +4 -2
  408. data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_int.c → v3_int.cc} +3 -1
  409. data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_lib.c → v3_lib.cc} +9 -6
  410. data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_ncons.c → v3_ncons.cc} +3 -3
  411. data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_ocsp.c → v3_ocsp.cc} +4 -1
  412. data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_pcons.c → v3_pcons.cc} +3 -3
  413. data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_pmaps.c → v3_pmaps.cc} +3 -3
  414. data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_prn.c → v3_prn.cc} +2 -1
  415. data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_purp.c → v3_purp.cc} +16 -8
  416. data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_skey.c → v3_skey.cc} +6 -3
  417. data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_utl.c → v3_utl.cc} +15 -10
  418. data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_att.c → x509_att.cc} +3 -2
  419. data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_lu.c → x509_lu.cc} +6 -5
  420. data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_v3.c → x509_v3.cc} +2 -2
  421. data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_vfy.c → x509_vfy.cc} +216 -212
  422. data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_vpm.c → x509_vpm.cc} +55 -13
  423. data/third_party/boringssl-with-bazel/src/crypto/x509/{x509spki.c → x509spki.cc} +3 -3
  424. data/third_party/boringssl-with-bazel/src/crypto/x509/{x_all.c → x_all.cc} +10 -6
  425. data/third_party/boringssl-with-bazel/src/crypto/x509/{x_crl.c → x_crl.cc} +6 -6
  426. data/third_party/boringssl-with-bazel/src/crypto/x509/{x_name.c → x_name.cc} +39 -32
  427. data/third_party/boringssl-with-bazel/src/crypto/x509/{x_pubkey.c → x_pubkey.cc} +4 -2
  428. data/third_party/boringssl-with-bazel/src/crypto/x509/{x_x509.c → x_x509.cc} +48 -44
  429. data/third_party/boringssl-with-bazel/src/crypto/x509/{x_x509a.c → x_x509a.cc} +4 -2
  430. data/third_party/boringssl-with-bazel/src/gen/crypto/{err_data.c → err_data.cc} +359 -358
  431. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +1 -1
  432. data/third_party/boringssl-with-bazel/src/include/openssl/asm_base.h +1 -1
  433. data/third_party/boringssl-with-bazel/src/include/openssl/asn1_mac.h +1 -1
  434. data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +237 -275
  435. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +12 -5
  436. data/third_party/boringssl-with-bazel/src/include/openssl/bcm_public.h +82 -0
  437. data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +1 -1
  438. data/third_party/boringssl-with-bazel/src/include/openssl/buffer.h +1 -1
  439. data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +1 -1
  440. data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +1 -1
  441. data/third_party/boringssl-with-bazel/src/include/openssl/cmac.h +1 -1
  442. data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +1 -1
  443. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +13 -2
  444. data/third_party/boringssl-with-bazel/src/include/openssl/ctrdrbg.h +1 -1
  445. data/third_party/boringssl-with-bazel/src/include/openssl/curve25519.h +1 -1
  446. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +4 -0
  447. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +6 -1
  448. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +4 -0
  449. data/third_party/boringssl-with-bazel/src/include/openssl/dtls1.h +1 -1
  450. data/third_party/boringssl-with-bazel/src/include/openssl/e_os2.h +1 -1
  451. data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +17 -1
  452. data/third_party/boringssl-with-bazel/src/include/openssl/engine.h +1 -1
  453. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +1 -1
  454. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/kyber.h +1 -1
  455. data/third_party/boringssl-with-bazel/src/include/openssl/hkdf.h +1 -1
  456. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +1 -1
  457. data/third_party/boringssl-with-bazel/src/include/openssl/hrss.h +1 -1
  458. data/third_party/boringssl-with-bazel/src/include/openssl/is_boringssl.h +1 -1
  459. data/third_party/boringssl-with-bazel/src/include/openssl/kdf.h +1 -1
  460. data/third_party/boringssl-with-bazel/src/include/openssl/mldsa.h +8 -8
  461. data/third_party/boringssl-with-bazel/src/include/openssl/mlkem.h +1 -1
  462. data/third_party/boringssl-with-bazel/src/include/openssl/obj_mac.h +1 -1
  463. data/third_party/boringssl-with-bazel/src/include/openssl/objects.h +1 -1
  464. data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +1 -1
  465. data/third_party/boringssl-with-bazel/src/include/openssl/opensslv.h +1 -1
  466. data/third_party/boringssl-with-bazel/src/include/openssl/ossl_typ.h +1 -1
  467. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs12.h +1 -1
  468. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +1 -1
  469. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +2 -2
  470. data/third_party/boringssl-with-bazel/src/include/openssl/poly1305.h +1 -1
  471. data/third_party/boringssl-with-bazel/src/include/openssl/pool.h +1 -1
  472. data/third_party/boringssl-with-bazel/src/include/openssl/posix_time.h +1 -1
  473. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +1 -1
  474. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +10 -5
  475. data/third_party/boringssl-with-bazel/src/include/openssl/safestack.h +1 -1
  476. data/third_party/boringssl-with-bazel/src/include/openssl/sha.h +2 -40
  477. data/third_party/boringssl-with-bazel/src/include/openssl/siphash.h +1 -1
  478. data/third_party/boringssl-with-bazel/src/include/openssl/slhdsa.h +133 -0
  479. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +6 -1
  480. data/third_party/boringssl-with-bazel/src/include/openssl/srtp.h +1 -1
  481. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +160 -116
  482. data/third_party/boringssl-with-bazel/src/include/openssl/ssl3.h +1 -0
  483. data/third_party/boringssl-with-bazel/src/include/openssl/target.h +1 -1
  484. data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +2 -2
  485. data/third_party/boringssl-with-bazel/src/include/openssl/time.h +1 -1
  486. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +1 -1
  487. data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +1 -1
  488. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +1 -1
  489. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3_errors.h +2 -2
  490. data/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc +2 -6
  491. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +667 -322
  492. data/third_party/boringssl-with-bazel/src/ssl/d1_lib.cc +116 -119
  493. data/third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc +163 -21
  494. data/third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc +4 -12
  495. data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +94 -49
  496. data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +296 -198
  497. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +23 -14
  498. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +363 -343
  499. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +48 -58
  500. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +44 -36
  501. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +145 -159
  502. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +65 -58
  503. data/third_party/boringssl-with-bazel/src/ssl/internal.h +910 -356
  504. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +29 -41
  505. data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +13 -11
  506. data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +2 -2
  507. data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +90 -183
  508. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +38 -64
  509. data/third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc +1 -1
  510. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +103 -44
  511. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +210 -220
  512. data/third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc +70 -12
  513. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +20 -17
  514. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +146 -169
  515. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +15 -16
  516. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +79 -95
  517. data/third_party/boringssl-with-bazel/src/ssl/ssl_stat.cc +3 -9
  518. data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +91 -16
  519. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +30 -16
  520. data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +51 -56
  521. data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +22 -25
  522. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +43 -27
  523. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +63 -59
  524. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +204 -121
  525. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +86 -59
  526. data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +51 -62
  527. data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +37 -25
  528. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_32.h +6 -0
  529. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64.h +6 -0
  530. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_adx.h +4 -1
  531. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h +1 -1
  532. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64.h +3 -0
  533. metadata +339 -339
  534. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb.h +0 -426
  535. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.c +0 -87
  536. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.h +0 -32
  537. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb.h +0 -408
  538. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.c +0 -124
  539. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.h +0 -38
  540. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.c +0 -108
  541. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.h +0 -33
  542. data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.c +0 -67
  543. data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.h +0 -48
  544. data/src/core/util/atm.cc +0 -34
  545. data/third_party/boringssl-with-bazel/src/crypto/dilithium/dilithium.c +0 -1539
  546. data/third_party/boringssl-with-bazel/src/crypto/dilithium/internal.h +0 -58
  547. data/third_party/boringssl-with-bazel/src/crypto/spx/address.c +0 -101
  548. data/third_party/boringssl-with-bazel/src/crypto/spx/address.h +0 -50
  549. data/third_party/boringssl-with-bazel/src/crypto/spx/fors.c +0 -133
  550. data/third_party/boringssl-with-bazel/src/crypto/spx/fors.h +0 -54
  551. data/third_party/boringssl-with-bazel/src/crypto/spx/merkle.c +0 -150
  552. data/third_party/boringssl-with-bazel/src/crypto/spx/merkle.h +0 -61
  553. data/third_party/boringssl-with-bazel/src/crypto/spx/params.h +0 -71
  554. data/third_party/boringssl-with-bazel/src/crypto/spx/spx.c +0 -140
  555. data/third_party/boringssl-with-bazel/src/crypto/spx/spx_util.c +0 -53
  556. data/third_party/boringssl-with-bazel/src/crypto/spx/spx_util.h +0 -44
  557. data/third_party/boringssl-with-bazel/src/crypto/spx/thash.c +0 -136
  558. data/third_party/boringssl-with-bazel/src/crypto/spx/thash.h +0 -70
  559. data/third_party/boringssl-with-bazel/src/crypto/spx/wots.c +0 -135
  560. data/third_party/boringssl-with-bazel/src/crypto/spx/wots.h +0 -45
  561. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/dilithium.h +0 -129
  562. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/spx.h +0 -90
  563. /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_bool.c → a_bool.cc} +0 -0
  564. /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_gentm.c → a_gentm.cc} +0 -0
  565. /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_octet.c → a_octet.cc} +0 -0
  566. /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_strex.c → a_strex.cc} +0 -0
  567. /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_time.c → a_time.cc} +0 -0
  568. /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_utctm.c → a_utctm.cc} +0 -0
  569. /data/third_party/boringssl-with-bazel/src/crypto/asn1/{asn1_par.c → asn1_par.cc} +0 -0
  570. /data/third_party/boringssl-with-bazel/src/crypto/asn1/{f_int.c → f_int.cc} +0 -0
  571. /data/third_party/boringssl-with-bazel/src/crypto/asn1/{f_string.c → f_string.cc} +0 -0
  572. /data/third_party/boringssl-with-bazel/src/crypto/asn1/{tasn_typ.c → tasn_typ.cc} +0 -0
  573. /data/third_party/boringssl-with-bazel/src/crypto/bio/{errno.c → errno.cc} +0 -0
  574. /data/third_party/boringssl-with-bazel/src/crypto/bio/{fd.c → fd.cc} +0 -0
  575. /data/third_party/boringssl-with-bazel/src/crypto/bio/{hexdump.c → hexdump.cc} +0 -0
  576. /data/third_party/boringssl-with-bazel/src/crypto/bio/{socket.c → socket.cc} +0 -0
  577. /data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{cipher_extra.c → cipher_extra.cc} +0 -0
  578. /data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{derive_key.c → derive_key.cc} +0 -0
  579. /data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{tls_cbc.c → tls_cbc.cc} +0 -0
  580. /data/third_party/boringssl-with-bazel/src/crypto/des/{des.c → des.cc} +0 -0
  581. /data/third_party/boringssl-with-bazel/src/crypto/dh_extra/{params.c → params.cc} +0 -0
  582. /data/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/{ecdh_extra.c → ecdh_extra.cc} +0 -0
  583. /data/third_party/boringssl-with-bazel/src/crypto/evp/{evp_asn1.c → evp_asn1.cc} +0 -0
  584. /data/third_party/boringssl-with-bazel/src/crypto/evp/{sign.c → sign.cc} +0 -0
  585. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{aes.c.inc → aes.cc.inc} +0 -0
  586. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{mode_wrappers.c.inc → mode_wrappers.cc.inc} +0 -0
  587. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{bytes.c.inc → bytes.cc.inc} +0 -0
  588. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{cmp.c.inc → cmp.cc.inc} +0 -0
  589. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{generic.c.inc → generic.cc.inc} +0 -0
  590. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{jacobi.c.inc → jacobi.cc.inc} +0 -0
  591. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{montgomery_inv.c.inc → montgomery_inv.cc.inc} +0 -0
  592. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{random.c.inc → random.cc.inc} +0 -0
  593. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{rsaz_exp.c.inc → rsaz_exp.cc.inc} +0 -0
  594. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{sqrt.c.inc → sqrt.cc.inc} +0 -0
  595. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{e_aesccm.c.inc → e_aesccm.cc.inc} +0 -0
  596. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/{check.c.inc → check.cc.inc} +0 -0
  597. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{ec_montgomery.c.inc → ec_montgomery.cc.inc} +0 -0
  598. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{simple.c.inc → simple.cc.inc} +0 -0
  599. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{cbc.c.inc → cbc.cc.inc} +0 -0
  600. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{cfb.c.inc → cfb.cc.inc} +0 -0
  601. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{ctr.c.inc → ctr.cc.inc} +0 -0
  602. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{ofb.c.inc → ofb.cc.inc} +0 -0
  603. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/{kdf.c.inc → kdf.cc.inc} +0 -0
  604. /data/third_party/boringssl-with-bazel/src/crypto/obj/{obj_xref.c → obj_xref.cc} +0 -0
  605. /data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_all.c → pem_all.cc} +0 -0
  606. /data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_pk8.c → pem_pk8.cc} +0 -0
  607. /data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_pkey.c → pem_pkey.cc} +0 -0
  608. /data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_x509.c → pem_x509.cc} +0 -0
  609. /data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_xaux.c → pem_xaux.cc} +0 -0
  610. /data/third_party/boringssl-with-bazel/src/crypto/rc4/{rc4.c → rc4.cc} +0 -0
  611. /data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/{rsa_print.c → rsa_print.cc} +0 -0
  612. /data/third_party/boringssl-with-bazel/src/crypto/{thread.c → thread.cc} +0 -0
  613. /data/third_party/boringssl-with-bazel/src/crypto/x509/{by_file.c → by_file.cc} +0 -0
  614. /data/third_party/boringssl-with-bazel/src/crypto/x509/{i2d_pr.c → i2d_pr.cc} +0 -0
  615. /data/third_party/boringssl-with-bazel/src/crypto/x509/{name_print.c → name_print.cc} +0 -0
  616. /data/third_party/boringssl-with-bazel/src/crypto/x509/{t_crl.c → t_crl.cc} +0 -0
  617. /data/third_party/boringssl-with-bazel/src/crypto/x509/{t_req.c → t_req.cc} +0 -0
  618. /data/third_party/boringssl-with-bazel/src/crypto/x509/{t_x509.c → t_x509.cc} +0 -0
  619. /data/third_party/boringssl-with-bazel/src/crypto/x509/{t_x509a.c → t_x509a.cc} +0 -0
  620. /data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_akeya.c → v3_akeya.cc} +0 -0
  621. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509.c → x509.cc} +0 -0
  622. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_cmp.c → x509_cmp.cc} +0 -0
  623. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_d2.c → x509_d2.cc} +0 -0
  624. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_def.c → x509_def.cc} +0 -0
  625. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_ext.c → x509_ext.cc} +0 -0
  626. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_obj.c → x509_obj.cc} +0 -0
  627. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_req.c → x509_req.cc} +0 -0
  628. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_set.c → x509_set.cc} +0 -0
  629. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_trs.c → x509_trs.cc} +0 -0
  630. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_txt.c → x509_txt.cc} +0 -0
  631. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509cset.c → x509cset.cc} +0 -0
  632. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509name.c → x509name.cc} +0 -0
  633. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509rset.c → x509rset.cc} +0 -0
  634. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_algor.c → x_algor.cc} +0 -0
  635. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_attrib.c → x_attrib.cc} +0 -0
  636. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_exten.c → x_exten.cc} +0 -0
  637. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_req.c → x_req.cc} +0 -0
  638. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_sig.c → x_sig.cc} +0 -0
  639. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_spki.c → x_spki.cc} +0 -0
  640. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_val.c → x_val.cc} +0 -0
@@ -23,18 +23,16 @@
23
23
 
24
24
  #if defined(GRPC_CFSTREAM)
25
25
  namespace {
26
+ const char* const description_backoff_cap_initial_at_max =
27
+ "Backoff library applies max_backoff even on initial_backoff.";
28
+ const char* const additional_constraints_backoff_cap_initial_at_max = "{}";
26
29
  const char* const description_call_tracer_in_transport =
27
30
  "Transport directly passes byte counts to CallTracer.";
28
31
  const char* const additional_constraints_call_tracer_in_transport = "{}";
29
- const char* const description_canary_client_privacy =
30
- "If set, canary client privacy";
31
- const char* const additional_constraints_canary_client_privacy = "{}";
32
32
  const char* const description_chaotic_good_legacy_protocol =
33
33
  "If set, use the first version of the chaotic-good protocol when that "
34
34
  "protocol is enabled.";
35
35
  const char* const additional_constraints_chaotic_good_legacy_protocol = "{}";
36
- const char* const description_client_privacy = "If set, client privacy";
37
- const char* const additional_constraints_client_privacy = "{}";
38
36
  const char* const description_disable_buffer_hint_on_high_memory_pressure =
39
37
  "Disable buffer hint flag parsing in the transport under high memory "
40
38
  "pressure.";
@@ -86,6 +84,14 @@ const char* const additional_constraints_multiping = "{}";
86
84
  const char* const description_pick_first_new =
87
85
  "New pick_first impl with memory reduction.";
88
86
  const char* const additional_constraints_pick_first_new = "{}";
87
+ const char* const description_posix_ee_skip_grpc_init =
88
+ "Prevent the PosixEventEngine from calling grpc_init & grpc_shutdown on "
89
+ "creation and destruction.";
90
+ const char* const additional_constraints_posix_ee_skip_grpc_init = "{}";
91
+ const char* const description_prioritize_finished_requests =
92
+ "Prioritize flushing out finished requests over other in-flight requests "
93
+ "during transport writes.";
94
+ const char* const additional_constraints_prioritize_finished_requests = "{}";
89
95
  const char* const description_promise_based_http2_client_transport =
90
96
  "Use promises for the http2 client transport. We have kept client and "
91
97
  "server transport experiments separate to help with smoother roll outs and "
@@ -101,6 +107,8 @@ const char* const additional_constraints_promise_based_http2_server_transport =
101
107
  const char* const description_promise_based_inproc_transport =
102
108
  "Use promises for the in-process transport.";
103
109
  const char* const additional_constraints_promise_based_inproc_transport = "{}";
110
+ const char* const description_retry_in_callv3 = "Support retries with call-v3";
111
+ const char* const additional_constraints_retry_in_callv3 = "{}";
104
112
  const char* const description_rq_fast_reject =
105
113
  "Resource quota rejects requests immediately (before allocating the "
106
114
  "request structure) under very high memory pressure.";
@@ -109,8 +117,6 @@ const char* const description_schedule_cancellation_over_write =
109
117
  "Allow cancellation op to be scheduled over a write";
110
118
  const char* const additional_constraints_schedule_cancellation_over_write =
111
119
  "{}";
112
- const char* const description_server_privacy = "If set, server privacy";
113
- const char* const additional_constraints_server_privacy = "{}";
114
120
  const char* const description_tcp_frame_size_tuning =
115
121
  "If set, enables TCP to use RPC size estimation made by higher layers. TCP "
116
122
  "would not indicate completion of a read operation until a specified "
@@ -136,20 +142,23 @@ const char* const description_work_serializer_dispatch =
136
142
  "callback, instead of running things inline in the first thread that "
137
143
  "successfully enqueues work.";
138
144
  const char* const additional_constraints_work_serializer_dispatch = "{}";
145
+ const char* const description_server_listener =
146
+ "If set, the new server listener classes are used.";
147
+ const char* const additional_constraints_server_listener = "{}";
148
+ const uint8_t required_experiments_server_listener[] = {
149
+ static_cast<uint8_t>(grpc_core::kExperimentIdWorkSerializerDispatch)};
139
150
  } // namespace
140
151
 
141
152
  namespace grpc_core {
142
153
 
143
154
  const ExperimentMetadata g_experiment_metadata[] = {
155
+ {"backoff_cap_initial_at_max", description_backoff_cap_initial_at_max,
156
+ additional_constraints_backoff_cap_initial_at_max, nullptr, 0, true, true},
144
157
  {"call_tracer_in_transport", description_call_tracer_in_transport,
145
158
  additional_constraints_call_tracer_in_transport, nullptr, 0, true, true},
146
- {"canary_client_privacy", description_canary_client_privacy,
147
- additional_constraints_canary_client_privacy, nullptr, 0, false, false},
148
159
  {"chaotic_good_legacy_protocol", description_chaotic_good_legacy_protocol,
149
160
  additional_constraints_chaotic_good_legacy_protocol, nullptr, 0, false,
150
161
  true},
151
- {"client_privacy", description_client_privacy,
152
- additional_constraints_client_privacy, nullptr, 0, false, false},
153
162
  {"disable_buffer_hint_on_high_memory_pressure",
154
163
  description_disable_buffer_hint_on_high_memory_pressure,
155
164
  additional_constraints_disable_buffer_hint_on_high_memory_pressure,
@@ -184,6 +193,11 @@ const ExperimentMetadata g_experiment_metadata[] = {
184
193
  nullptr, 0, false, true},
185
194
  {"pick_first_new", description_pick_first_new,
186
195
  additional_constraints_pick_first_new, nullptr, 0, true, true},
196
+ {"posix_ee_skip_grpc_init", description_posix_ee_skip_grpc_init,
197
+ additional_constraints_posix_ee_skip_grpc_init, nullptr, 0, false, true},
198
+ {"prioritize_finished_requests", description_prioritize_finished_requests,
199
+ additional_constraints_prioritize_finished_requests, nullptr, 0, false,
200
+ true},
187
201
  {"promise_based_http2_client_transport",
188
202
  description_promise_based_http2_client_transport,
189
203
  additional_constraints_promise_based_http2_client_transport, nullptr, 0,
@@ -196,14 +210,14 @@ const ExperimentMetadata g_experiment_metadata[] = {
196
210
  description_promise_based_inproc_transport,
197
211
  additional_constraints_promise_based_inproc_transport, nullptr, 0, false,
198
212
  false},
213
+ {"retry_in_callv3", description_retry_in_callv3,
214
+ additional_constraints_retry_in_callv3, nullptr, 0, false, true},
199
215
  {"rq_fast_reject", description_rq_fast_reject,
200
216
  additional_constraints_rq_fast_reject, nullptr, 0, false, true},
201
217
  {"schedule_cancellation_over_write",
202
218
  description_schedule_cancellation_over_write,
203
219
  additional_constraints_schedule_cancellation_over_write, nullptr, 0, false,
204
220
  true},
205
- {"server_privacy", description_server_privacy,
206
- additional_constraints_server_privacy, nullptr, 0, false, false},
207
221
  {"tcp_frame_size_tuning", description_tcp_frame_size_tuning,
208
222
  additional_constraints_tcp_frame_size_tuning, nullptr, 0, false, true},
209
223
  {"tcp_rcv_lowat", description_tcp_rcv_lowat,
@@ -218,24 +232,25 @@ const ExperimentMetadata g_experiment_metadata[] = {
218
232
  false, true},
219
233
  {"work_serializer_dispatch", description_work_serializer_dispatch,
220
234
  additional_constraints_work_serializer_dispatch, nullptr, 0, true, true},
235
+ {"server_listener", description_server_listener,
236
+ additional_constraints_server_listener,
237
+ required_experiments_server_listener, 1, false, true},
221
238
  };
222
239
 
223
240
  } // namespace grpc_core
224
241
 
225
242
  #elif defined(GPR_WINDOWS)
226
243
  namespace {
244
+ const char* const description_backoff_cap_initial_at_max =
245
+ "Backoff library applies max_backoff even on initial_backoff.";
246
+ const char* const additional_constraints_backoff_cap_initial_at_max = "{}";
227
247
  const char* const description_call_tracer_in_transport =
228
248
  "Transport directly passes byte counts to CallTracer.";
229
249
  const char* const additional_constraints_call_tracer_in_transport = "{}";
230
- const char* const description_canary_client_privacy =
231
- "If set, canary client privacy";
232
- const char* const additional_constraints_canary_client_privacy = "{}";
233
250
  const char* const description_chaotic_good_legacy_protocol =
234
251
  "If set, use the first version of the chaotic-good protocol when that "
235
252
  "protocol is enabled.";
236
253
  const char* const additional_constraints_chaotic_good_legacy_protocol = "{}";
237
- const char* const description_client_privacy = "If set, client privacy";
238
- const char* const additional_constraints_client_privacy = "{}";
239
254
  const char* const description_disable_buffer_hint_on_high_memory_pressure =
240
255
  "Disable buffer hint flag parsing in the transport under high memory "
241
256
  "pressure.";
@@ -287,6 +302,14 @@ const char* const additional_constraints_multiping = "{}";
287
302
  const char* const description_pick_first_new =
288
303
  "New pick_first impl with memory reduction.";
289
304
  const char* const additional_constraints_pick_first_new = "{}";
305
+ const char* const description_posix_ee_skip_grpc_init =
306
+ "Prevent the PosixEventEngine from calling grpc_init & grpc_shutdown on "
307
+ "creation and destruction.";
308
+ const char* const additional_constraints_posix_ee_skip_grpc_init = "{}";
309
+ const char* const description_prioritize_finished_requests =
310
+ "Prioritize flushing out finished requests over other in-flight requests "
311
+ "during transport writes.";
312
+ const char* const additional_constraints_prioritize_finished_requests = "{}";
290
313
  const char* const description_promise_based_http2_client_transport =
291
314
  "Use promises for the http2 client transport. We have kept client and "
292
315
  "server transport experiments separate to help with smoother roll outs and "
@@ -302,6 +325,8 @@ const char* const additional_constraints_promise_based_http2_server_transport =
302
325
  const char* const description_promise_based_inproc_transport =
303
326
  "Use promises for the in-process transport.";
304
327
  const char* const additional_constraints_promise_based_inproc_transport = "{}";
328
+ const char* const description_retry_in_callv3 = "Support retries with call-v3";
329
+ const char* const additional_constraints_retry_in_callv3 = "{}";
305
330
  const char* const description_rq_fast_reject =
306
331
  "Resource quota rejects requests immediately (before allocating the "
307
332
  "request structure) under very high memory pressure.";
@@ -310,8 +335,6 @@ const char* const description_schedule_cancellation_over_write =
310
335
  "Allow cancellation op to be scheduled over a write";
311
336
  const char* const additional_constraints_schedule_cancellation_over_write =
312
337
  "{}";
313
- const char* const description_server_privacy = "If set, server privacy";
314
- const char* const additional_constraints_server_privacy = "{}";
315
338
  const char* const description_tcp_frame_size_tuning =
316
339
  "If set, enables TCP to use RPC size estimation made by higher layers. TCP "
317
340
  "would not indicate completion of a read operation until a specified "
@@ -337,20 +360,23 @@ const char* const description_work_serializer_dispatch =
337
360
  "callback, instead of running things inline in the first thread that "
338
361
  "successfully enqueues work.";
339
362
  const char* const additional_constraints_work_serializer_dispatch = "{}";
363
+ const char* const description_server_listener =
364
+ "If set, the new server listener classes are used.";
365
+ const char* const additional_constraints_server_listener = "{}";
366
+ const uint8_t required_experiments_server_listener[] = {
367
+ static_cast<uint8_t>(grpc_core::kExperimentIdWorkSerializerDispatch)};
340
368
  } // namespace
341
369
 
342
370
  namespace grpc_core {
343
371
 
344
372
  const ExperimentMetadata g_experiment_metadata[] = {
373
+ {"backoff_cap_initial_at_max", description_backoff_cap_initial_at_max,
374
+ additional_constraints_backoff_cap_initial_at_max, nullptr, 0, true, true},
345
375
  {"call_tracer_in_transport", description_call_tracer_in_transport,
346
376
  additional_constraints_call_tracer_in_transport, nullptr, 0, true, true},
347
- {"canary_client_privacy", description_canary_client_privacy,
348
- additional_constraints_canary_client_privacy, nullptr, 0, false, false},
349
377
  {"chaotic_good_legacy_protocol", description_chaotic_good_legacy_protocol,
350
378
  additional_constraints_chaotic_good_legacy_protocol, nullptr, 0, false,
351
379
  true},
352
- {"client_privacy", description_client_privacy,
353
- additional_constraints_client_privacy, nullptr, 0, false, false},
354
380
  {"disable_buffer_hint_on_high_memory_pressure",
355
381
  description_disable_buffer_hint_on_high_memory_pressure,
356
382
  additional_constraints_disable_buffer_hint_on_high_memory_pressure,
@@ -385,6 +411,11 @@ const ExperimentMetadata g_experiment_metadata[] = {
385
411
  nullptr, 0, false, true},
386
412
  {"pick_first_new", description_pick_first_new,
387
413
  additional_constraints_pick_first_new, nullptr, 0, true, true},
414
+ {"posix_ee_skip_grpc_init", description_posix_ee_skip_grpc_init,
415
+ additional_constraints_posix_ee_skip_grpc_init, nullptr, 0, false, true},
416
+ {"prioritize_finished_requests", description_prioritize_finished_requests,
417
+ additional_constraints_prioritize_finished_requests, nullptr, 0, false,
418
+ true},
388
419
  {"promise_based_http2_client_transport",
389
420
  description_promise_based_http2_client_transport,
390
421
  additional_constraints_promise_based_http2_client_transport, nullptr, 0,
@@ -397,14 +428,14 @@ const ExperimentMetadata g_experiment_metadata[] = {
397
428
  description_promise_based_inproc_transport,
398
429
  additional_constraints_promise_based_inproc_transport, nullptr, 0, false,
399
430
  false},
431
+ {"retry_in_callv3", description_retry_in_callv3,
432
+ additional_constraints_retry_in_callv3, nullptr, 0, false, true},
400
433
  {"rq_fast_reject", description_rq_fast_reject,
401
434
  additional_constraints_rq_fast_reject, nullptr, 0, false, true},
402
435
  {"schedule_cancellation_over_write",
403
436
  description_schedule_cancellation_over_write,
404
437
  additional_constraints_schedule_cancellation_over_write, nullptr, 0, false,
405
438
  true},
406
- {"server_privacy", description_server_privacy,
407
- additional_constraints_server_privacy, nullptr, 0, false, false},
408
439
  {"tcp_frame_size_tuning", description_tcp_frame_size_tuning,
409
440
  additional_constraints_tcp_frame_size_tuning, nullptr, 0, false, true},
410
441
  {"tcp_rcv_lowat", description_tcp_rcv_lowat,
@@ -419,24 +450,25 @@ const ExperimentMetadata g_experiment_metadata[] = {
419
450
  false, true},
420
451
  {"work_serializer_dispatch", description_work_serializer_dispatch,
421
452
  additional_constraints_work_serializer_dispatch, nullptr, 0, true, true},
453
+ {"server_listener", description_server_listener,
454
+ additional_constraints_server_listener,
455
+ required_experiments_server_listener, 1, false, true},
422
456
  };
423
457
 
424
458
  } // namespace grpc_core
425
459
 
426
460
  #else
427
461
  namespace {
462
+ const char* const description_backoff_cap_initial_at_max =
463
+ "Backoff library applies max_backoff even on initial_backoff.";
464
+ const char* const additional_constraints_backoff_cap_initial_at_max = "{}";
428
465
  const char* const description_call_tracer_in_transport =
429
466
  "Transport directly passes byte counts to CallTracer.";
430
467
  const char* const additional_constraints_call_tracer_in_transport = "{}";
431
- const char* const description_canary_client_privacy =
432
- "If set, canary client privacy";
433
- const char* const additional_constraints_canary_client_privacy = "{}";
434
468
  const char* const description_chaotic_good_legacy_protocol =
435
469
  "If set, use the first version of the chaotic-good protocol when that "
436
470
  "protocol is enabled.";
437
471
  const char* const additional_constraints_chaotic_good_legacy_protocol = "{}";
438
- const char* const description_client_privacy = "If set, client privacy";
439
- const char* const additional_constraints_client_privacy = "{}";
440
472
  const char* const description_disable_buffer_hint_on_high_memory_pressure =
441
473
  "Disable buffer hint flag parsing in the transport under high memory "
442
474
  "pressure.";
@@ -488,6 +520,14 @@ const char* const additional_constraints_multiping = "{}";
488
520
  const char* const description_pick_first_new =
489
521
  "New pick_first impl with memory reduction.";
490
522
  const char* const additional_constraints_pick_first_new = "{}";
523
+ const char* const description_posix_ee_skip_grpc_init =
524
+ "Prevent the PosixEventEngine from calling grpc_init & grpc_shutdown on "
525
+ "creation and destruction.";
526
+ const char* const additional_constraints_posix_ee_skip_grpc_init = "{}";
527
+ const char* const description_prioritize_finished_requests =
528
+ "Prioritize flushing out finished requests over other in-flight requests "
529
+ "during transport writes.";
530
+ const char* const additional_constraints_prioritize_finished_requests = "{}";
491
531
  const char* const description_promise_based_http2_client_transport =
492
532
  "Use promises for the http2 client transport. We have kept client and "
493
533
  "server transport experiments separate to help with smoother roll outs and "
@@ -503,6 +543,8 @@ const char* const additional_constraints_promise_based_http2_server_transport =
503
543
  const char* const description_promise_based_inproc_transport =
504
544
  "Use promises for the in-process transport.";
505
545
  const char* const additional_constraints_promise_based_inproc_transport = "{}";
546
+ const char* const description_retry_in_callv3 = "Support retries with call-v3";
547
+ const char* const additional_constraints_retry_in_callv3 = "{}";
506
548
  const char* const description_rq_fast_reject =
507
549
  "Resource quota rejects requests immediately (before allocating the "
508
550
  "request structure) under very high memory pressure.";
@@ -511,8 +553,6 @@ const char* const description_schedule_cancellation_over_write =
511
553
  "Allow cancellation op to be scheduled over a write";
512
554
  const char* const additional_constraints_schedule_cancellation_over_write =
513
555
  "{}";
514
- const char* const description_server_privacy = "If set, server privacy";
515
- const char* const additional_constraints_server_privacy = "{}";
516
556
  const char* const description_tcp_frame_size_tuning =
517
557
  "If set, enables TCP to use RPC size estimation made by higher layers. TCP "
518
558
  "would not indicate completion of a read operation until a specified "
@@ -538,20 +578,23 @@ const char* const description_work_serializer_dispatch =
538
578
  "callback, instead of running things inline in the first thread that "
539
579
  "successfully enqueues work.";
540
580
  const char* const additional_constraints_work_serializer_dispatch = "{}";
581
+ const char* const description_server_listener =
582
+ "If set, the new server listener classes are used.";
583
+ const char* const additional_constraints_server_listener = "{}";
584
+ const uint8_t required_experiments_server_listener[] = {
585
+ static_cast<uint8_t>(grpc_core::kExperimentIdWorkSerializerDispatch)};
541
586
  } // namespace
542
587
 
543
588
  namespace grpc_core {
544
589
 
545
590
  const ExperimentMetadata g_experiment_metadata[] = {
591
+ {"backoff_cap_initial_at_max", description_backoff_cap_initial_at_max,
592
+ additional_constraints_backoff_cap_initial_at_max, nullptr, 0, true, true},
546
593
  {"call_tracer_in_transport", description_call_tracer_in_transport,
547
594
  additional_constraints_call_tracer_in_transport, nullptr, 0, true, true},
548
- {"canary_client_privacy", description_canary_client_privacy,
549
- additional_constraints_canary_client_privacy, nullptr, 0, false, false},
550
595
  {"chaotic_good_legacy_protocol", description_chaotic_good_legacy_protocol,
551
596
  additional_constraints_chaotic_good_legacy_protocol, nullptr, 0, false,
552
597
  true},
553
- {"client_privacy", description_client_privacy,
554
- additional_constraints_client_privacy, nullptr, 0, false, false},
555
598
  {"disable_buffer_hint_on_high_memory_pressure",
556
599
  description_disable_buffer_hint_on_high_memory_pressure,
557
600
  additional_constraints_disable_buffer_hint_on_high_memory_pressure,
@@ -586,6 +629,11 @@ const ExperimentMetadata g_experiment_metadata[] = {
586
629
  nullptr, 0, false, true},
587
630
  {"pick_first_new", description_pick_first_new,
588
631
  additional_constraints_pick_first_new, nullptr, 0, true, true},
632
+ {"posix_ee_skip_grpc_init", description_posix_ee_skip_grpc_init,
633
+ additional_constraints_posix_ee_skip_grpc_init, nullptr, 0, false, true},
634
+ {"prioritize_finished_requests", description_prioritize_finished_requests,
635
+ additional_constraints_prioritize_finished_requests, nullptr, 0, false,
636
+ true},
589
637
  {"promise_based_http2_client_transport",
590
638
  description_promise_based_http2_client_transport,
591
639
  additional_constraints_promise_based_http2_client_transport, nullptr, 0,
@@ -598,14 +646,14 @@ const ExperimentMetadata g_experiment_metadata[] = {
598
646
  description_promise_based_inproc_transport,
599
647
  additional_constraints_promise_based_inproc_transport, nullptr, 0, false,
600
648
  false},
649
+ {"retry_in_callv3", description_retry_in_callv3,
650
+ additional_constraints_retry_in_callv3, nullptr, 0, false, true},
601
651
  {"rq_fast_reject", description_rq_fast_reject,
602
652
  additional_constraints_rq_fast_reject, nullptr, 0, false, true},
603
653
  {"schedule_cancellation_over_write",
604
654
  description_schedule_cancellation_over_write,
605
655
  additional_constraints_schedule_cancellation_over_write, nullptr, 0, false,
606
656
  true},
607
- {"server_privacy", description_server_privacy,
608
- additional_constraints_server_privacy, nullptr, 0, false, false},
609
657
  {"tcp_frame_size_tuning", description_tcp_frame_size_tuning,
610
658
  additional_constraints_tcp_frame_size_tuning, nullptr, 0, false, true},
611
659
  {"tcp_rcv_lowat", description_tcp_rcv_lowat,
@@ -620,6 +668,9 @@ const ExperimentMetadata g_experiment_metadata[] = {
620
668
  false, true},
621
669
  {"work_serializer_dispatch", description_work_serializer_dispatch,
622
670
  additional_constraints_work_serializer_dispatch, nullptr, 0, true, true},
671
+ {"server_listener", description_server_listener,
672
+ additional_constraints_server_listener,
673
+ required_experiments_server_listener, 1, false, true},
623
674
  };
624
675
 
625
676
  } // namespace grpc_core
@@ -57,11 +57,11 @@ namespace grpc_core {
57
57
  #ifdef GRPC_EXPERIMENTS_ARE_FINAL
58
58
 
59
59
  #if defined(GRPC_CFSTREAM)
60
+ #define GRPC_EXPERIMENT_IS_INCLUDED_BACKOFF_CAP_INITIAL_AT_MAX
61
+ inline bool IsBackoffCapInitialAtMaxEnabled() { return true; }
60
62
  #define GRPC_EXPERIMENT_IS_INCLUDED_CALL_TRACER_IN_TRANSPORT
61
63
  inline bool IsCallTracerInTransportEnabled() { return true; }
62
- inline bool IsCanaryClientPrivacyEnabled() { return false; }
63
64
  inline bool IsChaoticGoodLegacyProtocolEnabled() { return false; }
64
- inline bool IsClientPrivacyEnabled() { return false; }
65
65
  inline bool IsDisableBufferHintOnHighMemoryPressureEnabled() { return false; }
66
66
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_APPLICATION_CALLBACKS
67
67
  inline bool IsEventEngineApplicationCallbacksEnabled() { return true; }
@@ -79,12 +79,14 @@ inline bool IsMonitoringExperimentEnabled() { return true; }
79
79
  inline bool IsMultipingEnabled() { return false; }
80
80
  #define GRPC_EXPERIMENT_IS_INCLUDED_PICK_FIRST_NEW
81
81
  inline bool IsPickFirstNewEnabled() { return true; }
82
+ inline bool IsPosixEeSkipGrpcInitEnabled() { return false; }
83
+ inline bool IsPrioritizeFinishedRequestsEnabled() { return false; }
82
84
  inline bool IsPromiseBasedHttp2ClientTransportEnabled() { return false; }
83
85
  inline bool IsPromiseBasedHttp2ServerTransportEnabled() { return false; }
84
86
  inline bool IsPromiseBasedInprocTransportEnabled() { return false; }
87
+ inline bool IsRetryInCallv3Enabled() { return false; }
85
88
  inline bool IsRqFastRejectEnabled() { return false; }
86
89
  inline bool IsScheduleCancellationOverWriteEnabled() { return false; }
87
- inline bool IsServerPrivacyEnabled() { return false; }
88
90
  inline bool IsTcpFrameSizeTuningEnabled() { return false; }
89
91
  inline bool IsTcpRcvLowatEnabled() { return false; }
90
92
  #define GRPC_EXPERIMENT_IS_INCLUDED_TIME_CACHING_IN_PARTY
@@ -94,13 +96,14 @@ inline bool IsTraceRecordCallopsEnabled() { return true; }
94
96
  inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; }
95
97
  #define GRPC_EXPERIMENT_IS_INCLUDED_WORK_SERIALIZER_DISPATCH
96
98
  inline bool IsWorkSerializerDispatchEnabled() { return true; }
99
+ inline bool IsServerListenerEnabled() { return false; }
97
100
 
98
101
  #elif defined(GPR_WINDOWS)
102
+ #define GRPC_EXPERIMENT_IS_INCLUDED_BACKOFF_CAP_INITIAL_AT_MAX
103
+ inline bool IsBackoffCapInitialAtMaxEnabled() { return true; }
99
104
  #define GRPC_EXPERIMENT_IS_INCLUDED_CALL_TRACER_IN_TRANSPORT
100
105
  inline bool IsCallTracerInTransportEnabled() { return true; }
101
- inline bool IsCanaryClientPrivacyEnabled() { return false; }
102
106
  inline bool IsChaoticGoodLegacyProtocolEnabled() { return false; }
103
- inline bool IsClientPrivacyEnabled() { return false; }
104
107
  inline bool IsDisableBufferHintOnHighMemoryPressureEnabled() { return false; }
105
108
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_APPLICATION_CALLBACKS
106
109
  inline bool IsEventEngineApplicationCallbacksEnabled() { return true; }
@@ -121,12 +124,14 @@ inline bool IsMonitoringExperimentEnabled() { return true; }
121
124
  inline bool IsMultipingEnabled() { return false; }
122
125
  #define GRPC_EXPERIMENT_IS_INCLUDED_PICK_FIRST_NEW
123
126
  inline bool IsPickFirstNewEnabled() { return true; }
127
+ inline bool IsPosixEeSkipGrpcInitEnabled() { return false; }
128
+ inline bool IsPrioritizeFinishedRequestsEnabled() { return false; }
124
129
  inline bool IsPromiseBasedHttp2ClientTransportEnabled() { return false; }
125
130
  inline bool IsPromiseBasedHttp2ServerTransportEnabled() { return false; }
126
131
  inline bool IsPromiseBasedInprocTransportEnabled() { return false; }
132
+ inline bool IsRetryInCallv3Enabled() { return false; }
127
133
  inline bool IsRqFastRejectEnabled() { return false; }
128
134
  inline bool IsScheduleCancellationOverWriteEnabled() { return false; }
129
- inline bool IsServerPrivacyEnabled() { return false; }
130
135
  inline bool IsTcpFrameSizeTuningEnabled() { return false; }
131
136
  inline bool IsTcpRcvLowatEnabled() { return false; }
132
137
  #define GRPC_EXPERIMENT_IS_INCLUDED_TIME_CACHING_IN_PARTY
@@ -136,13 +141,14 @@ inline bool IsTraceRecordCallopsEnabled() { return true; }
136
141
  inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; }
137
142
  #define GRPC_EXPERIMENT_IS_INCLUDED_WORK_SERIALIZER_DISPATCH
138
143
  inline bool IsWorkSerializerDispatchEnabled() { return true; }
144
+ inline bool IsServerListenerEnabled() { return false; }
139
145
 
140
146
  #else
147
+ #define GRPC_EXPERIMENT_IS_INCLUDED_BACKOFF_CAP_INITIAL_AT_MAX
148
+ inline bool IsBackoffCapInitialAtMaxEnabled() { return true; }
141
149
  #define GRPC_EXPERIMENT_IS_INCLUDED_CALL_TRACER_IN_TRANSPORT
142
150
  inline bool IsCallTracerInTransportEnabled() { return true; }
143
- inline bool IsCanaryClientPrivacyEnabled() { return false; }
144
151
  inline bool IsChaoticGoodLegacyProtocolEnabled() { return false; }
145
- inline bool IsClientPrivacyEnabled() { return false; }
146
152
  inline bool IsDisableBufferHintOnHighMemoryPressureEnabled() { return false; }
147
153
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_APPLICATION_CALLBACKS
148
154
  inline bool IsEventEngineApplicationCallbacksEnabled() { return true; }
@@ -163,12 +169,14 @@ inline bool IsMonitoringExperimentEnabled() { return true; }
163
169
  inline bool IsMultipingEnabled() { return false; }
164
170
  #define GRPC_EXPERIMENT_IS_INCLUDED_PICK_FIRST_NEW
165
171
  inline bool IsPickFirstNewEnabled() { return true; }
172
+ inline bool IsPosixEeSkipGrpcInitEnabled() { return false; }
173
+ inline bool IsPrioritizeFinishedRequestsEnabled() { return false; }
166
174
  inline bool IsPromiseBasedHttp2ClientTransportEnabled() { return false; }
167
175
  inline bool IsPromiseBasedHttp2ServerTransportEnabled() { return false; }
168
176
  inline bool IsPromiseBasedInprocTransportEnabled() { return false; }
177
+ inline bool IsRetryInCallv3Enabled() { return false; }
169
178
  inline bool IsRqFastRejectEnabled() { return false; }
170
179
  inline bool IsScheduleCancellationOverWriteEnabled() { return false; }
171
- inline bool IsServerPrivacyEnabled() { return false; }
172
180
  inline bool IsTcpFrameSizeTuningEnabled() { return false; }
173
181
  inline bool IsTcpRcvLowatEnabled() { return false; }
174
182
  #define GRPC_EXPERIMENT_IS_INCLUDED_TIME_CACHING_IN_PARTY
@@ -178,14 +186,14 @@ inline bool IsTraceRecordCallopsEnabled() { return true; }
178
186
  inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; }
179
187
  #define GRPC_EXPERIMENT_IS_INCLUDED_WORK_SERIALIZER_DISPATCH
180
188
  inline bool IsWorkSerializerDispatchEnabled() { return true; }
189
+ inline bool IsServerListenerEnabled() { return false; }
181
190
  #endif
182
191
 
183
192
  #else
184
193
  enum ExperimentIds {
194
+ kExperimentIdBackoffCapInitialAtMax,
185
195
  kExperimentIdCallTracerInTransport,
186
- kExperimentIdCanaryClientPrivacy,
187
196
  kExperimentIdChaoticGoodLegacyProtocol,
188
- kExperimentIdClientPrivacy,
189
197
  kExperimentIdDisableBufferHintOnHighMemoryPressure,
190
198
  kExperimentIdEventEngineApplicationCallbacks,
191
199
  kExperimentIdEventEngineCallbackCq,
@@ -199,36 +207,35 @@ enum ExperimentIds {
199
207
  kExperimentIdMonitoringExperiment,
200
208
  kExperimentIdMultiping,
201
209
  kExperimentIdPickFirstNew,
210
+ kExperimentIdPosixEeSkipGrpcInit,
211
+ kExperimentIdPrioritizeFinishedRequests,
202
212
  kExperimentIdPromiseBasedHttp2ClientTransport,
203
213
  kExperimentIdPromiseBasedHttp2ServerTransport,
204
214
  kExperimentIdPromiseBasedInprocTransport,
215
+ kExperimentIdRetryInCallv3,
205
216
  kExperimentIdRqFastReject,
206
217
  kExperimentIdScheduleCancellationOverWrite,
207
- kExperimentIdServerPrivacy,
208
218
  kExperimentIdTcpFrameSizeTuning,
209
219
  kExperimentIdTcpRcvLowat,
210
220
  kExperimentIdTimeCachingInParty,
211
221
  kExperimentIdTraceRecordCallops,
212
222
  kExperimentIdUnconstrainedMaxQuotaBufferSize,
213
223
  kExperimentIdWorkSerializerDispatch,
224
+ kExperimentIdServerListener,
214
225
  kNumExperiments
215
226
  };
227
+ #define GRPC_EXPERIMENT_IS_INCLUDED_BACKOFF_CAP_INITIAL_AT_MAX
228
+ inline bool IsBackoffCapInitialAtMaxEnabled() {
229
+ return IsExperimentEnabled<kExperimentIdBackoffCapInitialAtMax>();
230
+ }
216
231
  #define GRPC_EXPERIMENT_IS_INCLUDED_CALL_TRACER_IN_TRANSPORT
217
232
  inline bool IsCallTracerInTransportEnabled() {
218
233
  return IsExperimentEnabled<kExperimentIdCallTracerInTransport>();
219
234
  }
220
- #define GRPC_EXPERIMENT_IS_INCLUDED_CANARY_CLIENT_PRIVACY
221
- inline bool IsCanaryClientPrivacyEnabled() {
222
- return IsExperimentEnabled<kExperimentIdCanaryClientPrivacy>();
223
- }
224
235
  #define GRPC_EXPERIMENT_IS_INCLUDED_CHAOTIC_GOOD_LEGACY_PROTOCOL
225
236
  inline bool IsChaoticGoodLegacyProtocolEnabled() {
226
237
  return IsExperimentEnabled<kExperimentIdChaoticGoodLegacyProtocol>();
227
238
  }
228
- #define GRPC_EXPERIMENT_IS_INCLUDED_CLIENT_PRIVACY
229
- inline bool IsClientPrivacyEnabled() {
230
- return IsExperimentEnabled<kExperimentIdClientPrivacy>();
231
- }
232
239
  #define GRPC_EXPERIMENT_IS_INCLUDED_DISABLE_BUFFER_HINT_ON_HIGH_MEMORY_PRESSURE
233
240
  inline bool IsDisableBufferHintOnHighMemoryPressureEnabled() {
234
241
  return IsExperimentEnabled<
@@ -282,6 +289,14 @@ inline bool IsMultipingEnabled() {
282
289
  inline bool IsPickFirstNewEnabled() {
283
290
  return IsExperimentEnabled<kExperimentIdPickFirstNew>();
284
291
  }
292
+ #define GRPC_EXPERIMENT_IS_INCLUDED_POSIX_EE_SKIP_GRPC_INIT
293
+ inline bool IsPosixEeSkipGrpcInitEnabled() {
294
+ return IsExperimentEnabled<kExperimentIdPosixEeSkipGrpcInit>();
295
+ }
296
+ #define GRPC_EXPERIMENT_IS_INCLUDED_PRIORITIZE_FINISHED_REQUESTS
297
+ inline bool IsPrioritizeFinishedRequestsEnabled() {
298
+ return IsExperimentEnabled<kExperimentIdPrioritizeFinishedRequests>();
299
+ }
285
300
  #define GRPC_EXPERIMENT_IS_INCLUDED_PROMISE_BASED_HTTP2_CLIENT_TRANSPORT
286
301
  inline bool IsPromiseBasedHttp2ClientTransportEnabled() {
287
302
  return IsExperimentEnabled<kExperimentIdPromiseBasedHttp2ClientTransport>();
@@ -294,6 +309,10 @@ inline bool IsPromiseBasedHttp2ServerTransportEnabled() {
294
309
  inline bool IsPromiseBasedInprocTransportEnabled() {
295
310
  return IsExperimentEnabled<kExperimentIdPromiseBasedInprocTransport>();
296
311
  }
312
+ #define GRPC_EXPERIMENT_IS_INCLUDED_RETRY_IN_CALLV3
313
+ inline bool IsRetryInCallv3Enabled() {
314
+ return IsExperimentEnabled<kExperimentIdRetryInCallv3>();
315
+ }
297
316
  #define GRPC_EXPERIMENT_IS_INCLUDED_RQ_FAST_REJECT
298
317
  inline bool IsRqFastRejectEnabled() {
299
318
  return IsExperimentEnabled<kExperimentIdRqFastReject>();
@@ -302,10 +321,6 @@ inline bool IsRqFastRejectEnabled() {
302
321
  inline bool IsScheduleCancellationOverWriteEnabled() {
303
322
  return IsExperimentEnabled<kExperimentIdScheduleCancellationOverWrite>();
304
323
  }
305
- #define GRPC_EXPERIMENT_IS_INCLUDED_SERVER_PRIVACY
306
- inline bool IsServerPrivacyEnabled() {
307
- return IsExperimentEnabled<kExperimentIdServerPrivacy>();
308
- }
309
324
  #define GRPC_EXPERIMENT_IS_INCLUDED_TCP_FRAME_SIZE_TUNING
310
325
  inline bool IsTcpFrameSizeTuningEnabled() {
311
326
  return IsExperimentEnabled<kExperimentIdTcpFrameSizeTuning>();
@@ -330,6 +345,10 @@ inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() {
330
345
  inline bool IsWorkSerializerDispatchEnabled() {
331
346
  return IsExperimentEnabled<kExperimentIdWorkSerializerDispatch>();
332
347
  }
348
+ #define GRPC_EXPERIMENT_IS_INCLUDED_SERVER_LISTENER
349
+ inline bool IsServerListenerEnabled() {
350
+ return IsExperimentEnabled<kExperimentIdServerListener>();
351
+ }
333
352
 
334
353
  extern const ExperimentMetadata g_experiment_metadata[kNumExperiments];
335
354
 
@@ -443,7 +443,7 @@ std::unique_ptr<EventEngine::Endpoint> grpc_take_wrapped_event_engine_endpoint(
443
443
  reinterpret_cast<EventEngineEndpointWrapper::grpc_event_engine_endpoint*>(
444
444
  ep);
445
445
  auto endpoint = eeep->wrapper->ReleaseEndpoint();
446
- delete eeep->wrapper;
446
+ eeep->wrapper->Unref();
447
447
  return endpoint;
448
448
  }
449
449
 
@@ -30,7 +30,9 @@ namespace grpc_core {
30
30
  ///////////////////////////////////////////////////////////////////////////////
31
31
  // GLOBALS
32
32
 
33
+ #if !defined(_WIN32) || !defined(_DLL)
33
34
  thread_local Activity* Activity::g_current_activity_{nullptr};
35
+ #endif
34
36
 
35
37
  namespace promise_detail {
36
38
 
@@ -121,11 +121,16 @@ class Waker {
121
121
  return wakeable_and_arg_.ActivityDebugTag();
122
122
  }
123
123
 
124
- std::string DebugString() {
124
+ std::string DebugString() const {
125
125
  return absl::StrFormat("Waker{%p, %d}", wakeable_and_arg_.wakeable,
126
126
  wakeable_and_arg_.wakeup_mask);
127
127
  }
128
128
 
129
+ template <typename Sink>
130
+ friend void AbslStringify(Sink& sink, const Waker& waker) {
131
+ sink.Append(waker.DebugString());
132
+ }
133
+
129
134
  // This is for tests to assert that a waker is occupied or not.
130
135
  bool is_unwakeable() const {
131
136
  return wakeable_and_arg_.wakeable == promise_detail::unwakeable();
@@ -167,6 +172,11 @@ class IntraActivityWaiter {
167
172
 
168
173
  std::string DebugString() const;
169
174
 
175
+ template <typename Sink>
176
+ friend void AbslStringify(Sink& sink, const IntraActivityWaiter& waker) {
177
+ sink.Append(waker.DebugString());
178
+ }
179
+
170
180
  private:
171
181
  WakeupMask wakeups_ = 0;
172
182
  };
@@ -205,7 +215,7 @@ class Activity : public Orphanable {
205
215
  // locked
206
216
  // - back up that assertion with a runtime check in debug builds (it's
207
217
  // prohibitively expensive in non-debug builds)
208
- static Activity* current() { return g_current_activity_; }
218
+ static Activity* current() { return current_ref(); }
209
219
 
210
220
  // Produce an activity-owning Waker. The produced waker will keep the activity
211
221
  // alive until it's awoken or dropped.
@@ -222,17 +232,16 @@ class Activity : public Orphanable {
222
232
  protected:
223
233
  // Check if this activity is the current activity executing on the current
224
234
  // thread.
225
- bool is_current() const { return this == g_current_activity_; }
235
+ bool is_current() const { return this == current(); }
226
236
  // Check if there is an activity executing on the current thread.
227
- static bool have_current() { return g_current_activity_ != nullptr; }
237
+ static bool have_current() { return current() != nullptr; }
228
238
  // Set the current activity at construction, clean it up at destruction.
229
239
  class ScopedActivity {
230
240
  public:
231
- explicit ScopedActivity(Activity* activity)
232
- : prior_activity_(g_current_activity_) {
233
- g_current_activity_ = activity;
241
+ explicit ScopedActivity(Activity* activity) : prior_activity_(current()) {
242
+ current_ref() = activity;
234
243
  }
235
- ~ScopedActivity() { g_current_activity_ = prior_activity_; }
244
+ ~ScopedActivity() { current_ref() = prior_activity_; }
236
245
  ScopedActivity(const ScopedActivity&) = delete;
237
246
  ScopedActivity& operator=(const ScopedActivity&) = delete;
238
247
 
@@ -241,9 +250,21 @@ class Activity : public Orphanable {
241
250
  };
242
251
 
243
252
  private:
253
+ static Activity*& current_ref() {
254
+ #if !defined(_WIN32) || !defined(_DLL)
255
+ return g_current_activity_;
256
+ #else
257
+ // Set during RunLoop to the Activity that's executing.
258
+ // Being set implies that mu_ is held.
259
+ static thread_local Activity* current_activity;
260
+ return current_activity;
261
+ #endif
262
+ }
263
+ #if !defined(_WIN32) || !defined(_DLL)
244
264
  // Set during RunLoop to the Activity that's executing.
245
265
  // Being set implies that mu_ is held.
246
266
  static thread_local Activity* g_current_activity_;
267
+ #endif
247
268
  };
248
269
 
249
270
  // Owned pointer to one Activity.