grpc 1.71.0 → 1.75.0

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 (1956) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +207 -124
  3. data/include/grpc/create_channel_from_endpoint.h +54 -0
  4. data/include/grpc/credentials.h +18 -6
  5. data/include/grpc/event_engine/event_engine.h +182 -8
  6. data/include/grpc/event_engine/internal/write_event.h +34 -0
  7. data/include/grpc/event_engine/memory_request.h +3 -3
  8. data/include/grpc/grpc_posix.h +20 -1
  9. data/include/grpc/impl/channel_arg_names.h +81 -55
  10. data/include/grpc/impl/compression_types.h +3 -2
  11. data/include/grpc/impl/slice_type.h +1 -1
  12. data/include/grpc/module.modulemap +1 -0
  13. data/include/grpc/support/json.h +27 -21
  14. data/include/grpc/support/port_platform.h +8 -5
  15. data/include/grpc/support/workaround_list.h +1 -4
  16. data/src/core/{lib/transport → call}/call_arena_allocator.cc +1 -1
  17. data/src/core/{lib/transport → call}/call_arena_allocator.h +3 -3
  18. data/src/core/{lib/transport → call}/call_destination.h +4 -4
  19. data/src/core/{lib/transport → call}/call_filters.cc +2 -2
  20. data/src/core/{lib/transport → call}/call_filters.h +53 -25
  21. data/src/core/{lib/channel → call}/call_finalization.h +3 -3
  22. data/src/core/{lib/transport → call}/call_spine.cc +1 -1
  23. data/src/core/{lib/transport → call}/call_spine.h +70 -26
  24. data/src/core/{lib/transport → call}/call_state.cc +1 -1
  25. data/src/core/{lib/transport → call}/call_state.h +3 -3
  26. data/src/core/{lib/surface → call}/client_call.cc +13 -11
  27. data/src/core/{lib/surface → call}/client_call.h +4 -4
  28. data/src/core/{lib/transport → call}/custom_metadata.h +3 -3
  29. data/src/core/call/filter_fusion.h +1230 -0
  30. data/src/core/{lib/transport → call}/interception_chain.cc +5 -5
  31. data/src/core/{lib/transport → call}/interception_chain.h +14 -18
  32. data/src/core/{lib/transport → call}/message.cc +1 -1
  33. data/src/core/{lib/transport → call}/message.h +7 -3
  34. data/src/core/{lib/transport → call}/metadata.cc +24 -2
  35. data/src/core/{lib/transport → call}/metadata.h +45 -6
  36. data/src/core/{lib/transport → call}/metadata_batch.cc +1 -1
  37. data/src/core/{lib/transport → call}/metadata_batch.h +7 -7
  38. data/src/core/{lib/transport → call}/metadata_compression_traits.h +3 -3
  39. data/src/core/{lib/transport → call}/metadata_info.cc +27 -9
  40. data/src/core/{lib/transport → call}/metadata_info.h +4 -4
  41. data/src/core/{lib/transport → call}/parsed_metadata.cc +1 -1
  42. data/src/core/{lib/transport → call}/parsed_metadata.h +3 -3
  43. data/src/core/call/request_buffer.h +3 -3
  44. data/src/core/call/security_context.cc +125 -0
  45. data/src/core/call/security_context.h +114 -0
  46. data/src/core/{lib/surface → call}/server_call.cc +3 -3
  47. data/src/core/{lib/surface → call}/server_call.h +5 -5
  48. data/src/core/{lib/transport → call}/simple_slice_based_metadata.h +4 -4
  49. data/src/core/{lib/channel → call}/status_util.cc +1 -1
  50. data/src/core/{lib/channel → call}/status_util.h +3 -3
  51. data/src/core/channelz/channel_trace.cc +217 -111
  52. data/src/core/channelz/channel_trace.h +389 -64
  53. data/src/core/channelz/channelz.cc +482 -187
  54. data/src/core/channelz/channelz.h +470 -76
  55. data/src/core/channelz/channelz_registry.cc +237 -193
  56. data/src/core/channelz/channelz_registry.h +210 -21
  57. data/src/core/channelz/property_list.cc +353 -0
  58. data/src/core/channelz/property_list.h +204 -0
  59. data/src/core/channelz/v2tov1/convert.cc +683 -0
  60. data/src/core/channelz/v2tov1/convert.h +58 -0
  61. data/src/core/channelz/v2tov1/legacy_api.cc +425 -0
  62. data/src/core/channelz/v2tov1/legacy_api.h +32 -0
  63. data/src/core/channelz/v2tov1/property_list.cc +118 -0
  64. data/src/core/channelz/v2tov1/property_list.h +52 -0
  65. data/src/core/channelz/ztrace_collector.h +316 -0
  66. data/src/core/client_channel/backup_poller.cc +17 -2
  67. data/src/core/client_channel/client_channel.cc +66 -68
  68. data/src/core/client_channel/client_channel.h +4 -3
  69. data/src/core/client_channel/client_channel_filter.cc +50 -68
  70. data/src/core/client_channel/client_channel_filter.h +3 -5
  71. data/src/core/client_channel/client_channel_internal.h +3 -2
  72. data/src/core/client_channel/config_selector.h +10 -4
  73. data/src/core/client_channel/connector.h +0 -3
  74. data/src/core/client_channel/direct_channel.cc +2 -2
  75. data/src/core/client_channel/dynamic_filters.cc +5 -7
  76. data/src/core/client_channel/dynamic_filters.h +1 -2
  77. data/src/core/client_channel/global_subchannel_pool.cc +71 -7
  78. data/src/core/client_channel/global_subchannel_pool.h +37 -4
  79. data/src/core/client_channel/lb_metadata.h +1 -1
  80. data/src/core/client_channel/load_balanced_call_destination.cc +7 -6
  81. data/src/core/client_channel/load_balanced_call_destination.h +1 -1
  82. data/src/core/client_channel/retry_filter.cc +21 -27
  83. data/src/core/client_channel/retry_filter.h +10 -7
  84. data/src/core/client_channel/retry_filter_legacy_call_data.cc +48 -46
  85. data/src/core/client_channel/retry_filter_legacy_call_data.h +7 -7
  86. data/src/core/client_channel/retry_interceptor.cc +30 -44
  87. data/src/core/client_channel/retry_interceptor.h +19 -18
  88. data/src/core/client_channel/retry_service_config.cc +1 -1
  89. data/src/core/client_channel/retry_service_config.h +1 -1
  90. data/src/core/client_channel/retry_throttle.cc +42 -61
  91. data/src/core/client_channel/retry_throttle.h +21 -35
  92. data/src/core/client_channel/subchannel.cc +71 -42
  93. data/src/core/client_channel/subchannel.h +13 -10
  94. data/src/core/client_channel/subchannel_pool_interface.cc +5 -6
  95. data/src/core/client_channel/subchannel_pool_interface.h +11 -1
  96. data/src/core/client_channel/subchannel_stream_client.cc +14 -11
  97. data/src/core/client_channel/subchannel_stream_client.h +2 -2
  98. data/src/core/config/config_vars.cc +13 -1
  99. data/src/core/config/config_vars.h +8 -0
  100. data/src/core/config/core_configuration.cc +53 -11
  101. data/src/core/config/core_configuration.h +114 -9
  102. data/src/core/credentials/call/call_credentials.h +157 -0
  103. data/src/core/credentials/call/call_creds_registry.h +125 -0
  104. data/src/core/credentials/call/call_creds_registry_init.cc +91 -0
  105. data/src/core/{lib/security/credentials → credentials/call}/call_creds_util.cc +4 -4
  106. data/src/core/{lib/security/credentials → credentials/call}/call_creds_util.h +4 -4
  107. data/src/core/{lib/security/credentials/composite/composite_credentials.cc → credentials/call/composite/composite_call_credentials.cc} +4 -57
  108. data/src/core/credentials/call/composite/composite_call_credentials.h +82 -0
  109. data/src/core/{lib/security/credentials → credentials/call}/external/aws_external_account_credentials.cc +2 -2
  110. data/src/core/{lib/security/credentials → credentials/call}/external/aws_external_account_credentials.h +5 -5
  111. data/src/core/{lib/security/credentials → credentials/call}/external/aws_request_signer.cc +4 -3
  112. data/src/core/{lib/security/credentials → credentials/call}/external/aws_request_signer.h +3 -3
  113. data/src/core/{lib/security/credentials → credentials/call}/external/external_account_credentials.cc +6 -6
  114. data/src/core/{lib/security/credentials → credentials/call}/external/external_account_credentials.h +5 -5
  115. data/src/core/{lib/security/credentials → credentials/call}/external/file_external_account_credentials.cc +1 -1
  116. data/src/core/{lib/security/credentials → credentials/call}/external/file_external_account_credentials.h +4 -4
  117. data/src/core/{lib/security/credentials → credentials/call}/external/url_external_account_credentials.cc +5 -4
  118. data/src/core/{lib/security/credentials → credentials/call}/external/url_external_account_credentials.h +4 -4
  119. data/src/core/{lib/security/credentials → credentials/call}/gcp_service_account_identity/gcp_service_account_identity_credentials.cc +10 -51
  120. data/src/core/{lib/security/credentials → credentials/call}/gcp_service_account_identity/gcp_service_account_identity_credentials.h +6 -6
  121. data/src/core/{lib/security/credentials → credentials/call}/iam/iam_credentials.cc +2 -2
  122. data/src/core/{lib/security/credentials → credentials/call}/iam/iam_credentials.h +4 -4
  123. data/src/core/{lib/security/util → credentials/call}/json_util.cc +1 -1
  124. data/src/core/{lib/security/util → credentials/call}/json_util.h +3 -3
  125. data/src/core/{lib/security/credentials → credentials/call}/jwt/json_token.cc +2 -2
  126. data/src/core/{lib/security/credentials → credentials/call}/jwt/json_token.h +3 -3
  127. data/src/core/{lib/security/credentials → credentials/call}/jwt/jwt_credentials.cc +3 -3
  128. data/src/core/{lib/security/credentials → credentials/call}/jwt/jwt_credentials.h +5 -5
  129. data/src/core/{lib/security/credentials → credentials/call}/jwt/jwt_verifier.cc +7 -6
  130. data/src/core/{lib/security/credentials → credentials/call}/jwt/jwt_verifier.h +3 -3
  131. data/src/core/credentials/call/jwt_token_file/jwt_token_file_call_credentials.cc +86 -0
  132. data/src/core/credentials/call/jwt_token_file/jwt_token_file_call_credentials.h +74 -0
  133. data/src/core/credentials/call/jwt_util.cc +70 -0
  134. data/src/core/credentials/call/jwt_util.h +32 -0
  135. data/src/core/{lib/security/credentials → credentials/call}/oauth2/oauth2_credentials.cc +8 -5
  136. data/src/core/{lib/security/credentials → credentials/call}/oauth2/oauth2_credentials.h +5 -5
  137. data/src/core/{lib/security/credentials → credentials/call}/plugin/plugin_credentials.cc +2 -2
  138. data/src/core/{lib/security/credentials → credentials/call}/plugin/plugin_credentials.h +5 -5
  139. data/src/core/{lib/security/credentials → credentials/call}/token_fetcher/token_fetcher_credentials.cc +1 -1
  140. data/src/core/{lib/security/credentials → credentials/call}/token_fetcher/token_fetcher_credentials.h +5 -5
  141. data/src/core/{lib/security/credentials → credentials/transport}/alts/alts_credentials.cc +9 -4
  142. data/src/core/{lib/security/credentials → credentials/transport}/alts/alts_credentials.h +5 -5
  143. data/src/core/{lib/security/security_connector → credentials/transport}/alts/alts_security_connector.cc +13 -12
  144. data/src/core/{lib/security/security_connector → credentials/transport}/alts/alts_security_connector.h +4 -4
  145. data/src/core/{lib/security/credentials → credentials/transport}/alts/check_gcp_environment.cc +1 -1
  146. data/src/core/{lib/security/credentials → credentials/transport}/alts/check_gcp_environment.h +3 -3
  147. data/src/core/{lib/security/credentials → credentials/transport}/alts/check_gcp_environment_linux.cc +1 -1
  148. data/src/core/{lib/security/credentials → credentials/transport}/alts/check_gcp_environment_no_op.cc +1 -1
  149. data/src/core/{lib/security/credentials → credentials/transport}/alts/check_gcp_environment_windows.cc +3 -1
  150. data/src/core/{lib/security/credentials → credentials/transport}/alts/grpc_alts_credentials_client_options.cc +1 -1
  151. data/src/core/{lib/security/credentials → credentials/transport}/alts/grpc_alts_credentials_options.cc +1 -1
  152. data/src/core/{lib/security/credentials → credentials/transport}/alts/grpc_alts_credentials_options.h +3 -3
  153. data/src/core/{lib/security/credentials → credentials/transport}/alts/grpc_alts_credentials_server_options.cc +1 -1
  154. data/src/core/{lib/security/credentials → credentials/transport}/channel_creds_registry.h +4 -4
  155. data/src/core/{lib/security/credentials → credentials/transport}/channel_creds_registry_init.cc +25 -19
  156. data/src/core/credentials/transport/composite/composite_channel_credentials.cc +68 -0
  157. data/src/core/{lib/security/credentials/composite/composite_credentials.h → credentials/transport/composite/composite_channel_credentials.h} +6 -51
  158. data/src/core/{lib/security/credentials → credentials/transport}/fake/fake_credentials.cc +4 -26
  159. data/src/core/{lib/security/credentials → credentials/transport}/fake/fake_credentials.h +5 -37
  160. data/src/core/{lib/security/security_connector → credentials/transport}/fake/fake_security_connector.cc +4 -4
  161. data/src/core/{lib/security/security_connector → credentials/transport}/fake/fake_security_connector.h +4 -4
  162. data/src/core/{lib/security/credentials → credentials/transport}/google_default/credentials_generic.cc +2 -2
  163. data/src/core/{lib/security/credentials → credentials/transport}/google_default/google_default_credentials.cc +106 -26
  164. data/src/core/{lib/security/credentials → credentials/transport}/google_default/google_default_credentials.h +5 -5
  165. data/src/core/{lib/security/credentials → credentials/transport}/insecure/insecure_credentials.cc +2 -2
  166. data/src/core/{lib/security/credentials → credentials/transport}/insecure/insecure_credentials.h +5 -5
  167. data/src/core/{lib/security/security_connector → credentials/transport}/insecure/insecure_security_connector.cc +2 -2
  168. data/src/core/{lib/security/security_connector → credentials/transport}/insecure/insecure_security_connector.h +5 -5
  169. data/src/core/{lib/security/credentials → credentials/transport}/local/local_credentials.cc +2 -2
  170. data/src/core/{lib/security/credentials → credentials/transport}/local/local_credentials.h +5 -5
  171. data/src/core/{lib/security/security_connector → credentials/transport}/local/local_security_connector.cc +4 -4
  172. data/src/core/{lib/security/security_connector → credentials/transport}/local/local_security_connector.h +4 -4
  173. data/src/core/{lib/security/security_connector → credentials/transport}/security_connector.cc +2 -2
  174. data/src/core/{lib/security/security_connector → credentials/transport}/security_connector.h +3 -3
  175. data/src/core/{lib/security/credentials → credentials/transport}/ssl/ssl_credentials.cc +5 -6
  176. data/src/core/{lib/security/credentials → credentials/transport}/ssl/ssl_credentials.h +6 -6
  177. data/src/core/{lib/security/security_connector → credentials/transport}/ssl/ssl_security_connector.cc +54 -19
  178. data/src/core/{lib/security/security_connector → credentials/transport}/ssl/ssl_security_connector.h +6 -5
  179. data/src/core/{lib/security/certificate_provider → credentials/transport/tls}/certificate_provider_factory.h +3 -3
  180. data/src/core/{lib/security/certificate_provider → credentials/transport/tls}/certificate_provider_registry.cc +1 -1
  181. data/src/core/{lib/security/certificate_provider → credentials/transport/tls}/certificate_provider_registry.h +4 -4
  182. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_distributor.cc +30 -25
  183. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_distributor.h +23 -12
  184. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_match.cc +1 -1
  185. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_provider.cc +98 -56
  186. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_provider.h +20 -7
  187. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_verifier.cc +2 -2
  188. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_verifier.h +3 -3
  189. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_credentials_options.cc +1 -1
  190. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_credentials_options.h +7 -7
  191. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_crl_provider.cc +1 -1
  192. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_crl_provider.h +3 -3
  193. data/src/core/{lib/security/security_connector → credentials/transport/tls}/load_system_roots.h +3 -3
  194. data/src/core/{lib/security/security_connector → credentials/transport/tls}/load_system_roots_fallback.cc +1 -1
  195. data/src/core/{lib/security/security_connector → credentials/transport/tls}/load_system_roots_supported.cc +3 -2
  196. data/src/core/{lib/security/security_connector → credentials/transport/tls}/load_system_roots_supported.h +3 -3
  197. data/src/core/{lib/security/security_connector → credentials/transport/tls}/load_system_roots_windows.cc +1 -1
  198. data/src/core/credentials/transport/tls/spiffe_utils.cc +371 -0
  199. data/src/core/credentials/transport/tls/spiffe_utils.h +171 -0
  200. data/src/core/{lib/security/security_connector → credentials/transport/tls}/ssl_utils.cc +32 -13
  201. data/src/core/{lib/security/security_connector → credentials/transport/tls}/ssl_utils.h +13 -6
  202. data/src/core/{lib/security/credentials → credentials/transport}/tls/tls_credentials.cc +6 -4
  203. data/src/core/{lib/security/credentials → credentials/transport}/tls/tls_credentials.h +5 -5
  204. data/src/core/{lib/security/security_connector → credentials/transport}/tls/tls_security_connector.cc +19 -33
  205. data/src/core/{lib/security/security_connector → credentials/transport}/tls/tls_security_connector.h +18 -18
  206. data/src/core/{lib/security/credentials → credentials/transport}/tls/tls_utils.cc +1 -1
  207. data/src/core/{lib/security/credentials → credentials/transport}/tls/tls_utils.h +3 -3
  208. data/src/core/{lib/security/credentials/credentials.cc → credentials/transport/transport_credentials.cc} +1 -3
  209. data/src/core/{lib/security/credentials/credentials.h → credentials/transport/transport_credentials.h} +5 -121
  210. data/src/core/{lib/security/credentials → credentials/transport}/xds/xds_credentials.cc +5 -8
  211. data/src/core/{lib/security/credentials → credentials/transport}/xds/xds_credentials.h +6 -6
  212. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +2 -3
  213. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +14 -8
  214. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +2 -2
  215. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +1 -1
  216. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +10 -10
  217. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +17 -17
  218. data/src/core/ext/filters/http/client/http_client_filter.cc +3 -6
  219. data/src/core/ext/filters/http/client/http_client_filter.h +1 -1
  220. data/src/core/ext/filters/http/client_authority_filter.cc +5 -8
  221. data/src/core/ext/filters/http/message_compress/compression_filter.cc +9 -9
  222. data/src/core/ext/filters/http/message_compress/compression_filter.h +38 -5
  223. data/src/core/ext/filters/http/server/http_server_filter.cc +5 -8
  224. data/src/core/ext/filters/http/server/http_server_filter.h +18 -6
  225. data/src/core/ext/filters/message_size/message_size_filter.cc +5 -5
  226. data/src/core/ext/filters/rbac/rbac_filter.cc +3 -3
  227. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +4 -6
  228. data/src/core/ext/transport/chttp2/chttp2_plugin.cc +40 -0
  229. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +133 -149
  230. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +3 -0
  231. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +45 -970
  232. data/src/core/ext/transport/chttp2/server/chttp2_server.h +10 -2
  233. data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.cc +2 -2
  234. data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.h +1 -3
  235. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +266 -135
  236. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +0 -6
  237. data/src/core/ext/transport/chttp2/transport/decode_huff.cc +1239 -3514
  238. data/src/core/ext/transport/chttp2/transport/decode_huff.h +1008 -1486
  239. data/src/core/ext/transport/chttp2/transport/flow_control.cc +1 -0
  240. data/src/core/ext/transport/chttp2/transport/flow_control.h +24 -0
  241. data/src/core/ext/transport/chttp2/transport/frame.cc +396 -174
  242. data/src/core/ext/transport/chttp2/transport/frame.h +151 -5
  243. data/src/core/ext/transport/chttp2/transport/frame_data.cc +12 -0
  244. data/src/core/ext/transport/chttp2/transport/frame_data.h +2 -0
  245. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +15 -3
  246. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +5 -3
  247. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +2 -0
  248. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +17 -7
  249. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +3 -1
  250. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +30 -11
  251. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +8 -5
  252. data/src/core/ext/transport/chttp2/transport/header_assembler.h +290 -0
  253. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +7 -0
  254. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +4 -2
  255. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +1 -1
  256. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +3 -3
  257. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +5 -2
  258. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +11 -5
  259. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +14 -3
  260. data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +1233 -0
  261. data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +712 -0
  262. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +21 -46
  263. data/src/core/ext/transport/chttp2/transport/http2_settings.h +69 -29
  264. data/src/core/ext/transport/chttp2/transport/http2_settings_manager.cc +61 -0
  265. data/src/core/ext/transport/chttp2/transport/http2_settings_manager.h +142 -0
  266. data/{third_party/abseil-cpp/absl/strings/cord_buffer.cc → src/core/ext/transport/chttp2/transport/http2_stats_collector.cc} +14 -14
  267. data/src/core/ext/transport/chttp2/transport/http2_stats_collector.h +33 -0
  268. data/src/core/ext/transport/chttp2/transport/http2_status.h +414 -0
  269. data/src/core/ext/transport/chttp2/transport/http2_transport.cc +121 -0
  270. data/src/core/ext/transport/chttp2/transport/http2_transport.h +76 -0
  271. data/src/core/ext/transport/chttp2/transport/http2_ztrace_collector.h +223 -0
  272. data/src/core/ext/transport/chttp2/transport/internal.h +54 -23
  273. data/src/core/ext/transport/chttp2/transport/internal_channel_arg_names.h +24 -0
  274. data/src/core/ext/transport/chttp2/transport/keepalive.cc +105 -0
  275. data/src/core/ext/transport/chttp2/transport/keepalive.h +138 -0
  276. data/src/core/ext/transport/chttp2/transport/message_assembler.h +185 -0
  277. data/src/core/ext/transport/chttp2/transport/parsing.cc +59 -32
  278. data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +19 -0
  279. data/src/core/ext/transport/chttp2/transport/ping_promise.cc +152 -0
  280. data/src/core/ext/transport/chttp2/transport/ping_promise.h +197 -0
  281. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +15 -18
  282. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +17 -0
  283. data/src/core/ext/transport/chttp2/transport/stream_data_queue.h +607 -0
  284. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +39 -1
  285. data/src/core/ext/transport/chttp2/transport/transport_common.cc +19 -0
  286. data/src/core/ext/transport/chttp2/transport/transport_common.h +27 -0
  287. data/src/core/ext/transport/chttp2/transport/writable_streams.h +254 -0
  288. data/src/core/ext/transport/chttp2/transport/writing.cc +107 -67
  289. data/src/core/ext/transport/inproc/inproc_transport.cc +8 -3
  290. data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +7 -3
  291. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb.h +4 -0
  292. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb.h +65 -65
  293. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.c +28 -28
  294. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb.h +14 -14
  295. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.c +6 -6
  296. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb.h +6 -6
  297. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.c +4 -4
  298. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb.h +133 -133
  299. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.c +71 -71
  300. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb.h +38 -26
  301. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.c +7 -7
  302. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb.h +228 -240
  303. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.c +66 -66
  304. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb.h +27 -27
  305. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.c +9 -9
  306. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +338 -350
  307. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +103 -103
  308. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb.h +58 -58
  309. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.c +14 -14
  310. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb.h +50 -46
  311. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c +3 -3
  312. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb.h +41 -29
  313. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c +16 -16
  314. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +210 -259
  315. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +54 -54
  316. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb.h +58 -54
  317. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.c +21 -21
  318. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb.h +4 -0
  319. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb.h +88 -92
  320. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +17 -17
  321. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb.h +112 -100
  322. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.c +34 -34
  323. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb.h +16 -12
  324. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.c +5 -5
  325. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +126 -118
  326. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +39 -39
  327. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +23 -19
  328. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +9 -9
  329. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb.h +31 -27
  330. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.c +10 -10
  331. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb.h +12 -37
  332. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.c +2 -2
  333. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb.h +49 -41
  334. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.c +16 -16
  335. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb.h +24 -24
  336. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.c +9 -9
  337. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb.h +147 -139
  338. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.c +46 -46
  339. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +73 -61
  340. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +20 -20
  341. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +3 -3
  342. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +1 -1
  343. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb.h +6 -6
  344. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.c +4 -4
  345. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb.h +53 -33
  346. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.c +14 -14
  347. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +12 -0
  348. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +20 -36
  349. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +2 -2
  350. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb.h +52 -77
  351. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.c +10 -10
  352. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +684 -692
  353. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +215 -215
  354. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb.h +17 -13
  355. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.c +4 -4
  356. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb.h +15 -3
  357. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.c +2 -2
  358. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb.h +4 -0
  359. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb.h +7 -7
  360. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.c +3 -3
  361. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb.h +19 -15
  362. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.c +7 -7
  363. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb.h +7 -7
  364. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.c +3 -3
  365. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb.h +16 -16
  366. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.c +10 -10
  367. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb.h +310 -407
  368. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.c +96 -96
  369. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb.h +8 -0
  370. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb.h +65 -61
  371. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.c +27 -27
  372. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb.h +19 -19
  373. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.c +6 -6
  374. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +25 -25
  375. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c +9 -9
  376. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb.h +34 -34
  377. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.c +9 -9
  378. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +7 -3
  379. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c +2 -2
  380. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +322 -294
  381. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +105 -105
  382. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +7 -3
  383. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c +1 -1
  384. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +23 -23
  385. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.c +8 -8
  386. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb.h +88 -84
  387. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c +28 -28
  388. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +4 -0
  389. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +99 -87
  390. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +31 -31
  391. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb.h +32 -24
  392. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.c +5 -5
  393. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +138 -168
  394. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +43 -43
  395. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb.h +6 -6
  396. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.c +2 -2
  397. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +64 -60
  398. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.c +26 -26
  399. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb.h +7 -7
  400. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.c +3 -3
  401. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb.h +4 -0
  402. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb.h +4 -0
  403. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb.h +10 -6
  404. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.c +2 -2
  405. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb.h +4 -0
  406. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb.h +4 -0
  407. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb.h +11 -7
  408. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.c +3 -3
  409. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb.h +4 -0
  410. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb.h +4 -0
  411. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb.h +8 -0
  412. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb.h +8 -0
  413. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb.h +15 -11
  414. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.c +4 -4
  415. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb.h +4 -0
  416. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb.h +4 -0
  417. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h +93 -133
  418. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c +20 -20
  419. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h +92 -123
  420. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c +27 -27
  421. data/src/core/ext/upb-gen/google/api/http.upb.h +55 -51
  422. data/src/core/ext/upb-gen/google/api/http.upb_minitable.c +22 -22
  423. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb.h +516 -317
  424. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c +150 -100
  425. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.h +5 -0
  426. data/src/core/ext/upb-gen/google/protobuf/struct.upb.h +13 -33
  427. data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb.h +4959 -0
  428. data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb_minitable.c +1111 -0
  429. data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb_minitable.h +108 -0
  430. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb.h +571 -0
  431. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb_minitable.c +120 -0
  432. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb_minitable.h +36 -0
  433. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb.h +1272 -0
  434. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.c +312 -0
  435. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.h +50 -0
  436. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb.h +1072 -0
  437. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.c +230 -0
  438. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.h +44 -0
  439. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb.h +9 -28
  440. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +199 -142
  441. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +37 -31
  442. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb.h +154 -0
  443. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c +40 -2
  444. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.h +4 -0
  445. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb.h +14 -6
  446. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.c +4 -4
  447. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb.h +21 -40
  448. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.c +3 -3
  449. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb.h +70 -108
  450. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.c +17 -17
  451. data/src/core/ext/upb-gen/validate/validate.upb.h +380 -368
  452. data/src/core/ext/upb-gen/validate/validate.upb_minitable.c +117 -117
  453. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb.h +4 -0
  454. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb.h +9 -28
  455. data/src/core/ext/upb-gen/xds/core/v3/resource.upb.h +7 -7
  456. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.c +3 -3
  457. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb.h +20 -12
  458. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.c +2 -2
  459. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb.h +27 -84
  460. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb.h +7 -7
  461. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.c +3 -3
  462. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb.h +3 -3
  463. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.c +1 -1
  464. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb.h +42 -46
  465. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.c +3 -3
  466. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb.h +4 -0
  467. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb.h +4 -0
  468. data/src/core/ext/upb-gen/xds/type/v3/cel.upb.h +4 -0
  469. data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.c +123 -62
  470. data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.h +5 -1
  471. data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.c +200 -101
  472. data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.h +5 -1
  473. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.c +152 -77
  474. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.h +5 -1
  475. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.c +524 -255
  476. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.h +5 -1
  477. data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.c +44 -23
  478. data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.h +5 -1
  479. data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.c +66 -34
  480. data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.h +5 -1
  481. data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.c +54 -28
  482. data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.h +5 -1
  483. data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.c +46 -25
  484. data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.h +5 -1
  485. data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.c +47 -25
  486. data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.h +5 -1
  487. data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.c +256 -126
  488. data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.h +5 -1
  489. data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.c +50 -28
  490. data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.h +5 -1
  491. data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.c +55 -28
  492. data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.h +5 -1
  493. data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.c +34 -18
  494. data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.h +5 -1
  495. data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.c +414 -206
  496. data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.h +5 -1
  497. data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +831 -413
  498. data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +5 -1
  499. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +143 -73
  500. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +5 -1
  501. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.c +1132 -557
  502. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.h +5 -1
  503. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.c +63 -34
  504. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.h +5 -1
  505. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.c +255 -127
  506. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.h +5 -1
  507. data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.c +363 -178
  508. data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.h +5 -1
  509. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.c +227 -114
  510. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.h +5 -1
  511. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.c +57 -31
  512. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.h +5 -1
  513. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.c +596 -295
  514. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.h +5 -1
  515. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.c +271 -137
  516. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.h +5 -1
  517. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.c +56 -30
  518. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.h +5 -1
  519. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.c +45 -25
  520. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.h +5 -1
  521. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.c +59 -31
  522. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.h +5 -1
  523. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.c +438 -217
  524. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.h +5 -1
  525. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.c +441 -221
  526. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.h +5 -1
  527. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_service.upbdefs.c +55 -30
  528. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_service.upbdefs.h +5 -1
  529. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.c +57 -31
  530. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.h +5 -1
  531. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.c +619 -303
  532. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.h +5 -1
  533. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.c +70 -36
  534. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.h +5 -1
  535. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.c +62 -33
  536. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.h +5 -1
  537. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.c +47 -25
  538. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.h +5 -1
  539. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.c +97 -49
  540. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.h +5 -1
  541. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.c +97 -51
  542. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.h +5 -1
  543. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.c +51 -27
  544. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.h +5 -1
  545. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.c +147 -76
  546. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.h +5 -1
  547. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +230 -116
  548. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +5 -1
  549. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.c +277 -138
  550. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.h +5 -1
  551. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.c +48 -26
  552. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.h +5 -1
  553. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.c +388 -197
  554. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.h +5 -1
  555. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.c +304 -153
  556. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.h +5 -1
  557. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.c +173 -90
  558. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.h +5 -1
  559. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.c +90 -47
  560. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.h +5 -1
  561. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.c +98 -51
  562. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.h +5 -1
  563. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.c +196 -99
  564. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.h +5 -1
  565. data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.c +237 -118
  566. data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.h +5 -1
  567. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.c +418 -210
  568. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.h +5 -1
  569. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.c +194 -99
  570. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.h +5 -1
  571. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.c +2003 -973
  572. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.h +5 -1
  573. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.c +101 -53
  574. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.h +5 -1
  575. data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.c +352 -176
  576. data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.h +5 -1
  577. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.c +79 -42
  578. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.h +5 -1
  579. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.c +67 -37
  580. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.h +5 -1
  581. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.c +63 -34
  582. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.h +5 -1
  583. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.c +88 -47
  584. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.h +5 -1
  585. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.c +80 -43
  586. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.h +5 -1
  587. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.c +53 -29
  588. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.h +5 -1
  589. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.c +86 -46
  590. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.h +5 -1
  591. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.c +55 -32
  592. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.h +5 -1
  593. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.c +91 -49
  594. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.h +5 -1
  595. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.c +105 -55
  596. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.h +5 -1
  597. data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.c +775 -379
  598. data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.h +5 -1
  599. data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +52 -28
  600. data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +5 -1
  601. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +134 -68
  602. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +5 -1
  603. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +189 -96
  604. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +5 -1
  605. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.c +116 -61
  606. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.h +5 -1
  607. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +112 -58
  608. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +5 -1
  609. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.c +160 -82
  610. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.h +5 -1
  611. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +75 -39
  612. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +5 -1
  613. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +1161 -570
  614. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +5 -1
  615. data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +52 -28
  616. data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +5 -1
  617. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.c +55 -29
  618. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.h +5 -1
  619. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +48 -26
  620. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +5 -1
  621. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +390 -194
  622. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +5 -1
  623. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +126 -65
  624. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +5 -1
  625. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +498 -246
  626. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +5 -1
  627. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +74 -38
  628. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +5 -1
  629. data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.c +221 -110
  630. data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.h +5 -1
  631. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.c +68 -36
  632. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.h +5 -1
  633. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.c +378 -187
  634. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.h +5 -1
  635. data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.c +100 -52
  636. data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.h +5 -1
  637. data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.c +257 -129
  638. data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.h +5 -1
  639. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.c +44 -24
  640. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.h +5 -1
  641. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.c +68 -35
  642. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.h +5 -1
  643. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/address.upbdefs.c +38 -20
  644. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/address.upbdefs.h +5 -1
  645. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.c +59 -32
  646. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.h +5 -1
  647. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.c +65 -34
  648. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.h +5 -1
  649. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.c +72 -38
  650. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.h +5 -1
  651. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.c +57 -31
  652. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.h +5 -1
  653. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.c +52 -29
  654. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.h +5 -1
  655. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.c +51 -28
  656. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.h +5 -1
  657. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.c +89 -47
  658. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.h +5 -1
  659. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.c +37 -20
  660. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.h +5 -1
  661. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.c +89 -47
  662. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.h +5 -1
  663. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.c +67 -35
  664. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.h +5 -1
  665. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.c +112 -58
  666. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.h +5 -1
  667. data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.c +110 -56
  668. data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.h +5 -1
  669. data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.c +123 -62
  670. data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.h +5 -1
  671. data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.c +59 -31
  672. data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.h +5 -1
  673. data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.c +30 -16
  674. data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.h +5 -1
  675. data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.c +143 -72
  676. data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.h +5 -1
  677. data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.c +61 -32
  678. data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.h +5 -1
  679. data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.c +51 -27
  680. data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.h +5 -1
  681. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.c +85 -45
  682. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.h +5 -1
  683. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.c +35 -19
  684. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.h +5 -1
  685. data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.c +44 -23
  686. data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.h +5 -1
  687. data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.c +61 -33
  688. data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.h +5 -1
  689. data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.c +35 -19
  690. data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.h +5 -1
  691. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.c +272 -133
  692. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.h +5 -1
  693. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.c +315 -154
  694. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.h +5 -1
  695. data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.c +64 -33
  696. data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.h +5 -1
  697. data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.c +35 -19
  698. data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.h +5 -1
  699. data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.c +26 -15
  700. data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.h +5 -1
  701. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.c +1106 -497
  702. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.h +10 -1
  703. data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.c +28 -16
  704. data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.h +5 -1
  705. data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.c +23 -13
  706. data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.h +5 -1
  707. data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.c +69 -35
  708. data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.h +5 -1
  709. data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.c +29 -16
  710. data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.h +5 -1
  711. data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.c +51 -26
  712. data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.h +5 -1
  713. data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.c +32 -17
  714. data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.h +5 -1
  715. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/channelz.upbdefs.c +716 -0
  716. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/channelz.upbdefs.h +227 -0
  717. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/promise.upbdefs.c +175 -0
  718. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/promise.upbdefs.h +82 -0
  719. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/property_list.upbdefs.c +133 -0
  720. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/property_list.upbdefs.h +67 -0
  721. data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +161 -79
  722. data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +5 -1
  723. data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.c +84 -42
  724. data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.h +5 -1
  725. data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.c +48 -26
  726. data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.h +5 -1
  727. data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.c +26 -14
  728. data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.h +5 -1
  729. data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.c +50 -26
  730. data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.h +5 -1
  731. data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.c +36 -19
  732. data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.h +5 -1
  733. data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.c +538 -261
  734. data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.h +5 -1
  735. data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.c +86 -43
  736. data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.h +5 -1
  737. data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.c +49 -26
  738. data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.h +5 -1
  739. data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.c +27 -15
  740. data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.h +5 -1
  741. data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.c +87 -44
  742. data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.h +5 -1
  743. data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.c +37 -20
  744. data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.h +5 -1
  745. data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.c +30 -17
  746. data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.h +5 -1
  747. data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.c +41 -23
  748. data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.h +5 -1
  749. data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.c +62 -33
  750. data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.h +5 -1
  751. data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.c +36 -19
  752. data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.h +5 -1
  753. data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.c +36 -20
  754. data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.h +5 -1
  755. data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.c +42 -23
  756. data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.h +5 -1
  757. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.c +76 -39
  758. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.h +5 -1
  759. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.c +45 -24
  760. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.h +5 -1
  761. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.c +41 -23
  762. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.h +5 -1
  763. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.c +53 -29
  764. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.h +5 -1
  765. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.c +29 -16
  766. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.h +5 -1
  767. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.c +58 -32
  768. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.h +5 -1
  769. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.c +207 -103
  770. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.h +5 -1
  771. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.c +95 -49
  772. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.h +5 -1
  773. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.c +38 -20
  774. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.h +5 -1
  775. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.c +60 -31
  776. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.h +5 -1
  777. data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.c +67 -36
  778. data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.h +5 -1
  779. data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.c +31 -17
  780. data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h +5 -1
  781. data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.c +31 -17
  782. data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h +5 -1
  783. data/src/core/{lib/security/transport → filter/auth}/auth_filters.h +10 -34
  784. data/src/core/{lib/security/transport → filter/auth}/client_auth_filter.cc +7 -124
  785. data/src/core/{lib/security/transport → filter/auth}/server_auth_filter.cc +5 -4
  786. data/src/core/filter/filter_args.h +9 -23
  787. data/src/core/filter/fused_filters.cc +154 -0
  788. data/src/core/handshaker/handshaker.cc +23 -22
  789. data/src/core/handshaker/handshaker.h +3 -0
  790. data/src/core/handshaker/http_connect/http_connect_handshaker.cc +3 -1
  791. data/src/core/handshaker/http_connect/http_proxy_mapper.cc +7 -22
  792. data/src/core/handshaker/security/legacy_secure_endpoint.cc +597 -0
  793. data/src/core/handshaker/security/pipelined_secure_endpoint.cc +965 -0
  794. data/src/core/handshaker/security/secure_endpoint.cc +827 -310
  795. data/src/core/handshaker/security/secure_endpoint.h +25 -0
  796. data/src/core/handshaker/security/security_handshaker.cc +8 -5
  797. data/src/core/handshaker/security/security_handshaker.h +1 -1
  798. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +7 -1
  799. data/src/core/lib/address_utils/sockaddr_utils.cc +5 -5
  800. data/src/core/lib/channel/channel_args.cc +15 -0
  801. data/src/core/lib/channel/channel_args.h +56 -30
  802. data/src/core/lib/channel/channel_stack.cc +32 -4
  803. data/src/core/lib/channel/channel_stack.h +16 -6
  804. data/src/core/lib/channel/channel_stack_builder_impl.cc +2 -2
  805. data/src/core/lib/channel/channel_stack_builder_impl.h +2 -7
  806. data/src/core/lib/channel/connected_channel.cc +2 -2
  807. data/src/core/lib/channel/promise_based_filter.cc +15 -25
  808. data/src/core/lib/channel/promise_based_filter.h +720 -311
  809. data/src/core/lib/debug/trace_flags.cc +4 -6
  810. data/src/core/lib/debug/trace_flags.h +2 -3
  811. data/src/core/lib/debug/trace_impl.h +0 -1
  812. data/src/core/lib/event_engine/ares_resolver.cc +165 -46
  813. data/src/core/lib/event_engine/ares_resolver.h +51 -3
  814. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +17 -7
  815. data/src/core/lib/event_engine/cf_engine/cf_engine.h +2 -4
  816. data/src/core/lib/event_engine/cf_engine/cfsocket_listener.cc +263 -0
  817. data/src/core/lib/event_engine/cf_engine/cfsocket_listener.h +107 -0
  818. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +35 -7
  819. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +22 -6
  820. data/src/core/lib/event_engine/default_event_engine_factory.cc +6 -6
  821. data/src/core/lib/event_engine/default_event_engine_factory.h +1 -1
  822. data/src/core/lib/event_engine/endpoint_channel_arg_wrapper.cc +40 -0
  823. data/src/core/lib/event_engine/endpoint_channel_arg_wrapper.h +60 -0
  824. data/src/core/lib/event_engine/event_engine.cc +7 -0
  825. data/src/core/lib/event_engine/extensions/blocking_dns.h +46 -0
  826. data/src/core/lib/event_engine/extensions/channelz.h +66 -0
  827. data/src/core/lib/event_engine/extensions/iomgr_compatible.h +39 -0
  828. data/src/core/lib/event_engine/extensions/supports_win_sockets.h +48 -0
  829. data/src/core/lib/event_engine/extensions/tcp_trace.h +2 -2
  830. data/src/core/lib/event_engine/grpc_polled_fd.h +5 -0
  831. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +139 -169
  832. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +17 -19
  833. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +90 -131
  834. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +13 -13
  835. data/src/core/lib/event_engine/posix_engine/event_poller.h +18 -23
  836. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +11 -23
  837. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h +3 -2
  838. data/src/core/lib/event_engine/posix_engine/file_descriptor_collection.cc +124 -0
  839. data/src/core/lib/event_engine/posix_engine/file_descriptor_collection.h +243 -0
  840. data/src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h +30 -19
  841. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +6 -2
  842. data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +6 -1
  843. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +4 -4
  844. data/src/core/lib/event_engine/posix_engine/lockfree_event.h +3 -4
  845. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +4 -7
  846. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.h +3 -0
  847. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +151 -101
  848. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +29 -33
  849. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +441 -215
  850. data/src/core/lib/event_engine/posix_engine/posix_engine.h +87 -59
  851. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +46 -38
  852. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +6 -4
  853. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +58 -142
  854. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +10 -5
  855. data/src/core/lib/event_engine/posix_engine/posix_interface.h +211 -0
  856. data/src/core/lib/event_engine/posix_engine/posix_interface_posix.cc +1083 -0
  857. data/src/core/lib/event_engine/posix_engine/posix_interface_windows.cc +281 -0
  858. data/src/core/lib/event_engine/posix_engine/posix_write_event_sink.cc +154 -0
  859. data/src/core/lib/event_engine/posix_engine/posix_write_event_sink.h +174 -0
  860. data/src/core/lib/event_engine/posix_engine/set_socket_dualstack.cc +64 -0
  861. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +3 -730
  862. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +11 -171
  863. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +33 -22
  864. data/src/core/lib/event_engine/posix_engine/timer_manager.h +13 -11
  865. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +117 -151
  866. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +26 -94
  867. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +26 -25
  868. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +6 -2
  869. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +36 -54
  870. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h +6 -2
  871. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +7 -6
  872. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +12 -6
  873. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +3 -1
  874. data/src/core/lib/event_engine/query_extensions.h +10 -21
  875. data/src/core/lib/event_engine/shim.cc +16 -14
  876. data/src/core/lib/event_engine/shim.h +14 -0
  877. data/src/core/lib/event_engine/tcp_socket_utils.cc +10 -9
  878. data/src/core/lib/event_engine/thread_pool/thread_pool.h +7 -3
  879. data/src/core/lib/event_engine/thread_pool/thread_pool_factory.cc +0 -17
  880. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +19 -9
  881. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +5 -3
  882. data/src/core/lib/event_engine/utils.cc +34 -0
  883. data/src/core/lib/event_engine/utils.h +3 -0
  884. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +6 -1
  885. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.h +4 -0
  886. data/src/core/lib/event_engine/windows/win_socket.cc +11 -0
  887. data/src/core/lib/event_engine/windows/win_socket.h +3 -0
  888. data/src/core/lib/event_engine/windows/windows_endpoint.cc +7 -12
  889. data/src/core/lib/event_engine/windows/windows_endpoint.h +5 -2
  890. data/src/core/lib/event_engine/windows/windows_engine.cc +42 -1
  891. data/src/core/lib/event_engine/windows/windows_engine.h +7 -3
  892. data/src/core/lib/event_engine/windows/windows_listener.cc +19 -8
  893. data/src/core/lib/event_engine/windows/windows_listener.h +9 -4
  894. data/src/core/lib/experiments/experiments.cc +507 -141
  895. data/src/core/lib/experiments/experiments.h +191 -78
  896. data/src/core/lib/iomgr/combiner.cc +3 -2
  897. data/src/core/lib/iomgr/endpoint.cc +4 -3
  898. data/src/core/lib/iomgr/endpoint.h +7 -4
  899. data/src/core/lib/iomgr/endpoint_cfstream.cc +3 -2
  900. data/src/core/lib/iomgr/endpoint_pair_posix.cc +43 -16
  901. data/src/core/lib/iomgr/endpoint_pair_windows.cc +43 -8
  902. data/src/core/lib/iomgr/error.cc +27 -43
  903. data/src/core/lib/iomgr/ev_epoll1_linux.cc +18 -1
  904. data/src/core/lib/iomgr/ev_poll_posix.cc +22 -0
  905. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +11 -10
  906. data/src/core/lib/iomgr/exec_ctx.h +3 -9
  907. data/src/core/lib/iomgr/fork_posix.cc +0 -7
  908. data/src/core/lib/iomgr/iomgr.cc +0 -3
  909. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +3 -0
  910. data/src/core/lib/iomgr/polling_entity.cc +2 -7
  911. data/src/core/lib/iomgr/resolve_address_posix.cc +37 -47
  912. data/src/core/lib/iomgr/resolve_address_posix.h +15 -0
  913. data/src/core/lib/iomgr/resolve_address_windows.cc +22 -45
  914. data/src/core/lib/iomgr/resolve_address_windows.h +15 -2
  915. data/src/core/lib/iomgr/socket_mutator.cc +1 -1
  916. data/src/core/lib/iomgr/socket_utils_common_posix.cc +1 -0
  917. data/src/core/lib/iomgr/socket_utils_posix.cc +22 -11
  918. data/src/core/lib/iomgr/socket_utils_posix.h +13 -3
  919. data/src/core/lib/iomgr/tcp_client_cfstream.cc +8 -9
  920. data/src/core/lib/iomgr/tcp_client_posix.cc +26 -22
  921. data/src/core/lib/iomgr/tcp_client_posix.h +1 -1
  922. data/src/core/lib/iomgr/tcp_posix.cc +85 -50
  923. data/src/core/lib/iomgr/tcp_posix.h +10 -2
  924. data/src/core/lib/iomgr/tcp_server_posix.cc +9 -1
  925. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +1 -4
  926. data/src/core/lib/iomgr/tcp_server_windows.cc +41 -18
  927. data/src/core/lib/iomgr/tcp_windows.cc +3 -2
  928. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +10 -2
  929. data/src/core/lib/promise/activity.h +3 -2
  930. data/src/core/lib/promise/all_ok.h +31 -0
  931. data/src/core/lib/promise/arena_promise.h +23 -7
  932. data/src/core/lib/promise/detail/promise_factory.h +10 -0
  933. data/src/core/lib/promise/detail/promise_like.h +132 -1
  934. data/src/core/lib/promise/detail/promise_variant.h +50 -0
  935. data/src/core/lib/promise/detail/seq_state.h +880 -0
  936. data/src/core/lib/promise/if.h +20 -0
  937. data/src/core/lib/promise/inter_activity_latch.h +147 -0
  938. data/src/core/lib/promise/inter_activity_mutex.h +547 -0
  939. data/src/core/lib/promise/loop.h +73 -8
  940. data/src/core/lib/promise/map.h +106 -2
  941. data/src/core/lib/promise/match_promise.h +103 -0
  942. data/src/core/lib/promise/mpsc.cc +425 -0
  943. data/src/core/lib/promise/mpsc.h +490 -0
  944. data/src/core/lib/promise/party.cc +55 -6
  945. data/src/core/lib/promise/party.h +73 -4
  946. data/src/core/lib/promise/poll.h +32 -20
  947. data/src/core/lib/promise/promise.h +4 -2
  948. data/src/core/lib/promise/race.h +31 -0
  949. data/src/core/lib/promise/seq.h +5 -0
  950. data/src/core/lib/promise/sleep.cc +6 -3
  951. data/src/core/lib/promise/status_flag.h +28 -9
  952. data/src/core/lib/promise/try_seq.h +5 -0
  953. data/src/core/lib/promise/wait_set.cc +28 -0
  954. data/src/core/lib/promise/wait_set.h +86 -0
  955. data/src/core/lib/resource_quota/arena.h +19 -0
  956. data/src/core/lib/resource_quota/memory_quota.cc +99 -3
  957. data/src/core/lib/resource_quota/memory_quota.h +21 -12
  958. data/src/core/lib/resource_quota/periodic_update.cc +14 -0
  959. data/src/core/lib/resource_quota/periodic_update.h +8 -0
  960. data/src/core/lib/resource_quota/resource_quota.cc +15 -4
  961. data/src/core/lib/resource_quota/resource_quota.h +3 -0
  962. data/src/core/lib/security/authorization/evaluate_args.cc +1 -1
  963. data/src/core/lib/security/authorization/evaluate_args.h +1 -1
  964. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +2 -3
  965. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +1 -1
  966. data/src/core/lib/slice/slice.h +11 -0
  967. data/src/core/lib/slice/slice_buffer.h +6 -0
  968. data/src/core/lib/surface/call.cc +29 -23
  969. data/src/core/lib/surface/call.h +6 -5
  970. data/src/core/lib/surface/call_utils.cc +3 -3
  971. data/src/core/lib/surface/call_utils.h +3 -3
  972. data/src/core/lib/surface/channel.h +2 -2
  973. data/src/core/lib/surface/channel_create.cc +139 -4
  974. data/src/core/lib/surface/channel_create.h +4 -0
  975. data/src/core/lib/surface/channel_init.cc +164 -47
  976. data/src/core/lib/surface/channel_init.h +66 -3
  977. data/src/core/lib/surface/completion_queue.cc +79 -21
  978. data/src/core/lib/surface/filter_stack_call.cc +59 -37
  979. data/src/core/lib/surface/filter_stack_call.h +1 -1
  980. data/src/core/lib/surface/init.cc +10 -20
  981. data/src/core/lib/surface/lame_client.cc +1 -1
  982. data/src/core/lib/surface/legacy_channel.cc +30 -28
  983. data/src/core/lib/surface/legacy_channel.h +4 -2
  984. data/src/core/lib/surface/version.cc +2 -2
  985. data/src/core/lib/transport/error_utils.cc +65 -11
  986. data/src/core/lib/transport/error_utils.h +2 -2
  987. data/src/core/lib/transport/promise_endpoint.cc +110 -0
  988. data/src/core/lib/transport/promise_endpoint.h +307 -0
  989. data/src/core/lib/transport/status_conversion.cc +11 -36
  990. data/src/core/lib/transport/status_conversion.h +5 -4
  991. data/src/core/lib/transport/transport.cc +2 -2
  992. data/src/core/lib/transport/transport.h +8 -5
  993. data/src/core/lib/transport/transport_op_string.cc +1 -1
  994. data/src/core/load_balancing/backend_metric_parser.cc +12 -18
  995. data/src/core/load_balancing/child_policy_handler.cc +2 -4
  996. data/src/core/load_balancing/delegating_helper.h +3 -4
  997. data/src/core/load_balancing/endpoint_list.cc +29 -2
  998. data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +4 -4
  999. data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +1 -1
  1000. data/src/core/load_balancing/grpclb/grpclb.cc +3 -4
  1001. data/src/core/load_balancing/health_check_client.cc +3 -9
  1002. data/src/core/load_balancing/lb_policy.h +1 -3
  1003. data/src/core/load_balancing/oob_backend_metric.cc +3 -9
  1004. data/src/core/load_balancing/outlier_detection/outlier_detection.cc +4 -3
  1005. data/src/core/load_balancing/pick_first/pick_first.cc +21 -966
  1006. data/src/core/load_balancing/rls/rls.cc +37 -42
  1007. data/src/core/load_balancing/round_robin/round_robin.cc +2 -3
  1008. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +4 -4
  1009. data/src/core/load_balancing/weighted_target/weighted_target.cc +4 -10
  1010. data/src/core/load_balancing/xds/cds.cc +13 -11
  1011. data/src/core/load_balancing/xds/xds_cluster_impl.cc +6 -4
  1012. data/src/core/load_balancing/xds/xds_override_host.cc +55 -34
  1013. data/src/core/net/socket_mutator.cc +19 -0
  1014. data/src/core/net/socket_mutator.h +25 -0
  1015. data/src/core/plugin_registry/grpc_plugin_registry.cc +10 -0
  1016. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +2 -2
  1017. data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +1 -3
  1018. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver.h +6 -1
  1019. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +2 -1
  1020. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +8 -5
  1021. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +6 -1
  1022. data/src/core/resolver/google_c2p/google_c2p_resolver.cc +1 -1
  1023. data/src/core/resolver/sockaddr/sockaddr_resolver.cc +2 -1
  1024. data/src/core/resolver/xds/xds_config.cc +6 -3
  1025. data/src/core/resolver/xds/xds_config.h +9 -4
  1026. data/src/core/resolver/xds/xds_dependency_manager.cc +30 -10
  1027. data/src/core/resolver/xds/xds_dependency_manager.h +2 -1
  1028. data/src/core/resolver/xds/xds_resolver.cc +35 -14
  1029. data/src/core/server/add_port.cc +87 -0
  1030. data/src/core/server/server.cc +136 -67
  1031. data/src/core/server/server.h +24 -7
  1032. data/src/core/server/server_call_tracer_filter.cc +0 -66
  1033. data/src/core/server/server_call_tracer_filter.h +64 -0
  1034. data/src/core/server/server_config_selector.h +1 -1
  1035. data/src/core/server/server_config_selector_filter.cc +2 -2
  1036. data/src/core/server/xds_server_config_fetcher.cc +68 -30
  1037. data/src/core/service_config/service_config.h +1 -1
  1038. data/src/core/service_config/service_config_channel_arg_filter.cc +4 -61
  1039. data/src/core/service_config/service_config_channel_arg_filter.h +82 -0
  1040. data/src/core/service_config/service_config_impl.h +1 -1
  1041. data/src/core/telemetry/call_tracer.cc +24 -20
  1042. data/src/core/telemetry/call_tracer.h +26 -21
  1043. data/src/core/telemetry/context_list_entry.cc +38 -0
  1044. data/src/core/{ext/transport/chttp2/transport → telemetry}/context_list_entry.h +45 -15
  1045. data/src/core/telemetry/default_tcp_tracer.cc +26 -0
  1046. data/src/core/telemetry/default_tcp_tracer.h +44 -0
  1047. data/src/core/telemetry/metrics.cc +30 -12
  1048. data/src/core/telemetry/metrics.h +23 -11
  1049. data/src/core/telemetry/stats.h +0 -5
  1050. data/src/core/telemetry/stats_data.cc +577 -436
  1051. data/src/core/telemetry/stats_data.h +478 -245
  1052. data/src/core/telemetry/tcp_tracer.cc +38 -0
  1053. data/src/core/telemetry/tcp_tracer.h +103 -99
  1054. data/src/core/{lib/security/context/security_context.cc → transport/auth_context.cc} +21 -97
  1055. data/src/core/{lib/security/context/security_context.h → transport/auth_context.h} +9 -76
  1056. data/src/core/transport/auth_context_comparator_registry.h +69 -0
  1057. data/src/core/transport/endpoint_transport.h +90 -0
  1058. data/src/core/transport/endpoint_transport_client_channel_factory.cc +61 -0
  1059. data/src/core/transport/endpoint_transport_client_channel_factory.h +57 -0
  1060. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +35 -4
  1061. data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +3 -1
  1062. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +76 -22
  1063. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +9 -3
  1064. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +11 -3
  1065. data/src/core/tsi/fake_transport_security.cc +17 -0
  1066. data/src/core/tsi/ssl_transport_security.cc +395 -104
  1067. data/src/core/tsi/ssl_transport_security.h +25 -11
  1068. data/src/core/tsi/ssl_transport_security_utils.cc +21 -0
  1069. data/src/core/tsi/ssl_transport_security_utils.h +4 -0
  1070. data/src/core/tsi/transport_security.h +3 -0
  1071. data/src/core/tsi/transport_security_grpc.cc +8 -0
  1072. data/src/core/tsi/transport_security_grpc.h +22 -3
  1073. data/src/core/tsi/transport_security_interface.h +30 -25
  1074. data/src/core/util/backoff.cc +5 -16
  1075. data/src/core/util/backoff.h +1 -1
  1076. data/src/core/util/check_class_size.h +48 -0
  1077. data/src/core/util/down_cast.h +1 -1
  1078. data/src/core/util/dual_ref_counted.h +48 -0
  1079. data/src/core/util/function_signature.h +80 -0
  1080. data/src/core/util/gcp_metadata_query.cc +4 -3
  1081. data/src/core/util/http_client/httpcli.cc +15 -8
  1082. data/src/core/util/http_client/httpcli.h +4 -1
  1083. data/src/core/util/http_client/httpcli_security_connector.cc +8 -5
  1084. data/src/core/util/json/json_object_loader.h +3 -3
  1085. data/src/core/util/latent_see.cc +180 -122
  1086. data/src/core/util/latent_see.h +249 -201
  1087. data/src/core/util/linux/env.cc +3 -1
  1088. data/src/core/util/load_file.cc +26 -14
  1089. data/src/core/util/log.cc +4 -0
  1090. data/src/core/util/memory_usage.h +268 -0
  1091. data/src/core/util/per_cpu.cc +2 -0
  1092. data/src/core/util/per_cpu.h +7 -0
  1093. data/src/core/util/ref_counted_ptr.h +26 -0
  1094. data/src/core/util/shared_bit_gen.cc +21 -0
  1095. data/src/core/util/shared_bit_gen.h +64 -0
  1096. data/src/core/util/single_set_ptr.h +38 -4
  1097. data/src/core/util/status_helper.cc +86 -63
  1098. data/src/core/util/status_helper.h +9 -26
  1099. data/src/core/util/upb_utils.h +42 -0
  1100. data/src/core/util/uri.cc +76 -17
  1101. data/src/core/util/uri.h +13 -8
  1102. data/src/core/util/useful.h +144 -2
  1103. data/src/core/util/wait_for_single_owner.cc +31 -0
  1104. data/src/core/util/wait_for_single_owner.h +24 -0
  1105. data/src/core/util/windows/directory_reader.cc +1 -0
  1106. data/src/core/util/windows/thd.cc +1 -3
  1107. data/src/core/util/work_serializer.cc +1 -1
  1108. data/src/core/xds/grpc/certificate_provider_store.cc +1 -1
  1109. data/src/core/xds/grpc/certificate_provider_store.h +3 -3
  1110. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +35 -8
  1111. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.h +6 -1
  1112. data/src/core/xds/grpc/xds_bootstrap_grpc.cc +12 -7
  1113. data/src/core/xds/grpc/xds_bootstrap_grpc.h +5 -0
  1114. data/src/core/xds/grpc/xds_certificate_provider.cc +6 -7
  1115. data/src/core/xds/grpc/xds_certificate_provider.h +2 -2
  1116. data/src/core/xds/grpc/xds_client_grpc.cc +13 -8
  1117. data/src/core/xds/grpc/xds_client_grpc.h +4 -2
  1118. data/src/core/xds/grpc/xds_cluster.h +3 -3
  1119. data/src/core/xds/grpc/xds_cluster_parser.cc +3 -2
  1120. data/src/core/xds/grpc/xds_common_types_parser.cc +138 -58
  1121. data/src/core/xds/grpc/xds_common_types_parser.h +12 -0
  1122. data/src/core/xds/grpc/xds_http_fault_filter.cc +1 -1
  1123. data/src/core/xds/grpc/xds_http_filter.h +8 -1
  1124. data/src/core/xds/grpc/xds_http_filter_registry.cc +1 -3
  1125. data/src/core/xds/grpc/xds_http_filter_registry.h +1 -1
  1126. data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +22 -0
  1127. data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +3 -0
  1128. data/src/core/xds/grpc/xds_http_rbac_filter.cc +10 -17
  1129. data/src/core/xds/grpc/xds_metadata_parser.cc +40 -64
  1130. data/src/core/xds/grpc/xds_metadata_parser.h +0 -2
  1131. data/src/core/xds/grpc/xds_route_config.h +1 -1
  1132. data/src/core/xds/grpc/xds_route_config_parser.cc +71 -116
  1133. data/src/core/xds/grpc/xds_route_config_parser.h +1 -1
  1134. data/src/core/xds/grpc/xds_routing.h +1 -1
  1135. data/src/core/xds/grpc/xds_server_grpc.cc +110 -48
  1136. data/src/core/xds/grpc/xds_server_grpc.h +31 -13
  1137. data/src/core/xds/grpc/xds_server_grpc_interface.h +6 -2
  1138. data/src/core/xds/grpc/xds_transport_grpc.cc +23 -5
  1139. data/src/core/xds/grpc/xds_transport_grpc.h +5 -3
  1140. data/src/core/xds/xds_client/lrs_client.cc +6 -5
  1141. data/src/core/xds/xds_client/lrs_client.h +7 -7
  1142. data/src/core/xds/xds_client/xds_bootstrap.h +18 -1
  1143. data/src/core/xds/xds_client/xds_client.cc +52 -29
  1144. data/src/core/xds/xds_client/xds_client.h +3 -1
  1145. data/src/core/xds/xds_client/xds_resource_type.h +1 -2
  1146. data/src/core/xds/xds_client/xds_transport.h +1 -1
  1147. data/src/ruby/ext/grpc/extconf.rb +4 -2
  1148. data/src/ruby/ext/grpc/rb_call.c +1 -8
  1149. data/src/ruby/ext/grpc/rb_channel.c +70 -557
  1150. data/src/ruby/ext/grpc/rb_channel.h +0 -3
  1151. data/src/ruby/ext/grpc/rb_completion_queue.c +26 -14
  1152. data/src/ruby/ext/grpc/rb_completion_queue.h +1 -7
  1153. data/src/ruby/ext/grpc/rb_grpc.c +9 -5
  1154. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +2 -2
  1155. data/src/ruby/ext/grpc/rb_loader.c +0 -4
  1156. data/src/ruby/ext/grpc/rb_server.c +31 -50
  1157. data/src/ruby/lib/grpc/generic/client_stub.rb +4 -4
  1158. data/src/ruby/lib/grpc/version.rb +1 -1
  1159. data/src/ruby/spec/core_spec.rb +22 -0
  1160. data/src/ruby/spec/generic/active_call_spec.rb +1 -1
  1161. data/src/ruby/spec/generic/client_stub_spec.rb +2 -6
  1162. data/src/ruby/spec/generic/rpc_server_spec.rb +1 -1
  1163. data/third_party/abseil-cpp/absl/algorithm/algorithm.h +2 -2
  1164. data/third_party/abseil-cpp/absl/algorithm/container.h +81 -67
  1165. data/third_party/abseil-cpp/absl/base/attributes.h +142 -23
  1166. data/third_party/abseil-cpp/absl/base/call_once.h +18 -16
  1167. data/third_party/abseil-cpp/absl/base/config.h +23 -132
  1168. data/third_party/abseil-cpp/absl/base/{internal/fast_type_id.h → fast_type_id.h} +11 -16
  1169. data/third_party/abseil-cpp/absl/base/internal/cycleclock.cc +0 -5
  1170. data/third_party/abseil-cpp/absl/base/internal/cycleclock_config.h +7 -7
  1171. data/third_party/abseil-cpp/absl/base/internal/endian.h +34 -38
  1172. data/third_party/abseil-cpp/absl/base/internal/iterator_traits.h +71 -0
  1173. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +6 -5
  1174. data/third_party/abseil-cpp/absl/base/internal/nullability_deprecated.h +106 -0
  1175. data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +1 -1
  1176. data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +0 -9
  1177. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +3 -13
  1178. data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +14 -0
  1179. data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +5 -1
  1180. data/third_party/abseil-cpp/absl/base/internal/tracing.cc +39 -0
  1181. data/third_party/abseil-cpp/absl/base/internal/tracing.h +81 -0
  1182. data/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +6 -6
  1183. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +0 -10
  1184. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +17 -0
  1185. data/third_party/abseil-cpp/absl/base/macros.h +35 -4
  1186. data/third_party/abseil-cpp/absl/base/no_destructor.h +11 -32
  1187. data/third_party/abseil-cpp/absl/base/nullability.h +124 -56
  1188. data/third_party/abseil-cpp/absl/base/optimization.h +8 -12
  1189. data/third_party/abseil-cpp/absl/base/options.h +7 -81
  1190. data/third_party/abseil-cpp/absl/base/policy_checks.h +9 -7
  1191. data/third_party/abseil-cpp/absl/cleanup/cleanup.h +1 -3
  1192. data/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h +3 -4
  1193. data/third_party/abseil-cpp/absl/container/btree_map.h +891 -0
  1194. data/third_party/abseil-cpp/absl/container/btree_set.h +826 -0
  1195. data/third_party/abseil-cpp/absl/container/fixed_array.h +9 -15
  1196. data/third_party/abseil-cpp/absl/container/flat_hash_map.h +22 -3
  1197. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +23 -4
  1198. data/third_party/abseil-cpp/absl/container/inlined_vector.h +10 -6
  1199. data/third_party/abseil-cpp/absl/container/internal/btree.h +3149 -0
  1200. data/third_party/abseil-cpp/absl/container/internal/btree_container.h +867 -0
  1201. data/third_party/abseil-cpp/absl/container/internal/common.h +43 -0
  1202. data/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h +10 -2
  1203. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +10 -10
  1204. data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +1 -8
  1205. data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +0 -4
  1206. data/third_party/abseil-cpp/absl/container/internal/hashtable_control_bytes.h +527 -0
  1207. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +20 -4
  1208. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +31 -12
  1209. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +6 -9
  1210. data/third_party/abseil-cpp/absl/container/internal/layout.h +27 -43
  1211. data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +199 -68
  1212. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +1462 -263
  1213. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +1170 -1547
  1214. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl.h +80 -0
  1215. data/third_party/abseil-cpp/absl/crc/crc32c.cc +0 -4
  1216. data/third_party/abseil-cpp/absl/crc/crc32c.h +7 -5
  1217. data/third_party/abseil-cpp/absl/crc/internal/cpu_detect.cc +56 -0
  1218. data/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +0 -22
  1219. data/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +45 -74
  1220. data/third_party/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h +21 -7
  1221. data/third_party/abseil-cpp/absl/debugging/internal/addresses.h +57 -0
  1222. data/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.cc +1 -1
  1223. data/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.h +5 -5
  1224. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +12 -37
  1225. data/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.cc +16 -16
  1226. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +1 -1
  1227. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +40 -21
  1228. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +16 -7
  1229. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +7 -0
  1230. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +14 -5
  1231. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +10 -4
  1232. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +27 -16
  1233. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +20 -8
  1234. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +4 -3
  1235. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +15 -28
  1236. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +19 -9
  1237. data/third_party/abseil-cpp/absl/debugging/leak_check.cc +73 -0
  1238. data/third_party/abseil-cpp/absl/debugging/leak_check.h +150 -0
  1239. data/third_party/abseil-cpp/absl/debugging/stacktrace.cc +144 -27
  1240. data/third_party/abseil-cpp/absl/debugging/stacktrace.h +73 -5
  1241. data/third_party/abseil-cpp/absl/debugging/symbolize.cc +3 -2
  1242. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +67 -18
  1243. data/third_party/abseil-cpp/absl/debugging/symbolize_emscripten.inc +3 -2
  1244. data/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc +25 -6
  1245. data/third_party/abseil-cpp/absl/flags/commandlineflag.cc +1 -0
  1246. data/third_party/abseil-cpp/absl/flags/commandlineflag.h +9 -2
  1247. data/third_party/abseil-cpp/absl/flags/flag.h +18 -15
  1248. data/third_party/abseil-cpp/absl/flags/internal/commandlineflag.h +2 -2
  1249. data/third_party/abseil-cpp/absl/flags/internal/flag.cc +14 -5
  1250. data/third_party/abseil-cpp/absl/flags/internal/flag.h +23 -11
  1251. data/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.cc +4 -0
  1252. data/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.h +3 -0
  1253. data/third_party/abseil-cpp/absl/flags/internal/program_name.cc +13 -12
  1254. data/third_party/abseil-cpp/absl/flags/internal/registry.h +4 -3
  1255. data/third_party/abseil-cpp/absl/flags/reflection.cc +2 -3
  1256. data/third_party/abseil-cpp/absl/flags/usage_config.cc +9 -4
  1257. data/third_party/abseil-cpp/absl/functional/any_invocable.h +8 -10
  1258. data/third_party/abseil-cpp/absl/functional/function_ref.h +2 -9
  1259. data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +110 -226
  1260. data/third_party/abseil-cpp/absl/functional/internal/front_binder.h +10 -12
  1261. data/third_party/abseil-cpp/absl/functional/internal/function_ref.h +2 -5
  1262. data/third_party/abseil-cpp/absl/hash/hash.h +44 -2
  1263. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +14 -18
  1264. data/third_party/abseil-cpp/absl/hash/internal/hash.h +257 -127
  1265. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc +27 -72
  1266. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.h +2 -6
  1267. data/third_party/abseil-cpp/absl/hash/internal/weakly_mixed_integer.h +38 -0
  1268. data/third_party/abseil-cpp/absl/log/absl_vlog_is_on.h +2 -0
  1269. data/third_party/abseil-cpp/absl/log/check.h +2 -1
  1270. data/third_party/abseil-cpp/absl/log/globals.h +4 -5
  1271. data/third_party/abseil-cpp/absl/log/internal/append_truncated.h +28 -0
  1272. data/third_party/abseil-cpp/absl/log/internal/check_op.cc +43 -38
  1273. data/third_party/abseil-cpp/absl/log/internal/check_op.h +124 -99
  1274. data/third_party/abseil-cpp/absl/log/internal/conditions.cc +5 -3
  1275. data/third_party/abseil-cpp/absl/log/internal/conditions.h +7 -2
  1276. data/third_party/abseil-cpp/absl/log/internal/log_message.cc +158 -64
  1277. data/third_party/abseil-cpp/absl/log/internal/log_message.h +140 -83
  1278. data/third_party/abseil-cpp/absl/log/internal/nullstream.h +1 -0
  1279. data/third_party/abseil-cpp/absl/log/internal/proto.cc +3 -5
  1280. data/third_party/abseil-cpp/absl/log/internal/proto.h +28 -18
  1281. data/third_party/abseil-cpp/absl/log/internal/strip.h +4 -12
  1282. data/third_party/abseil-cpp/absl/log/internal/structured_proto.cc +115 -0
  1283. data/third_party/abseil-cpp/absl/log/internal/structured_proto.h +107 -0
  1284. data/third_party/abseil-cpp/absl/log/internal/vlog_config.cc +8 -1
  1285. data/third_party/abseil-cpp/absl/log/internal/vlog_config.h +8 -6
  1286. data/third_party/abseil-cpp/absl/log/internal/voidify.h +10 -4
  1287. data/third_party/abseil-cpp/absl/log/log.h +48 -35
  1288. data/third_party/abseil-cpp/absl/log/log_sink_registry.h +5 -2
  1289. data/third_party/abseil-cpp/absl/log/vlog_is_on.h +2 -0
  1290. data/third_party/abseil-cpp/absl/meta/type_traits.h +62 -181
  1291. data/third_party/abseil-cpp/absl/numeric/bits.h +68 -2
  1292. data/third_party/abseil-cpp/absl/numeric/int128.cc +0 -52
  1293. data/third_party/abseil-cpp/absl/numeric/int128.h +15 -3
  1294. data/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +6 -4
  1295. data/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +6 -3
  1296. data/third_party/abseil-cpp/absl/numeric/internal/bits.h +7 -3
  1297. data/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.cc +1 -1
  1298. data/third_party/abseil-cpp/absl/random/bernoulli_distribution.h +3 -1
  1299. data/third_party/abseil-cpp/absl/random/beta_distribution.h +3 -1
  1300. data/third_party/abseil-cpp/absl/random/bit_gen_ref.h +12 -12
  1301. data/third_party/abseil-cpp/absl/random/discrete_distribution.cc +10 -0
  1302. data/third_party/abseil-cpp/absl/random/discrete_distribution.h +4 -2
  1303. data/third_party/abseil-cpp/absl/random/distributions.h +6 -8
  1304. data/third_party/abseil-cpp/absl/random/exponential_distribution.h +1 -0
  1305. data/third_party/abseil-cpp/absl/random/gaussian_distribution.h +3 -2
  1306. data/third_party/abseil-cpp/absl/random/internal/distribution_caller.h +8 -7
  1307. data/third_party/abseil-cpp/absl/random/internal/{pool_urbg.cc → entropy_pool.cc} +22 -90
  1308. data/third_party/abseil-cpp/absl/random/internal/entropy_pool.h +35 -0
  1309. data/third_party/abseil-cpp/absl/random/internal/iostream_state_saver.h +5 -2
  1310. data/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h +5 -6
  1311. data/third_party/abseil-cpp/absl/random/internal/platform.h +12 -12
  1312. data/third_party/abseil-cpp/absl/random/internal/randen_detect.cc +57 -6
  1313. data/third_party/abseil-cpp/absl/random/internal/randen_engine.h +2 -1
  1314. data/third_party/abseil-cpp/absl/random/internal/seed_material.cc +20 -12
  1315. data/third_party/abseil-cpp/absl/random/internal/seed_material.h +5 -5
  1316. data/third_party/abseil-cpp/absl/random/internal/uniform_helper.h +2 -2
  1317. data/third_party/abseil-cpp/absl/random/internal/wide_multiply.h +0 -1
  1318. data/third_party/abseil-cpp/absl/random/log_uniform_int_distribution.h +1 -4
  1319. data/third_party/abseil-cpp/absl/random/poisson_distribution.h +4 -3
  1320. data/third_party/abseil-cpp/absl/random/random.h +88 -53
  1321. data/third_party/abseil-cpp/absl/random/seed_gen_exception.cc +2 -3
  1322. data/third_party/abseil-cpp/absl/random/seed_sequences.cc +6 -2
  1323. data/third_party/abseil-cpp/absl/random/seed_sequences.h +1 -2
  1324. data/third_party/abseil-cpp/absl/random/uniform_int_distribution.h +2 -1
  1325. data/third_party/abseil-cpp/absl/random/uniform_real_distribution.h +2 -0
  1326. data/third_party/abseil-cpp/absl/random/zipf_distribution.h +5 -4
  1327. data/third_party/abseil-cpp/absl/status/internal/status_internal.cc +10 -7
  1328. data/third_party/abseil-cpp/absl/status/internal/status_internal.h +3 -4
  1329. data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +4 -3
  1330. data/third_party/abseil-cpp/absl/status/status.cc +4 -8
  1331. data/third_party/abseil-cpp/absl/status/status.h +8 -8
  1332. data/third_party/abseil-cpp/absl/status/status_payload_printer.h +2 -2
  1333. data/third_party/abseil-cpp/absl/status/statusor.cc +2 -2
  1334. data/third_party/abseil-cpp/absl/status/statusor.h +6 -6
  1335. data/third_party/abseil-cpp/absl/strings/ascii.cc +44 -29
  1336. data/third_party/abseil-cpp/absl/strings/ascii.h +62 -22
  1337. data/third_party/abseil-cpp/absl/strings/charconv.cc +25 -29
  1338. data/third_party/abseil-cpp/absl/strings/charconv.h +5 -5
  1339. data/third_party/abseil-cpp/absl/strings/charset.h +3 -4
  1340. data/third_party/abseil-cpp/absl/strings/cord.cc +54 -58
  1341. data/third_party/abseil-cpp/absl/strings/cord.h +99 -102
  1342. data/third_party/abseil-cpp/absl/strings/cord_analysis.cc +11 -11
  1343. data/third_party/abseil-cpp/absl/strings/cord_analysis.h +3 -3
  1344. data/third_party/abseil-cpp/absl/strings/escaping.cc +186 -197
  1345. data/third_party/abseil-cpp/absl/strings/escaping.h +9 -10
  1346. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc +1 -1
  1347. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h +1 -1
  1348. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +53 -22
  1349. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +0 -4
  1350. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +0 -4
  1351. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +7 -63
  1352. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +1 -11
  1353. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +0 -22
  1354. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +3 -2
  1355. data/third_party/abseil-cpp/absl/strings/internal/str_format/output.cc +5 -3
  1356. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +4 -2
  1357. data/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +3 -3
  1358. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +35 -0
  1359. data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +0 -5
  1360. data/third_party/abseil-cpp/absl/strings/internal/utf8.cc +96 -1
  1361. data/third_party/abseil-cpp/absl/strings/internal/utf8.h +15 -1
  1362. data/third_party/abseil-cpp/absl/strings/match.h +21 -11
  1363. data/third_party/abseil-cpp/absl/strings/numbers.cc +55 -33
  1364. data/third_party/abseil-cpp/absl/strings/numbers.h +87 -58
  1365. data/third_party/abseil-cpp/absl/strings/str_cat.cc +6 -7
  1366. data/third_party/abseil-cpp/absl/strings/str_cat.h +41 -30
  1367. data/third_party/abseil-cpp/absl/strings/str_format.h +18 -18
  1368. data/third_party/abseil-cpp/absl/strings/str_replace.cc +3 -3
  1369. data/third_party/abseil-cpp/absl/strings/str_replace.h +6 -6
  1370. data/third_party/abseil-cpp/absl/strings/str_split.h +18 -1
  1371. data/third_party/abseil-cpp/absl/strings/string_view.cc +4 -9
  1372. data/third_party/abseil-cpp/absl/strings/string_view.h +46 -50
  1373. data/third_party/abseil-cpp/absl/strings/strip.h +11 -8
  1374. data/third_party/abseil-cpp/absl/strings/substitute.cc +5 -4
  1375. data/third_party/abseil-cpp/absl/strings/substitute.h +66 -64
  1376. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc +16 -10
  1377. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.h +6 -0
  1378. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +5 -1
  1379. data/third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.cc +0 -4
  1380. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc +0 -5
  1381. data/third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc +0 -4
  1382. data/third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.cc +0 -4
  1383. data/third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc +0 -4
  1384. data/third_party/abseil-cpp/absl/synchronization/internal/waiter_base.cc +0 -4
  1385. data/third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.cc +0 -4
  1386. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +39 -13
  1387. data/third_party/abseil-cpp/absl/synchronization/mutex.h +97 -69
  1388. data/third_party/abseil-cpp/absl/synchronization/notification.cc +10 -2
  1389. data/third_party/abseil-cpp/absl/synchronization/notification.h +12 -2
  1390. data/third_party/abseil-cpp/absl/time/civil_time.cc +1 -0
  1391. data/third_party/abseil-cpp/absl/time/duration.cc +18 -58
  1392. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +1 -1
  1393. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +1 -1
  1394. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +1 -1
  1395. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc +3 -3
  1396. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +2 -2
  1397. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h +2 -2
  1398. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +3 -3
  1399. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h +2 -2
  1400. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +1 -1
  1401. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h +1 -1
  1402. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +92 -112
  1403. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc +1 -1
  1404. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +6 -4
  1405. data/third_party/abseil-cpp/absl/time/time.h +89 -23
  1406. data/third_party/abseil-cpp/absl/types/internal/span.h +3 -2
  1407. data/third_party/abseil-cpp/absl/types/optional.h +7 -745
  1408. data/third_party/abseil-cpp/absl/types/span.h +98 -54
  1409. data/third_party/abseil-cpp/absl/types/variant.h +5 -784
  1410. data/third_party/abseil-cpp/absl/utility/utility.h +10 -185
  1411. data/third_party/boringssl-with-bazel/src/crypto/aes/aes.cc +41 -0
  1412. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.cc +16 -0
  1413. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.cc +15 -0
  1414. data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +19 -3
  1415. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.cc +79 -48
  1416. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.cc +11 -19
  1417. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.cc +3 -7
  1418. data/third_party/boringssl-with-bazel/src/crypto/bcm_support.h +0 -35
  1419. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.cc +0 -2
  1420. data/third_party/boringssl-with-bazel/src/crypto/bio/internal.h +3 -5
  1421. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.cc +0 -3
  1422. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.cc +0 -2
  1423. data/third_party/boringssl-with-bazel/src/crypto/bn/convert.cc +31 -47
  1424. data/third_party/boringssl-with-bazel/src/crypto/bn/div.cc +100 -0
  1425. data/third_party/boringssl-with-bazel/src/crypto/bn/exponentiation.cc +166 -0
  1426. data/third_party/boringssl-with-bazel/src/crypto/bn/sqrt.cc +93 -0
  1427. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.cc +14 -8
  1428. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.cc +1 -1
  1429. data/third_party/boringssl-with-bazel/src/crypto/bytestring/internal.h +3 -3
  1430. data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +4 -4
  1431. data/third_party/boringssl-with-bazel/src/crypto/cipher/derive_key.cc +13 -15
  1432. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_aeseax.cc +289 -0
  1433. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_aesgcmsiv.cc +179 -102
  1434. data/third_party/boringssl-with-bazel/src/crypto/cipher/internal.h +3 -3
  1435. data/third_party/boringssl-with-bazel/src/crypto/cms/cms.cc +172 -0
  1436. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.cc +0 -2
  1437. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.cc +0 -2
  1438. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.cc +0 -2
  1439. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.cc +0 -2
  1440. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_sysreg.cc +0 -2
  1441. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.cc +0 -2
  1442. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.cc +0 -1
  1443. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.cc +28 -6
  1444. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.h +11 -9
  1445. data/third_party/boringssl-with-bazel/src/crypto/cpu_intel.cc +0 -6
  1446. data/third_party/boringssl-with-bazel/src/crypto/crypto.cc +1 -3
  1447. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +3 -3
  1448. data/third_party/boringssl-with-bazel/src/crypto/des/internal.h +3 -3
  1449. data/third_party/boringssl-with-bazel/src/crypto/dh/dh_asn1.cc +13 -14
  1450. data/third_party/boringssl-with-bazel/src/crypto/dh/params.cc +27 -61
  1451. data/third_party/boringssl-with-bazel/src/crypto/digest/digest_extra.cc +16 -8
  1452. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.cc +112 -122
  1453. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.cc +23 -35
  1454. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +3 -3
  1455. data/third_party/boringssl-with-bazel/src/crypto/ec/ec_asn1.cc +47 -63
  1456. data/third_party/boringssl-with-bazel/src/crypto/ec/hash_to_curve.cc +60 -68
  1457. data/third_party/boringssl-with-bazel/src/crypto/ec/internal.h +3 -3
  1458. data/third_party/boringssl-with-bazel/src/crypto/ecdsa/ecdsa_asn1.cc +11 -17
  1459. data/third_party/boringssl-with-bazel/src/crypto/err/err.cc +0 -2
  1460. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.cc +10 -11
  1461. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.cc +10 -11
  1462. data/third_party/boringssl-with-bazel/src/crypto/evp/internal.h +3 -3
  1463. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.cc +6 -6
  1464. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.cc +6 -6
  1465. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.cc +6 -6
  1466. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.cc +6 -6
  1467. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.cc +6 -6
  1468. data/third_party/boringssl-with-bazel/src/crypto/evp/sign.cc +23 -42
  1469. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.cc.inc +29 -18
  1470. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/gcm.cc.inc +10 -10
  1471. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +16 -45
  1472. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.cc.inc +5 -4
  1473. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.cc.inc +15 -6
  1474. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.cc +3 -3
  1475. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm_interface.h +101 -5
  1476. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.cc.inc +96 -187
  1477. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.cc.inc +24 -512
  1478. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.cc.inc +58 -80
  1479. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.cc.inc +29 -45
  1480. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +27 -25
  1481. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/jacobi.cc.inc +7 -16
  1482. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.cc.inc +27 -48
  1483. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.cc.inc +34 -34
  1484. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.cc.inc +102 -154
  1485. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.h +3 -3
  1486. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.cc.inc +3 -8
  1487. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.cc.inc +1 -78
  1488. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.cc.inc +10 -17
  1489. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/internal.h +3 -3
  1490. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h +15 -8
  1491. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.cc.inc +40 -53
  1492. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.cc.inc +57 -76
  1493. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.cc.inc +4 -10
  1494. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/internal.h +3 -3
  1495. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +3 -3
  1496. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.cc.inc +37 -52
  1497. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.cc.inc +13 -20
  1498. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +3 -3
  1499. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.cc.inc +28 -39
  1500. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.h +3 -3
  1501. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.cc.inc +6 -11
  1502. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/keccak/internal.h +3 -3
  1503. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mldsa/fips_known_values.inc +1345 -0
  1504. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mldsa/mldsa.cc.inc +335 -28
  1505. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mlkem/fips_known_values.inc +411 -0
  1506. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mlkem/mlkem.cc.inc +265 -33
  1507. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +3 -3
  1508. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.cc.inc +1 -1
  1509. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +3 -3
  1510. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.cc.inc +19 -26
  1511. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.cc.inc +7 -7
  1512. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.cc.inc +121 -138
  1513. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.cc.inc +96 -83
  1514. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/internal.h +3 -3
  1515. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +8 -20
  1516. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/fips_known_values.inc +674 -0
  1517. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/slhdsa.cc.inc +235 -60
  1518. data/third_party/boringssl-with-bazel/src/crypto/fuzzer_mode.cc +30 -0
  1519. data/third_party/boringssl-with-bazel/src/crypto/hrss/internal.h +3 -3
  1520. data/third_party/boringssl-with-bazel/src/crypto/internal.h +59 -33
  1521. data/third_party/boringssl-with-bazel/src/crypto/lhash/internal.h +3 -3
  1522. data/third_party/boringssl-with-bazel/src/crypto/md5/internal.h +3 -3
  1523. data/third_party/boringssl-with-bazel/src/crypto/mem.cc +0 -2
  1524. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.cc +2 -8
  1525. data/third_party/boringssl-with-bazel/src/crypto/pem/internal.h +3 -3
  1526. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.cc +8 -13
  1527. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/internal.h +22 -8
  1528. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.cc +19 -17
  1529. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.cc +134 -136
  1530. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +14 -8
  1531. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.cc +25 -21
  1532. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.cc +36 -52
  1533. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.cc +97 -79
  1534. data/third_party/boringssl-with-bazel/src/crypto/poly1305/internal.h +3 -3
  1535. data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +3 -3
  1536. data/third_party/boringssl-with-bazel/src/crypto/rand/deterministic.cc +1 -1
  1537. data/third_party/boringssl-with-bazel/src/crypto/rand/fork_detect.cc +2 -2
  1538. data/third_party/boringssl-with-bazel/src/crypto/rand/getentropy.cc +1 -1
  1539. data/third_party/boringssl-with-bazel/src/crypto/rand/{sysrand_internal.h → internal.h} +22 -4
  1540. data/third_party/boringssl-with-bazel/src/crypto/rand/ios.cc +1 -1
  1541. data/third_party/boringssl-with-bazel/src/crypto/rand/trusty.cc +1 -1
  1542. data/third_party/boringssl-with-bazel/src/crypto/rand/urandom.cc +1 -1
  1543. data/third_party/boringssl-with-bazel/src/crypto/rand/windows.cc +1 -5
  1544. data/third_party/boringssl-with-bazel/src/crypto/rsa/internal.h +3 -3
  1545. data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_crypt.cc +14 -22
  1546. data/third_party/boringssl-with-bazel/src/crypto/spake2plus/internal.h +3 -3
  1547. data/third_party/boringssl-with-bazel/src/crypto/thread_win.cc +0 -2
  1548. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +3 -3
  1549. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.cc +3 -5
  1550. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.cc +8 -12
  1551. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +15 -3
  1552. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_conf.cc +16 -24
  1553. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_info.cc +18 -21
  1554. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.cc +10 -3
  1555. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.cc +9 -0
  1556. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.cc +10 -1
  1557. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.cc +64 -85
  1558. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.cc +16 -32
  1559. data/third_party/boringssl-with-bazel/src/gen/crypto/err_data.cc +576 -567
  1560. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +16 -8
  1561. data/third_party/boringssl-with-bazel/src/include/openssl/aes.h +1 -1
  1562. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +3 -25
  1563. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +6 -54
  1564. data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +1 -1
  1565. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +8 -4
  1566. data/third_party/boringssl-with-bazel/src/include/openssl/base64.h +1 -1
  1567. data/third_party/boringssl-with-bazel/src/include/openssl/bcm_public.h +1 -1
  1568. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +1 -1
  1569. data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +1 -1
  1570. data/third_party/boringssl-with-bazel/src/include/openssl/blowfish.h +1 -1
  1571. data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +1 -1
  1572. data/third_party/boringssl-with-bazel/src/include/openssl/buf.h +1 -1
  1573. data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +7 -1
  1574. data/third_party/boringssl-with-bazel/src/include/openssl/cast.h +1 -1
  1575. data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +1 -1
  1576. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +1 -1
  1577. data/third_party/boringssl-with-bazel/src/include/openssl/cmac.h +1 -1
  1578. data/third_party/boringssl-with-bazel/src/include/openssl/cms.h +146 -0
  1579. data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +1 -1
  1580. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +23 -3
  1581. data/third_party/boringssl-with-bazel/src/include/openssl/ctrdrbg.h +1 -1
  1582. data/third_party/boringssl-with-bazel/src/include/openssl/curve25519.h +1 -1
  1583. data/third_party/boringssl-with-bazel/src/include/openssl/des.h +1 -1
  1584. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +1 -1
  1585. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +19 -7
  1586. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +1 -1
  1587. data/third_party/boringssl-with-bazel/src/include/openssl/e_os2.h +1 -1
  1588. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +1 -1
  1589. data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +1 -1
  1590. data/third_party/boringssl-with-bazel/src/include/openssl/ecdh.h +1 -1
  1591. data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +1 -1
  1592. data/third_party/boringssl-with-bazel/src/include/openssl/engine.h +1 -1
  1593. data/third_party/boringssl-with-bazel/src/include/openssl/err.h +2 -1
  1594. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +1 -1
  1595. data/third_party/boringssl-with-bazel/src/include/openssl/ex_data.h +1 -1
  1596. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/kyber.h +1 -1
  1597. data/third_party/boringssl-with-bazel/src/include/openssl/hkdf.h +1 -1
  1598. data/third_party/boringssl-with-bazel/src/include/openssl/hmac.h +1 -1
  1599. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +4 -4
  1600. data/third_party/boringssl-with-bazel/src/include/openssl/hrss.h +1 -1
  1601. data/third_party/boringssl-with-bazel/src/include/openssl/kdf.h +1 -1
  1602. data/third_party/boringssl-with-bazel/src/include/openssl/lhash.h +1 -1
  1603. data/third_party/boringssl-with-bazel/src/include/openssl/md4.h +1 -1
  1604. data/third_party/boringssl-with-bazel/src/include/openssl/md5.h +1 -1
  1605. data/third_party/boringssl-with-bazel/src/include/openssl/mem.h +1 -1
  1606. data/third_party/boringssl-with-bazel/src/include/openssl/mldsa.h +1 -1
  1607. data/third_party/boringssl-with-bazel/src/include/openssl/mlkem.h +1 -1
  1608. data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +1 -1
  1609. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +1 -1
  1610. data/third_party/boringssl-with-bazel/src/include/openssl/obj_mac.h +1 -1
  1611. data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +10 -4
  1612. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +1 -1
  1613. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +19 -6
  1614. data/third_party/boringssl-with-bazel/src/include/openssl/poly1305.h +1 -1
  1615. data/third_party/boringssl-with-bazel/src/include/openssl/pool.h +1 -1
  1616. data/third_party/boringssl-with-bazel/src/include/openssl/posix_time.h +1 -1
  1617. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +2 -2
  1618. data/third_party/boringssl-with-bazel/src/include/openssl/rc4.h +1 -1
  1619. data/third_party/boringssl-with-bazel/src/include/openssl/ripemd.h +1 -1
  1620. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +2 -2
  1621. data/third_party/boringssl-with-bazel/src/include/openssl/service_indicator.h +1 -1
  1622. data/third_party/boringssl-with-bazel/src/include/openssl/sha.h +1 -1
  1623. data/third_party/boringssl-with-bazel/src/include/openssl/siphash.h +1 -1
  1624. data/third_party/boringssl-with-bazel/src/include/openssl/slhdsa.h +1 -1
  1625. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +1 -1
  1626. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +291 -40
  1627. data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +1 -1
  1628. data/third_party/boringssl-with-bazel/src/include/openssl/target.h +0 -5
  1629. data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +1 -1
  1630. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +9 -1
  1631. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +1 -1
  1632. data/third_party/boringssl-with-bazel/src/include/openssl/type_check.h +1 -1
  1633. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +7 -4
  1634. data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +2 -0
  1635. data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +32 -26
  1636. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +49 -49
  1637. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +256 -57
  1638. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +12 -12
  1639. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +7 -5
  1640. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +3 -2
  1641. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +25 -33
  1642. data/third_party/boringssl-with-bazel/src/ssl/internal.h +106 -10
  1643. data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +6 -12
  1644. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +18 -4
  1645. data/third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc +85 -8
  1646. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +1 -1
  1647. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +173 -19
  1648. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +5 -18
  1649. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +28 -15
  1650. data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +1 -1
  1651. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +31 -7
  1652. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +14 -2
  1653. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +7 -11
  1654. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +14 -12
  1655. data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +2 -5
  1656. data/third_party/cares/cares/include/ares.h +925 -460
  1657. data/third_party/cares/cares/include/ares_dns.h +86 -71
  1658. data/third_party/cares/cares/include/ares_dns_record.h +1118 -0
  1659. data/third_party/cares/cares/include/ares_nameser.h +215 -189
  1660. data/third_party/cares/cares/include/ares_version.h +37 -14
  1661. data/third_party/cares/cares/src/lib/ares_addrinfo2hostent.c +305 -0
  1662. data/third_party/cares/cares/src/lib/ares_addrinfo_localhost.c +245 -0
  1663. data/third_party/cares/cares/src/lib/ares_android.c +216 -164
  1664. data/third_party/cares/cares/src/lib/ares_android.h +25 -14
  1665. data/third_party/cares/cares/src/lib/ares_cancel.c +68 -44
  1666. data/third_party/cares/cares/src/lib/ares_close_sockets.c +137 -0
  1667. data/third_party/cares/cares/src/lib/ares_conn.c +511 -0
  1668. data/third_party/cares/cares/src/lib/ares_conn.h +196 -0
  1669. data/third_party/cares/cares/src/lib/ares_cookie.c +461 -0
  1670. data/third_party/cares/cares/src/lib/ares_data.c +93 -181
  1671. data/third_party/cares/cares/src/lib/ares_data.h +50 -39
  1672. data/third_party/cares/cares/src/lib/ares_destroy.c +127 -89
  1673. data/third_party/cares/cares/src/lib/ares_free_hostent.c +35 -24
  1674. data/third_party/cares/cares/src/lib/ares_free_string.c +24 -16
  1675. data/third_party/cares/cares/src/lib/ares_freeaddrinfo.c +45 -38
  1676. data/third_party/cares/cares/src/lib/ares_getaddrinfo.c +549 -663
  1677. data/third_party/cares/cares/src/lib/ares_getenv.c +25 -15
  1678. data/third_party/cares/cares/src/lib/ares_getenv.h +26 -18
  1679. data/third_party/cares/cares/src/lib/ares_gethostbyaddr.c +163 -221
  1680. data/third_party/cares/cares/src/lib/ares_gethostbyname.c +222 -223
  1681. data/third_party/cares/cares/src/lib/ares_getnameinfo.c +328 -338
  1682. data/third_party/cares/cares/src/lib/ares_hosts_file.c +952 -0
  1683. data/third_party/cares/cares/src/lib/ares_inet_net_pton.h +25 -19
  1684. data/third_party/cares/cares/src/lib/ares_init.c +425 -2091
  1685. data/third_party/cares/cares/src/lib/ares_ipv6.h +63 -33
  1686. data/third_party/cares/cares/src/lib/ares_library_init.c +110 -54
  1687. data/third_party/cares/cares/src/lib/ares_metrics.c +261 -0
  1688. data/third_party/cares/cares/src/lib/ares_options.c +418 -332
  1689. data/third_party/cares/cares/src/lib/ares_parse_into_addrinfo.c +179 -0
  1690. data/third_party/cares/cares/src/lib/ares_private.h +558 -356
  1691. data/third_party/cares/cares/src/lib/ares_process.c +1224 -1369
  1692. data/third_party/cares/cares/src/lib/ares_qcache.c +430 -0
  1693. data/third_party/cares/cares/src/lib/ares_query.c +126 -121
  1694. data/third_party/cares/cares/src/lib/ares_search.c +564 -262
  1695. data/third_party/cares/cares/src/lib/ares_send.c +264 -93
  1696. data/third_party/cares/cares/src/lib/ares_set_socket_functions.c +588 -0
  1697. data/third_party/cares/cares/src/lib/ares_setup.h +115 -111
  1698. data/third_party/cares/cares/src/lib/ares_socket.c +425 -0
  1699. data/third_party/cares/cares/src/lib/ares_socket.h +163 -0
  1700. data/third_party/cares/cares/src/lib/ares_sortaddrinfo.c +447 -0
  1701. data/third_party/cares/cares/src/lib/ares_strerror.c +83 -48
  1702. data/third_party/cares/cares/src/lib/ares_sysconfig.c +639 -0
  1703. data/third_party/cares/cares/src/lib/ares_sysconfig_files.c +839 -0
  1704. data/third_party/cares/cares/src/lib/ares_sysconfig_mac.c +373 -0
  1705. data/third_party/cares/cares/src/lib/ares_sysconfig_win.c +621 -0
  1706. data/third_party/cares/cares/src/lib/ares_timeout.c +136 -73
  1707. data/third_party/cares/cares/src/lib/ares_update_servers.c +1362 -0
  1708. data/third_party/cares/cares/src/lib/ares_version.c +29 -4
  1709. data/third_party/cares/cares/src/lib/config-dos.h +88 -89
  1710. data/third_party/cares/cares/src/lib/config-win32.h +122 -77
  1711. data/third_party/cares/cares/src/lib/dsa/ares_array.c +394 -0
  1712. data/third_party/cares/cares/src/lib/dsa/ares_htable.c +447 -0
  1713. data/third_party/cares/cares/src/lib/dsa/ares_htable.h +174 -0
  1714. data/third_party/cares/cares/src/lib/dsa/ares_htable_asvp.c +224 -0
  1715. data/third_party/cares/cares/src/lib/dsa/ares_htable_dict.c +228 -0
  1716. data/third_party/cares/cares/src/lib/dsa/ares_htable_strvp.c +210 -0
  1717. data/third_party/cares/cares/src/lib/dsa/ares_htable_szvp.c +188 -0
  1718. data/third_party/cares/cares/src/lib/dsa/ares_htable_vpstr.c +186 -0
  1719. data/third_party/cares/cares/src/lib/dsa/ares_htable_vpvp.c +194 -0
  1720. data/third_party/cares/cares/src/lib/dsa/ares_llist.c +382 -0
  1721. data/third_party/cares/cares/src/lib/dsa/ares_slist.c +479 -0
  1722. data/third_party/cares/cares/src/lib/dsa/ares_slist.h +207 -0
  1723. data/third_party/cares/cares/src/lib/event/ares_event.h +191 -0
  1724. data/third_party/cares/cares/src/lib/event/ares_event_configchg.c +743 -0
  1725. data/third_party/cares/cares/src/lib/event/ares_event_epoll.c +192 -0
  1726. data/third_party/cares/cares/src/lib/event/ares_event_kqueue.c +248 -0
  1727. data/third_party/cares/cares/src/lib/event/ares_event_poll.c +140 -0
  1728. data/third_party/cares/cares/src/lib/event/ares_event_select.c +159 -0
  1729. data/third_party/cares/cares/src/lib/event/ares_event_thread.c +567 -0
  1730. data/third_party/cares/cares/src/lib/event/ares_event_wake_pipe.c +166 -0
  1731. data/third_party/cares/cares/src/lib/event/ares_event_win32.c +978 -0
  1732. data/third_party/cares/cares/src/lib/event/ares_event_win32.h +161 -0
  1733. data/third_party/cares/cares/src/lib/include/ares_array.h +276 -0
  1734. data/third_party/cares/cares/src/lib/include/ares_buf.h +732 -0
  1735. data/third_party/cares/cares/src/lib/include/ares_htable_asvp.h +130 -0
  1736. data/third_party/cares/cares/src/lib/include/ares_htable_dict.h +123 -0
  1737. data/third_party/cares/cares/src/lib/include/ares_htable_strvp.h +130 -0
  1738. data/third_party/cares/cares/src/lib/include/ares_htable_szvp.h +118 -0
  1739. data/third_party/cares/cares/src/lib/include/ares_htable_vpstr.h +111 -0
  1740. data/third_party/cares/cares/src/lib/include/ares_htable_vpvp.h +128 -0
  1741. data/third_party/cares/cares/src/lib/include/ares_llist.h +239 -0
  1742. data/third_party/cares/cares/src/lib/include/ares_mem.h +38 -0
  1743. data/third_party/cares/cares/src/lib/include/ares_str.h +244 -0
  1744. data/third_party/cares/cares/src/lib/inet_net_pton.c +202 -157
  1745. data/third_party/cares/cares/src/lib/inet_ntop.c +87 -69
  1746. data/third_party/cares/cares/src/lib/legacy/ares_create_query.c +78 -0
  1747. data/third_party/cares/cares/src/lib/legacy/ares_expand_name.c +99 -0
  1748. data/third_party/cares/cares/src/lib/legacy/ares_expand_string.c +107 -0
  1749. data/third_party/cares/cares/src/lib/legacy/ares_fds.c +80 -0
  1750. data/third_party/cares/cares/src/lib/legacy/ares_getsock.c +85 -0
  1751. data/third_party/cares/cares/src/lib/legacy/ares_parse_a_reply.c +107 -0
  1752. data/third_party/cares/cares/src/lib/legacy/ares_parse_aaaa_reply.c +109 -0
  1753. data/third_party/cares/cares/src/lib/legacy/ares_parse_caa_reply.c +137 -0
  1754. data/third_party/cares/cares/src/lib/legacy/ares_parse_mx_reply.c +110 -0
  1755. data/third_party/cares/cares/src/lib/legacy/ares_parse_naptr_reply.c +132 -0
  1756. data/third_party/cares/cares/src/lib/legacy/ares_parse_ns_reply.c +154 -0
  1757. data/third_party/cares/cares/src/lib/legacy/ares_parse_ptr_reply.c +213 -0
  1758. data/third_party/cares/cares/src/lib/legacy/ares_parse_soa_reply.c +115 -0
  1759. data/third_party/cares/cares/src/lib/legacy/ares_parse_srv_reply.c +114 -0
  1760. data/third_party/cares/cares/src/lib/legacy/ares_parse_txt_reply.c +144 -0
  1761. data/third_party/cares/cares/src/lib/legacy/ares_parse_uri_reply.c +113 -0
  1762. data/third_party/cares/cares/src/lib/record/ares_dns_mapping.c +982 -0
  1763. data/third_party/cares/cares/src/lib/record/ares_dns_multistring.c +307 -0
  1764. data/third_party/cares/cares/src/lib/record/ares_dns_multistring.h +72 -0
  1765. data/third_party/cares/cares/src/lib/record/ares_dns_name.c +673 -0
  1766. data/third_party/cares/cares/src/lib/record/ares_dns_parse.c +1329 -0
  1767. data/third_party/cares/cares/src/lib/record/ares_dns_private.h +273 -0
  1768. data/third_party/cares/cares/src/lib/record/ares_dns_record.c +1661 -0
  1769. data/third_party/cares/cares/src/lib/record/ares_dns_write.c +1229 -0
  1770. data/third_party/cares/cares/src/lib/str/ares_buf.c +1498 -0
  1771. data/third_party/cares/cares/src/lib/str/ares_str.c +508 -0
  1772. data/third_party/cares/cares/src/lib/str/ares_strsplit.c +90 -0
  1773. data/third_party/cares/cares/src/lib/str/ares_strsplit.h +51 -0
  1774. data/third_party/cares/cares/src/lib/thirdparty/apple/dnsinfo.h +122 -0
  1775. data/third_party/cares/cares/src/lib/util/ares_iface_ips.c +628 -0
  1776. data/third_party/cares/cares/src/lib/util/ares_iface_ips.h +139 -0
  1777. data/third_party/cares/cares/src/lib/util/ares_math.c +158 -0
  1778. data/third_party/cares/cares/src/lib/util/ares_math.h +45 -0
  1779. data/third_party/cares/cares/src/lib/util/ares_rand.c +389 -0
  1780. data/third_party/cares/cares/src/lib/util/ares_rand.h +36 -0
  1781. data/third_party/cares/cares/src/lib/util/ares_threads.c +614 -0
  1782. data/third_party/cares/cares/src/lib/util/ares_threads.h +60 -0
  1783. data/third_party/cares/cares/src/lib/util/ares_time.h +48 -0
  1784. data/third_party/cares/cares/src/lib/util/ares_timeval.c +95 -0
  1785. data/third_party/cares/cares/src/lib/util/ares_uri.c +1626 -0
  1786. data/third_party/cares/cares/src/lib/util/ares_uri.h +252 -0
  1787. data/third_party/cares/cares/src/lib/windows_port.c +16 -9
  1788. data/third_party/upb/upb/base/internal/log2.h +3 -1
  1789. data/third_party/upb/upb/base/string_view.h +10 -0
  1790. data/third_party/upb/upb/hash/common.c +312 -187
  1791. data/third_party/upb/upb/hash/common.h +44 -43
  1792. data/third_party/upb/upb/hash/int_table.h +29 -5
  1793. data/third_party/upb/upb/hash/str_table.h +6 -0
  1794. data/third_party/upb/upb/json/decode.c +2 -2
  1795. data/third_party/upb/upb/json/decode.h +0 -1
  1796. data/third_party/upb/upb/mem/alloc.h +5 -0
  1797. data/third_party/upb/upb/mem/arena.c +437 -160
  1798. data/third_party/upb/upb/mem/arena.h +57 -11
  1799. data/third_party/upb/upb/mem/arena.hpp +4 -20
  1800. data/third_party/upb/upb/mem/internal/arena.h +65 -29
  1801. data/third_party/upb/upb/message/accessors.c +1 -5
  1802. data/third_party/upb/upb/message/accessors.h +41 -0
  1803. data/third_party/upb/upb/message/array.c +7 -6
  1804. data/third_party/upb/upb/message/array.h +4 -4
  1805. data/third_party/upb/upb/message/compat.c +11 -14
  1806. data/third_party/upb/upb/message/compat.h +4 -3
  1807. data/third_party/upb/upb/message/copy.c +35 -30
  1808. data/third_party/upb/upb/message/internal/accessors.h +142 -13
  1809. data/third_party/upb/upb/message/internal/extension.c +16 -25
  1810. data/third_party/upb/upb/message/internal/extension.h +17 -5
  1811. data/third_party/upb/upb/message/internal/iterator.c +58 -0
  1812. data/third_party/upb/upb/message/internal/iterator.h +29 -0
  1813. data/third_party/upb/upb/message/internal/map.h +76 -22
  1814. data/third_party/upb/upb/message/internal/map_sorter.h +13 -4
  1815. data/third_party/upb/upb/message/internal/message.c +48 -29
  1816. data/third_party/upb/upb/message/internal/message.h +203 -25
  1817. data/third_party/upb/upb/message/map.c +68 -20
  1818. data/third_party/upb/upb/message/map.h +8 -1
  1819. data/third_party/upb/upb/message/map_gencode_util.h +3 -45
  1820. data/third_party/upb/upb/message/map_sorter.c +52 -16
  1821. data/third_party/upb/upb/message/merge.h +3 -3
  1822. data/third_party/upb/upb/message/message.c +200 -42
  1823. data/third_party/upb/upb/message/message.h +69 -4
  1824. data/third_party/upb/upb/message/value.h +9 -0
  1825. data/third_party/upb/upb/mini_descriptor/build_enum.c +16 -6
  1826. data/third_party/upb/upb/mini_descriptor/decode.c +115 -138
  1827. data/third_party/upb/upb/mini_descriptor/decode.h +4 -3
  1828. data/third_party/upb/upb/mini_descriptor/internal/encode.hpp +1 -1
  1829. data/third_party/upb/upb/mini_descriptor/link.c +4 -0
  1830. data/third_party/upb/upb/mini_table/extension.h +8 -1
  1831. data/third_party/upb/upb/mini_table/extension_registry.c +25 -13
  1832. data/third_party/upb/upb/mini_table/extension_registry.h +13 -6
  1833. data/third_party/upb/upb/mini_table/internal/enum.h +1 -1
  1834. data/third_party/upb/upb/mini_table/internal/extension.h +24 -1
  1835. data/third_party/upb/upb/mini_table/internal/field.h +4 -4
  1836. data/third_party/upb/upb/mini_table/internal/message.h +1 -1
  1837. data/third_party/upb/upb/mini_table/message.c +21 -13
  1838. data/third_party/upb/upb/port/atomic.h +134 -7
  1839. data/third_party/upb/upb/port/def.inc +163 -45
  1840. data/third_party/upb/upb/port/undef.inc +12 -1
  1841. data/third_party/upb/upb/reflection/def.hpp +5 -1
  1842. data/third_party/upb/upb/reflection/def_pool.c +10 -3
  1843. data/third_party/upb/upb/reflection/def_pool.h +2 -2
  1844. data/third_party/upb/upb/reflection/descriptor_bootstrap.h +4 -4
  1845. data/third_party/upb/upb/reflection/enum_def.c +4 -4
  1846. data/third_party/upb/upb/reflection/enum_reserved_range.c +1 -1
  1847. data/third_party/upb/upb/reflection/enum_value_def.c +9 -8
  1848. data/third_party/upb/upb/reflection/extension_range.c +1 -2
  1849. data/third_party/upb/upb/reflection/field_def.c +3 -5
  1850. data/third_party/upb/upb/reflection/field_def.h +1 -1
  1851. data/third_party/upb/upb/reflection/file_def.c +16 -10
  1852. data/third_party/upb/upb/reflection/internal/def_builder.c +1 -1
  1853. data/third_party/upb/upb/reflection/internal/def_builder.h +35 -10
  1854. data/third_party/upb/upb/reflection/internal/enum_value_def.h +1 -1
  1855. data/third_party/upb/upb/reflection/internal/upb_edition_defaults.h +1 -1
  1856. data/third_party/upb/upb/reflection/message.c +19 -16
  1857. data/third_party/upb/upb/reflection/message.h +3 -1
  1858. data/third_party/upb/upb/reflection/message_def.c +4 -7
  1859. data/third_party/upb/upb/reflection/message_reserved_range.c +1 -1
  1860. data/third_party/upb/upb/reflection/method_def.c +1 -1
  1861. data/third_party/upb/upb/reflection/oneof_def.c +3 -3
  1862. data/third_party/upb/upb/reflection/service_def.c +2 -5
  1863. data/third_party/upb/upb/text/encode.c +17 -13
  1864. data/third_party/upb/upb/text/internal/encode.c +25 -6
  1865. data/third_party/upb/upb/text/internal/encode.h +6 -1
  1866. data/third_party/upb/upb/wire/decode.c +154 -107
  1867. data/third_party/upb/upb/wire/decode.h +4 -2
  1868. data/third_party/upb/upb/wire/encode.c +114 -55
  1869. data/third_party/upb/upb/wire/encode.h +2 -0
  1870. data/third_party/upb/upb/wire/eps_copy_input_stream.h +18 -20
  1871. data/third_party/upb/upb/wire/internal/decode_fast.c +2 -2
  1872. data/third_party/upb/upb/wire/internal/decode_fast.h +4 -0
  1873. data/third_party/upb/upb/wire/internal/decoder.h +4 -11
  1874. data/third_party/utf8_range/utf8_range.c +15 -275
  1875. data/third_party/utf8_range/utf8_range_neon.inc +117 -0
  1876. data/third_party/utf8_range/utf8_range_sse.inc +272 -0
  1877. data/third_party/zlib/deflate.c +40 -15
  1878. data/third_party/zlib/deflate.h +33 -2
  1879. data/third_party/zlib/gzguts.h +2 -6
  1880. data/third_party/zlib/inflate.c +1 -1
  1881. data/third_party/zlib/inftrees.c +3 -3
  1882. data/third_party/zlib/inftrees.h +2 -2
  1883. data/third_party/zlib/trees.c +18 -4
  1884. data/third_party/zlib/zconf.h +1 -9
  1885. data/third_party/zlib/zlib.h +12 -12
  1886. data/third_party/zlib/zutil.h +4 -25
  1887. metadata +386 -216
  1888. data/include/grpc/grpc_cronet.h +0 -37
  1889. data/src/core/lib/event_engine/forkable.cc +0 -105
  1890. data/src/core/lib/event_engine/forkable.h +0 -67
  1891. data/src/core/lib/iomgr/executor.cc +0 -441
  1892. data/src/core/lib/iomgr/executor.h +0 -119
  1893. data/src/core/lib/iomgr/python_util.h +0 -46
  1894. data/src/core/lib/transport/http2_errors.h +0 -43
  1895. data/src/core/util/ring_buffer.h +0 -122
  1896. data/third_party/abseil-cpp/absl/base/internal/inline_variable.h +0 -108
  1897. data/third_party/abseil-cpp/absl/base/internal/invoke.h +0 -241
  1898. data/third_party/abseil-cpp/absl/base/internal/nullability_impl.h +0 -108
  1899. data/third_party/abseil-cpp/absl/log/log_entry.cc +0 -41
  1900. data/third_party/abseil-cpp/absl/random/internal/pool_urbg.h +0 -131
  1901. data/third_party/abseil-cpp/absl/types/bad_optional_access.cc +0 -66
  1902. data/third_party/abseil-cpp/absl/types/bad_optional_access.h +0 -78
  1903. data/third_party/abseil-cpp/absl/types/bad_variant_access.cc +0 -82
  1904. data/third_party/abseil-cpp/absl/types/bad_variant_access.h +0 -82
  1905. data/third_party/abseil-cpp/absl/types/internal/optional.h +0 -352
  1906. data/third_party/abseil-cpp/absl/types/internal/variant.h +0 -1622
  1907. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/polyval.cc.inc +0 -89
  1908. data/third_party/cares/cares/include/ares_rules.h +0 -125
  1909. data/third_party/cares/cares/src/lib/ares__addrinfo2hostent.c +0 -266
  1910. data/third_party/cares/cares/src/lib/ares__addrinfo_localhost.c +0 -240
  1911. data/third_party/cares/cares/src/lib/ares__close_sockets.c +0 -61
  1912. data/third_party/cares/cares/src/lib/ares__get_hostent.c +0 -260
  1913. data/third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c +0 -229
  1914. data/third_party/cares/cares/src/lib/ares__read_line.c +0 -73
  1915. data/third_party/cares/cares/src/lib/ares__readaddrinfo.c +0 -258
  1916. data/third_party/cares/cares/src/lib/ares__sortaddrinfo.c +0 -507
  1917. data/third_party/cares/cares/src/lib/ares__timeval.c +0 -111
  1918. data/third_party/cares/cares/src/lib/ares_create_query.c +0 -197
  1919. data/third_party/cares/cares/src/lib/ares_expand_name.c +0 -311
  1920. data/third_party/cares/cares/src/lib/ares_expand_string.c +0 -67
  1921. data/third_party/cares/cares/src/lib/ares_fds.c +0 -59
  1922. data/third_party/cares/cares/src/lib/ares_getsock.c +0 -66
  1923. data/third_party/cares/cares/src/lib/ares_iphlpapi.h +0 -221
  1924. data/third_party/cares/cares/src/lib/ares_llist.c +0 -63
  1925. data/third_party/cares/cares/src/lib/ares_llist.h +0 -39
  1926. data/third_party/cares/cares/src/lib/ares_mkquery.c +0 -24
  1927. data/third_party/cares/cares/src/lib/ares_nowarn.c +0 -260
  1928. data/third_party/cares/cares/src/lib/ares_nowarn.h +0 -61
  1929. data/third_party/cares/cares/src/lib/ares_parse_a_reply.c +0 -90
  1930. data/third_party/cares/cares/src/lib/ares_parse_aaaa_reply.c +0 -92
  1931. data/third_party/cares/cares/src/lib/ares_parse_caa_reply.c +0 -199
  1932. data/third_party/cares/cares/src/lib/ares_parse_mx_reply.c +0 -164
  1933. data/third_party/cares/cares/src/lib/ares_parse_naptr_reply.c +0 -183
  1934. data/third_party/cares/cares/src/lib/ares_parse_ns_reply.c +0 -177
  1935. data/third_party/cares/cares/src/lib/ares_parse_ptr_reply.c +0 -228
  1936. data/third_party/cares/cares/src/lib/ares_parse_soa_reply.c +0 -179
  1937. data/third_party/cares/cares/src/lib/ares_parse_srv_reply.c +0 -168
  1938. data/third_party/cares/cares/src/lib/ares_parse_txt_reply.c +0 -214
  1939. data/third_party/cares/cares/src/lib/ares_parse_uri_reply.c +0 -184
  1940. data/third_party/cares/cares/src/lib/ares_platform.c +0 -11042
  1941. data/third_party/cares/cares/src/lib/ares_platform.h +0 -43
  1942. data/third_party/cares/cares/src/lib/ares_rand.c +0 -279
  1943. data/third_party/cares/cares/src/lib/ares_strcasecmp.c +0 -66
  1944. data/third_party/cares/cares/src/lib/ares_strcasecmp.h +0 -30
  1945. data/third_party/cares/cares/src/lib/ares_strdup.c +0 -42
  1946. data/third_party/cares/cares/src/lib/ares_strdup.h +0 -24
  1947. data/third_party/cares/cares/src/lib/ares_strsplit.c +0 -94
  1948. data/third_party/cares/cares/src/lib/ares_strsplit.h +0 -42
  1949. data/third_party/cares/cares/src/lib/ares_writev.c +0 -79
  1950. data/third_party/cares/cares/src/lib/ares_writev.h +0 -36
  1951. data/third_party/cares/cares/src/lib/bitncmp.c +0 -59
  1952. data/third_party/cares/cares/src/lib/bitncmp.h +0 -26
  1953. data/third_party/cares/cares/src/lib/setup_once.h +0 -554
  1954. data/third_party/cares/cares/src/tools/ares_getopt.h +0 -53
  1955. data/third_party/upb/upb/message/internal/compare_unknown.c +0 -289
  1956. data/third_party/upb/upb/message/internal/compare_unknown.h +0 -49
@@ -57,169 +57,238 @@ 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; }
62
60
  #define GRPC_EXPERIMENT_IS_INCLUDED_CALL_TRACER_IN_TRANSPORT
63
61
  inline bool IsCallTracerInTransportEnabled() { return true; }
64
- #define GRPC_EXPERIMENT_IS_INCLUDED_CALL_TRACER_TRANSPORT_FIX
65
- inline bool IsCallTracerTransportFixEnabled() { return true; }
66
- inline bool IsCallv3ClientAuthFilterEnabled() { return false; }
67
- inline bool IsEventEngineClientEnabled() { return false; }
68
- inline bool IsEventEngineDnsEnabled() { return false; }
69
- inline bool IsEventEngineDnsNonClientChannelEnabled() { return false; }
70
- inline bool IsEventEngineListenerEnabled() { return false; }
62
+ inline bool IsChannelzUseV2ForV1ApiEnabled() { return false; }
63
+ inline bool IsChannelzUseV2ForV1ServiceEnabled() { return false; }
64
+ #define GRPC_EXPERIMENT_IS_INCLUDED_CHAOTIC_GOOD_FRAMING_LAYER
65
+ inline bool IsChaoticGoodFramingLayerEnabled() { return true; }
66
+ inline bool IsChttp2BoundWriteSizeEnabled() { return false; }
67
+ inline bool IsErrorFlattenEnabled() { return false; }
68
+ #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_CLIENT
69
+ inline bool IsEventEngineClientEnabled() { return true; }
70
+ #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_DNS
71
+ inline bool IsEventEngineDnsEnabled() { return true; }
72
+ #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_DNS_NON_CLIENT_CHANNEL
73
+ inline bool IsEventEngineDnsNonClientChannelEnabled() { return true; }
74
+ inline bool IsEventEngineForkEnabled() { return false; }
75
+ #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_LISTENER
76
+ inline bool IsEventEngineListenerEnabled() { return true; }
71
77
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_CALLBACK_CQ
72
78
  inline bool IsEventEngineCallbackCqEnabled() { return true; }
79
+ #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_FOR_ALL_OTHER_ENDPOINTS
80
+ inline bool IsEventEngineForAllOtherEndpointsEnabled() { return true; }
81
+ #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_SECURE_ENDPOINT
82
+ inline bool IsEventEngineSecureEndpointEnabled() { return true; }
73
83
  inline bool IsFreeLargeAllocatorEnabled() { return false; }
84
+ inline bool IsFuseFiltersEnabled() { return false; }
74
85
  inline bool IsKeepAlivePingTimerBatchEnabled() { return false; }
75
86
  inline bool IsLocalConnectorSecureEnabled() { return false; }
76
- #define GRPC_EXPERIMENT_IS_INCLUDED_MAX_PINGS_WO_DATA_THROTTLE
77
- inline bool IsMaxPingsWoDataThrottleEnabled() { return true; }
87
+ #define GRPC_EXPERIMENT_IS_INCLUDED_MAX_INFLIGHT_PINGS_STRICT_LIMIT
88
+ inline bool IsMaxInflightPingsStrictLimitEnabled() { return true; }
78
89
  #define GRPC_EXPERIMENT_IS_INCLUDED_MONITORING_EXPERIMENT
79
90
  inline bool IsMonitoringExperimentEnabled() { return true; }
80
91
  inline bool IsMultipingEnabled() { return false; }
81
- #define GRPC_EXPERIMENT_IS_INCLUDED_PICK_FIRST_NEW
82
- inline bool IsPickFirstNewEnabled() { return true; }
83
- inline bool IsPosixEeSkipGrpcInitEnabled() { return false; }
92
+ inline bool IsPickFirstIgnoreEmptyUpdatesEnabled() { return false; }
93
+ inline bool IsPipelinedReadSecureEndpointEnabled() { return false; }
94
+ inline bool IsPollsetAlternativeEnabled() { return false; }
95
+ inline bool IsPrioritizeFinishedRequestsEnabled() { return false; }
84
96
  inline bool IsPromiseBasedHttp2ClientTransportEnabled() { return false; }
85
97
  inline bool IsPromiseBasedHttp2ServerTransportEnabled() { return false; }
86
98
  inline bool IsPromiseBasedInprocTransportEnabled() { return false; }
87
99
  inline bool IsRetryInCallv3Enabled() { return false; }
88
- inline bool IsRqFastRejectEnabled() { return false; }
100
+ inline bool IsRrWrrConnectFromRandomIndexEnabled() { return false; }
89
101
  inline bool IsScheduleCancellationOverWriteEnabled() { return false; }
90
- #define GRPC_EXPERIMENT_IS_INCLUDED_SERVER_LISTENER
91
- inline bool IsServerListenerEnabled() { return true; }
102
+ inline bool IsSecureEndpointOffloadLargeReadsEnabled() { return false; }
103
+ inline bool IsSecureEndpointOffloadLargeWritesEnabled() { return false; }
104
+ #define GRPC_EXPERIMENT_IS_INCLUDED_SERVER_GLOBAL_CALLBACKS_OWNERSHIP
105
+ inline bool IsServerGlobalCallbacksOwnershipEnabled() { return true; }
106
+ #define GRPC_EXPERIMENT_IS_INCLUDED_SHARD_GLOBAL_CONNECTION_POOL
107
+ inline bool IsShardGlobalConnectionPoolEnabled() { return true; }
108
+ inline bool IsSleepPromiseExecCtxRemovalEnabled() { return false; }
92
109
  inline bool IsTcpFrameSizeTuningEnabled() { return false; }
93
110
  inline bool IsTcpRcvLowatEnabled() { return false; }
111
+ inline bool IsTsiFrameProtectorWithoutLocksEnabled() { return false; }
94
112
  inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; }
95
113
 
96
114
  #elif defined(GPR_WINDOWS)
97
- #define GRPC_EXPERIMENT_IS_INCLUDED_BACKOFF_CAP_INITIAL_AT_MAX
98
- inline bool IsBackoffCapInitialAtMaxEnabled() { return true; }
99
115
  #define GRPC_EXPERIMENT_IS_INCLUDED_CALL_TRACER_IN_TRANSPORT
100
116
  inline bool IsCallTracerInTransportEnabled() { return true; }
101
- #define GRPC_EXPERIMENT_IS_INCLUDED_CALL_TRACER_TRANSPORT_FIX
102
- inline bool IsCallTracerTransportFixEnabled() { return true; }
103
- inline bool IsCallv3ClientAuthFilterEnabled() { return false; }
117
+ inline bool IsChannelzUseV2ForV1ApiEnabled() { return false; }
118
+ inline bool IsChannelzUseV2ForV1ServiceEnabled() { return false; }
119
+ #define GRPC_EXPERIMENT_IS_INCLUDED_CHAOTIC_GOOD_FRAMING_LAYER
120
+ inline bool IsChaoticGoodFramingLayerEnabled() { return true; }
121
+ inline bool IsChttp2BoundWriteSizeEnabled() { return false; }
122
+ inline bool IsErrorFlattenEnabled() { return false; }
104
123
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_CLIENT
105
124
  inline bool IsEventEngineClientEnabled() { return true; }
106
125
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_DNS
107
126
  inline bool IsEventEngineDnsEnabled() { return true; }
108
- inline bool IsEventEngineDnsNonClientChannelEnabled() { return false; }
127
+ #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_DNS_NON_CLIENT_CHANNEL
128
+ inline bool IsEventEngineDnsNonClientChannelEnabled() { return true; }
129
+ inline bool IsEventEngineForkEnabled() { return false; }
109
130
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_LISTENER
110
131
  inline bool IsEventEngineListenerEnabled() { return true; }
111
132
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_CALLBACK_CQ
112
133
  inline bool IsEventEngineCallbackCqEnabled() { return true; }
134
+ #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_FOR_ALL_OTHER_ENDPOINTS
135
+ inline bool IsEventEngineForAllOtherEndpointsEnabled() { return true; }
136
+ #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_SECURE_ENDPOINT
137
+ inline bool IsEventEngineSecureEndpointEnabled() { return true; }
113
138
  inline bool IsFreeLargeAllocatorEnabled() { return false; }
139
+ inline bool IsFuseFiltersEnabled() { return false; }
114
140
  inline bool IsKeepAlivePingTimerBatchEnabled() { return false; }
115
141
  inline bool IsLocalConnectorSecureEnabled() { return false; }
116
- #define GRPC_EXPERIMENT_IS_INCLUDED_MAX_PINGS_WO_DATA_THROTTLE
117
- inline bool IsMaxPingsWoDataThrottleEnabled() { return true; }
142
+ #define GRPC_EXPERIMENT_IS_INCLUDED_MAX_INFLIGHT_PINGS_STRICT_LIMIT
143
+ inline bool IsMaxInflightPingsStrictLimitEnabled() { return true; }
118
144
  #define GRPC_EXPERIMENT_IS_INCLUDED_MONITORING_EXPERIMENT
119
145
  inline bool IsMonitoringExperimentEnabled() { return true; }
120
146
  inline bool IsMultipingEnabled() { return false; }
121
- #define GRPC_EXPERIMENT_IS_INCLUDED_PICK_FIRST_NEW
122
- inline bool IsPickFirstNewEnabled() { return true; }
123
- inline bool IsPosixEeSkipGrpcInitEnabled() { return false; }
147
+ inline bool IsPickFirstIgnoreEmptyUpdatesEnabled() { return false; }
148
+ inline bool IsPipelinedReadSecureEndpointEnabled() { return false; }
149
+ inline bool IsPollsetAlternativeEnabled() { return false; }
150
+ inline bool IsPrioritizeFinishedRequestsEnabled() { return false; }
124
151
  inline bool IsPromiseBasedHttp2ClientTransportEnabled() { return false; }
125
152
  inline bool IsPromiseBasedHttp2ServerTransportEnabled() { return false; }
126
153
  inline bool IsPromiseBasedInprocTransportEnabled() { return false; }
127
154
  inline bool IsRetryInCallv3Enabled() { return false; }
128
- inline bool IsRqFastRejectEnabled() { return false; }
155
+ inline bool IsRrWrrConnectFromRandomIndexEnabled() { return false; }
129
156
  inline bool IsScheduleCancellationOverWriteEnabled() { return false; }
130
- #define GRPC_EXPERIMENT_IS_INCLUDED_SERVER_LISTENER
131
- inline bool IsServerListenerEnabled() { return true; }
157
+ inline bool IsSecureEndpointOffloadLargeReadsEnabled() { return false; }
158
+ inline bool IsSecureEndpointOffloadLargeWritesEnabled() { return false; }
159
+ #define GRPC_EXPERIMENT_IS_INCLUDED_SERVER_GLOBAL_CALLBACKS_OWNERSHIP
160
+ inline bool IsServerGlobalCallbacksOwnershipEnabled() { return true; }
161
+ #define GRPC_EXPERIMENT_IS_INCLUDED_SHARD_GLOBAL_CONNECTION_POOL
162
+ inline bool IsShardGlobalConnectionPoolEnabled() { return true; }
163
+ inline bool IsSleepPromiseExecCtxRemovalEnabled() { return false; }
132
164
  inline bool IsTcpFrameSizeTuningEnabled() { return false; }
133
165
  inline bool IsTcpRcvLowatEnabled() { return false; }
166
+ inline bool IsTsiFrameProtectorWithoutLocksEnabled() { return false; }
134
167
  inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; }
135
168
 
136
169
  #else
137
- #define GRPC_EXPERIMENT_IS_INCLUDED_BACKOFF_CAP_INITIAL_AT_MAX
138
- inline bool IsBackoffCapInitialAtMaxEnabled() { return true; }
139
170
  #define GRPC_EXPERIMENT_IS_INCLUDED_CALL_TRACER_IN_TRANSPORT
140
171
  inline bool IsCallTracerInTransportEnabled() { return true; }
141
- #define GRPC_EXPERIMENT_IS_INCLUDED_CALL_TRACER_TRANSPORT_FIX
142
- inline bool IsCallTracerTransportFixEnabled() { return true; }
143
- inline bool IsCallv3ClientAuthFilterEnabled() { return false; }
172
+ inline bool IsChannelzUseV2ForV1ApiEnabled() { return false; }
173
+ inline bool IsChannelzUseV2ForV1ServiceEnabled() { return false; }
174
+ #define GRPC_EXPERIMENT_IS_INCLUDED_CHAOTIC_GOOD_FRAMING_LAYER
175
+ inline bool IsChaoticGoodFramingLayerEnabled() { return true; }
176
+ inline bool IsChttp2BoundWriteSizeEnabled() { return false; }
177
+ inline bool IsErrorFlattenEnabled() { return false; }
144
178
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_CLIENT
145
179
  inline bool IsEventEngineClientEnabled() { return true; }
146
180
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_DNS
147
181
  inline bool IsEventEngineDnsEnabled() { return true; }
148
- inline bool IsEventEngineDnsNonClientChannelEnabled() { return false; }
182
+ #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_DNS_NON_CLIENT_CHANNEL
183
+ inline bool IsEventEngineDnsNonClientChannelEnabled() { return true; }
184
+ inline bool IsEventEngineForkEnabled() { return false; }
149
185
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_LISTENER
150
186
  inline bool IsEventEngineListenerEnabled() { return true; }
151
187
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_CALLBACK_CQ
152
188
  inline bool IsEventEngineCallbackCqEnabled() { return true; }
189
+ #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_FOR_ALL_OTHER_ENDPOINTS
190
+ inline bool IsEventEngineForAllOtherEndpointsEnabled() { return true; }
191
+ #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_SECURE_ENDPOINT
192
+ inline bool IsEventEngineSecureEndpointEnabled() { return true; }
153
193
  inline bool IsFreeLargeAllocatorEnabled() { return false; }
194
+ inline bool IsFuseFiltersEnabled() { return false; }
154
195
  inline bool IsKeepAlivePingTimerBatchEnabled() { return false; }
155
196
  inline bool IsLocalConnectorSecureEnabled() { return false; }
156
- #define GRPC_EXPERIMENT_IS_INCLUDED_MAX_PINGS_WO_DATA_THROTTLE
157
- inline bool IsMaxPingsWoDataThrottleEnabled() { return true; }
197
+ #define GRPC_EXPERIMENT_IS_INCLUDED_MAX_INFLIGHT_PINGS_STRICT_LIMIT
198
+ inline bool IsMaxInflightPingsStrictLimitEnabled() { return true; }
158
199
  #define GRPC_EXPERIMENT_IS_INCLUDED_MONITORING_EXPERIMENT
159
200
  inline bool IsMonitoringExperimentEnabled() { return true; }
160
201
  inline bool IsMultipingEnabled() { return false; }
161
- #define GRPC_EXPERIMENT_IS_INCLUDED_PICK_FIRST_NEW
162
- inline bool IsPickFirstNewEnabled() { return true; }
163
- inline bool IsPosixEeSkipGrpcInitEnabled() { return false; }
202
+ inline bool IsPickFirstIgnoreEmptyUpdatesEnabled() { return false; }
203
+ inline bool IsPipelinedReadSecureEndpointEnabled() { return false; }
204
+ inline bool IsPollsetAlternativeEnabled() { return false; }
205
+ inline bool IsPrioritizeFinishedRequestsEnabled() { return false; }
164
206
  inline bool IsPromiseBasedHttp2ClientTransportEnabled() { return false; }
165
207
  inline bool IsPromiseBasedHttp2ServerTransportEnabled() { return false; }
166
208
  inline bool IsPromiseBasedInprocTransportEnabled() { return false; }
167
209
  inline bool IsRetryInCallv3Enabled() { return false; }
168
- inline bool IsRqFastRejectEnabled() { return false; }
210
+ inline bool IsRrWrrConnectFromRandomIndexEnabled() { return false; }
169
211
  inline bool IsScheduleCancellationOverWriteEnabled() { return false; }
170
- #define GRPC_EXPERIMENT_IS_INCLUDED_SERVER_LISTENER
171
- inline bool IsServerListenerEnabled() { return true; }
212
+ inline bool IsSecureEndpointOffloadLargeReadsEnabled() { return false; }
213
+ inline bool IsSecureEndpointOffloadLargeWritesEnabled() { return false; }
214
+ #define GRPC_EXPERIMENT_IS_INCLUDED_SERVER_GLOBAL_CALLBACKS_OWNERSHIP
215
+ inline bool IsServerGlobalCallbacksOwnershipEnabled() { return true; }
216
+ #define GRPC_EXPERIMENT_IS_INCLUDED_SHARD_GLOBAL_CONNECTION_POOL
217
+ inline bool IsShardGlobalConnectionPoolEnabled() { return true; }
218
+ inline bool IsSleepPromiseExecCtxRemovalEnabled() { return false; }
172
219
  inline bool IsTcpFrameSizeTuningEnabled() { return false; }
173
220
  inline bool IsTcpRcvLowatEnabled() { return false; }
221
+ inline bool IsTsiFrameProtectorWithoutLocksEnabled() { return false; }
174
222
  inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; }
175
223
  #endif
176
224
 
177
225
  #else
178
226
  enum ExperimentIds {
179
- kExperimentIdBackoffCapInitialAtMax,
180
227
  kExperimentIdCallTracerInTransport,
181
- kExperimentIdCallTracerTransportFix,
182
- kExperimentIdCallv3ClientAuthFilter,
228
+ kExperimentIdChannelzUseV2ForV1Api,
229
+ kExperimentIdChannelzUseV2ForV1Service,
230
+ kExperimentIdChaoticGoodFramingLayer,
231
+ kExperimentIdChttp2BoundWriteSize,
232
+ kExperimentIdErrorFlatten,
183
233
  kExperimentIdEventEngineClient,
184
234
  kExperimentIdEventEngineDns,
185
235
  kExperimentIdEventEngineDnsNonClientChannel,
236
+ kExperimentIdEventEngineFork,
186
237
  kExperimentIdEventEngineListener,
187
238
  kExperimentIdEventEngineCallbackCq,
239
+ kExperimentIdEventEngineForAllOtherEndpoints,
240
+ kExperimentIdEventEngineSecureEndpoint,
188
241
  kExperimentIdFreeLargeAllocator,
242
+ kExperimentIdFuseFilters,
189
243
  kExperimentIdKeepAlivePingTimerBatch,
190
244
  kExperimentIdLocalConnectorSecure,
191
- kExperimentIdMaxPingsWoDataThrottle,
245
+ kExperimentIdMaxInflightPingsStrictLimit,
192
246
  kExperimentIdMonitoringExperiment,
193
247
  kExperimentIdMultiping,
194
- kExperimentIdPickFirstNew,
195
- kExperimentIdPosixEeSkipGrpcInit,
248
+ kExperimentIdPickFirstIgnoreEmptyUpdates,
249
+ kExperimentIdPipelinedReadSecureEndpoint,
250
+ kExperimentIdPollsetAlternative,
251
+ kExperimentIdPrioritizeFinishedRequests,
196
252
  kExperimentIdPromiseBasedHttp2ClientTransport,
197
253
  kExperimentIdPromiseBasedHttp2ServerTransport,
198
254
  kExperimentIdPromiseBasedInprocTransport,
199
255
  kExperimentIdRetryInCallv3,
200
- kExperimentIdRqFastReject,
256
+ kExperimentIdRrWrrConnectFromRandomIndex,
201
257
  kExperimentIdScheduleCancellationOverWrite,
202
- kExperimentIdServerListener,
258
+ kExperimentIdSecureEndpointOffloadLargeReads,
259
+ kExperimentIdSecureEndpointOffloadLargeWrites,
260
+ kExperimentIdServerGlobalCallbacksOwnership,
261
+ kExperimentIdShardGlobalConnectionPool,
262
+ kExperimentIdSleepPromiseExecCtxRemoval,
203
263
  kExperimentIdTcpFrameSizeTuning,
204
264
  kExperimentIdTcpRcvLowat,
265
+ kExperimentIdTsiFrameProtectorWithoutLocks,
205
266
  kExperimentIdUnconstrainedMaxQuotaBufferSize,
206
267
  kNumExperiments
207
268
  };
208
- #define GRPC_EXPERIMENT_IS_INCLUDED_BACKOFF_CAP_INITIAL_AT_MAX
209
- inline bool IsBackoffCapInitialAtMaxEnabled() {
210
- return IsExperimentEnabled<kExperimentIdBackoffCapInitialAtMax>();
211
- }
212
269
  #define GRPC_EXPERIMENT_IS_INCLUDED_CALL_TRACER_IN_TRANSPORT
213
270
  inline bool IsCallTracerInTransportEnabled() {
214
271
  return IsExperimentEnabled<kExperimentIdCallTracerInTransport>();
215
272
  }
216
- #define GRPC_EXPERIMENT_IS_INCLUDED_CALL_TRACER_TRANSPORT_FIX
217
- inline bool IsCallTracerTransportFixEnabled() {
218
- return IsExperimentEnabled<kExperimentIdCallTracerTransportFix>();
273
+ #define GRPC_EXPERIMENT_IS_INCLUDED_CHANNELZ_USE_V2_FOR_V1_API
274
+ inline bool IsChannelzUseV2ForV1ApiEnabled() {
275
+ return IsExperimentEnabled<kExperimentIdChannelzUseV2ForV1Api>();
276
+ }
277
+ #define GRPC_EXPERIMENT_IS_INCLUDED_CHANNELZ_USE_V2_FOR_V1_SERVICE
278
+ inline bool IsChannelzUseV2ForV1ServiceEnabled() {
279
+ return IsExperimentEnabled<kExperimentIdChannelzUseV2ForV1Service>();
280
+ }
281
+ #define GRPC_EXPERIMENT_IS_INCLUDED_CHAOTIC_GOOD_FRAMING_LAYER
282
+ inline bool IsChaoticGoodFramingLayerEnabled() {
283
+ return IsExperimentEnabled<kExperimentIdChaoticGoodFramingLayer>();
219
284
  }
220
- #define GRPC_EXPERIMENT_IS_INCLUDED_CALLV3_CLIENT_AUTH_FILTER
221
- inline bool IsCallv3ClientAuthFilterEnabled() {
222
- return IsExperimentEnabled<kExperimentIdCallv3ClientAuthFilter>();
285
+ #define GRPC_EXPERIMENT_IS_INCLUDED_CHTTP2_BOUND_WRITE_SIZE
286
+ inline bool IsChttp2BoundWriteSizeEnabled() {
287
+ return IsExperimentEnabled<kExperimentIdChttp2BoundWriteSize>();
288
+ }
289
+ #define GRPC_EXPERIMENT_IS_INCLUDED_ERROR_FLATTEN
290
+ inline bool IsErrorFlattenEnabled() {
291
+ return IsExperimentEnabled<kExperimentIdErrorFlatten>();
223
292
  }
224
293
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_CLIENT
225
294
  inline bool IsEventEngineClientEnabled() {
@@ -233,6 +302,10 @@ inline bool IsEventEngineDnsEnabled() {
233
302
  inline bool IsEventEngineDnsNonClientChannelEnabled() {
234
303
  return IsExperimentEnabled<kExperimentIdEventEngineDnsNonClientChannel>();
235
304
  }
305
+ #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_FORK
306
+ inline bool IsEventEngineForkEnabled() {
307
+ return IsExperimentEnabled<kExperimentIdEventEngineFork>();
308
+ }
236
309
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_LISTENER
237
310
  inline bool IsEventEngineListenerEnabled() {
238
311
  return IsExperimentEnabled<kExperimentIdEventEngineListener>();
@@ -241,10 +314,22 @@ inline bool IsEventEngineListenerEnabled() {
241
314
  inline bool IsEventEngineCallbackCqEnabled() {
242
315
  return IsExperimentEnabled<kExperimentIdEventEngineCallbackCq>();
243
316
  }
317
+ #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_FOR_ALL_OTHER_ENDPOINTS
318
+ inline bool IsEventEngineForAllOtherEndpointsEnabled() {
319
+ return IsExperimentEnabled<kExperimentIdEventEngineForAllOtherEndpoints>();
320
+ }
321
+ #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_SECURE_ENDPOINT
322
+ inline bool IsEventEngineSecureEndpointEnabled() {
323
+ return IsExperimentEnabled<kExperimentIdEventEngineSecureEndpoint>();
324
+ }
244
325
  #define GRPC_EXPERIMENT_IS_INCLUDED_FREE_LARGE_ALLOCATOR
245
326
  inline bool IsFreeLargeAllocatorEnabled() {
246
327
  return IsExperimentEnabled<kExperimentIdFreeLargeAllocator>();
247
328
  }
329
+ #define GRPC_EXPERIMENT_IS_INCLUDED_FUSE_FILTERS
330
+ inline bool IsFuseFiltersEnabled() {
331
+ return IsExperimentEnabled<kExperimentIdFuseFilters>();
332
+ }
248
333
  #define GRPC_EXPERIMENT_IS_INCLUDED_KEEP_ALIVE_PING_TIMER_BATCH
249
334
  inline bool IsKeepAlivePingTimerBatchEnabled() {
250
335
  return IsExperimentEnabled<kExperimentIdKeepAlivePingTimerBatch>();
@@ -253,9 +338,9 @@ inline bool IsKeepAlivePingTimerBatchEnabled() {
253
338
  inline bool IsLocalConnectorSecureEnabled() {
254
339
  return IsExperimentEnabled<kExperimentIdLocalConnectorSecure>();
255
340
  }
256
- #define GRPC_EXPERIMENT_IS_INCLUDED_MAX_PINGS_WO_DATA_THROTTLE
257
- inline bool IsMaxPingsWoDataThrottleEnabled() {
258
- return IsExperimentEnabled<kExperimentIdMaxPingsWoDataThrottle>();
341
+ #define GRPC_EXPERIMENT_IS_INCLUDED_MAX_INFLIGHT_PINGS_STRICT_LIMIT
342
+ inline bool IsMaxInflightPingsStrictLimitEnabled() {
343
+ return IsExperimentEnabled<kExperimentIdMaxInflightPingsStrictLimit>();
259
344
  }
260
345
  #define GRPC_EXPERIMENT_IS_INCLUDED_MONITORING_EXPERIMENT
261
346
  inline bool IsMonitoringExperimentEnabled() {
@@ -265,13 +350,21 @@ inline bool IsMonitoringExperimentEnabled() {
265
350
  inline bool IsMultipingEnabled() {
266
351
  return IsExperimentEnabled<kExperimentIdMultiping>();
267
352
  }
268
- #define GRPC_EXPERIMENT_IS_INCLUDED_PICK_FIRST_NEW
269
- inline bool IsPickFirstNewEnabled() {
270
- return IsExperimentEnabled<kExperimentIdPickFirstNew>();
353
+ #define GRPC_EXPERIMENT_IS_INCLUDED_PICK_FIRST_IGNORE_EMPTY_UPDATES
354
+ inline bool IsPickFirstIgnoreEmptyUpdatesEnabled() {
355
+ return IsExperimentEnabled<kExperimentIdPickFirstIgnoreEmptyUpdates>();
356
+ }
357
+ #define GRPC_EXPERIMENT_IS_INCLUDED_PIPELINED_READ_SECURE_ENDPOINT
358
+ inline bool IsPipelinedReadSecureEndpointEnabled() {
359
+ return IsExperimentEnabled<kExperimentIdPipelinedReadSecureEndpoint>();
271
360
  }
272
- #define GRPC_EXPERIMENT_IS_INCLUDED_POSIX_EE_SKIP_GRPC_INIT
273
- inline bool IsPosixEeSkipGrpcInitEnabled() {
274
- return IsExperimentEnabled<kExperimentIdPosixEeSkipGrpcInit>();
361
+ #define GRPC_EXPERIMENT_IS_INCLUDED_POLLSET_ALTERNATIVE
362
+ inline bool IsPollsetAlternativeEnabled() {
363
+ return IsExperimentEnabled<kExperimentIdPollsetAlternative>();
364
+ }
365
+ #define GRPC_EXPERIMENT_IS_INCLUDED_PRIORITIZE_FINISHED_REQUESTS
366
+ inline bool IsPrioritizeFinishedRequestsEnabled() {
367
+ return IsExperimentEnabled<kExperimentIdPrioritizeFinishedRequests>();
275
368
  }
276
369
  #define GRPC_EXPERIMENT_IS_INCLUDED_PROMISE_BASED_HTTP2_CLIENT_TRANSPORT
277
370
  inline bool IsPromiseBasedHttp2ClientTransportEnabled() {
@@ -289,17 +382,33 @@ inline bool IsPromiseBasedInprocTransportEnabled() {
289
382
  inline bool IsRetryInCallv3Enabled() {
290
383
  return IsExperimentEnabled<kExperimentIdRetryInCallv3>();
291
384
  }
292
- #define GRPC_EXPERIMENT_IS_INCLUDED_RQ_FAST_REJECT
293
- inline bool IsRqFastRejectEnabled() {
294
- return IsExperimentEnabled<kExperimentIdRqFastReject>();
385
+ #define GRPC_EXPERIMENT_IS_INCLUDED_RR_WRR_CONNECT_FROM_RANDOM_INDEX
386
+ inline bool IsRrWrrConnectFromRandomIndexEnabled() {
387
+ return IsExperimentEnabled<kExperimentIdRrWrrConnectFromRandomIndex>();
295
388
  }
296
389
  #define GRPC_EXPERIMENT_IS_INCLUDED_SCHEDULE_CANCELLATION_OVER_WRITE
297
390
  inline bool IsScheduleCancellationOverWriteEnabled() {
298
391
  return IsExperimentEnabled<kExperimentIdScheduleCancellationOverWrite>();
299
392
  }
300
- #define GRPC_EXPERIMENT_IS_INCLUDED_SERVER_LISTENER
301
- inline bool IsServerListenerEnabled() {
302
- return IsExperimentEnabled<kExperimentIdServerListener>();
393
+ #define GRPC_EXPERIMENT_IS_INCLUDED_SECURE_ENDPOINT_OFFLOAD_LARGE_READS
394
+ inline bool IsSecureEndpointOffloadLargeReadsEnabled() {
395
+ return IsExperimentEnabled<kExperimentIdSecureEndpointOffloadLargeReads>();
396
+ }
397
+ #define GRPC_EXPERIMENT_IS_INCLUDED_SECURE_ENDPOINT_OFFLOAD_LARGE_WRITES
398
+ inline bool IsSecureEndpointOffloadLargeWritesEnabled() {
399
+ return IsExperimentEnabled<kExperimentIdSecureEndpointOffloadLargeWrites>();
400
+ }
401
+ #define GRPC_EXPERIMENT_IS_INCLUDED_SERVER_GLOBAL_CALLBACKS_OWNERSHIP
402
+ inline bool IsServerGlobalCallbacksOwnershipEnabled() {
403
+ return IsExperimentEnabled<kExperimentIdServerGlobalCallbacksOwnership>();
404
+ }
405
+ #define GRPC_EXPERIMENT_IS_INCLUDED_SHARD_GLOBAL_CONNECTION_POOL
406
+ inline bool IsShardGlobalConnectionPoolEnabled() {
407
+ return IsExperimentEnabled<kExperimentIdShardGlobalConnectionPool>();
408
+ }
409
+ #define GRPC_EXPERIMENT_IS_INCLUDED_SLEEP_PROMISE_EXEC_CTX_REMOVAL
410
+ inline bool IsSleepPromiseExecCtxRemovalEnabled() {
411
+ return IsExperimentEnabled<kExperimentIdSleepPromiseExecCtxRemoval>();
303
412
  }
304
413
  #define GRPC_EXPERIMENT_IS_INCLUDED_TCP_FRAME_SIZE_TUNING
305
414
  inline bool IsTcpFrameSizeTuningEnabled() {
@@ -309,6 +418,10 @@ inline bool IsTcpFrameSizeTuningEnabled() {
309
418
  inline bool IsTcpRcvLowatEnabled() {
310
419
  return IsExperimentEnabled<kExperimentIdTcpRcvLowat>();
311
420
  }
421
+ #define GRPC_EXPERIMENT_IS_INCLUDED_TSI_FRAME_PROTECTOR_WITHOUT_LOCKS
422
+ inline bool IsTsiFrameProtectorWithoutLocksEnabled() {
423
+ return IsExperimentEnabled<kExperimentIdTsiFrameProtectorWithoutLocks>();
424
+ }
312
425
  #define GRPC_EXPERIMENT_IS_INCLUDED_UNCONSTRAINED_MAX_QUOTA_BUFFER_SIZE
313
426
  inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() {
314
427
  return IsExperimentEnabled<kExperimentIdUnconstrainedMaxQuotaBufferSize>();
@@ -27,7 +27,6 @@
27
27
  #include "absl/log/check.h"
28
28
  #include "absl/log/log.h"
29
29
  #include "src/core/lib/experiments/experiments.h"
30
- #include "src/core/lib/iomgr/executor.h"
31
30
  #include "src/core/lib/iomgr/iomgr_internal.h"
32
31
  #include "src/core/util/crash.h"
33
32
  #include "src/core/util/mpscq.h"
@@ -167,6 +166,8 @@ static void queue_offload(grpc_core::Combiner* lock) {
167
166
  }
168
167
 
169
168
  bool grpc_combiner_continue_exec_ctx() {
169
+ GRPC_LATENT_SEE_SCOPE("grpc_combiner_continue_exec_ctx");
170
+
170
171
  grpc_core::Combiner* lock =
171
172
  grpc_core::ExecCtx::Get()->combiner_data()->active_combiner;
172
173
  if (lock == nullptr) {
@@ -187,7 +188,7 @@ bool grpc_combiner_continue_exec_ctx() {
187
188
  // as soon as possible
188
189
  if (contended && grpc_core::ExecCtx::Get()->IsReadyToFinish()) {
189
190
  // this execution context wants to move on: schedule remaining work to be
190
- // picked up on the executor
191
+ // picked up on the EventEngine
191
192
  queue_offload(lock);
192
193
  return true;
193
194
  }
@@ -25,9 +25,10 @@ void grpc_endpoint_read(grpc_endpoint* ep, grpc_slice_buffer* slices,
25
25
  ep->vtable->read(ep, slices, cb, urgent, min_progress_size);
26
26
  }
27
27
 
28
- void grpc_endpoint_write(grpc_endpoint* ep, grpc_slice_buffer* slices,
29
- grpc_closure* cb, void* arg, int max_frame_size) {
30
- ep->vtable->write(ep, slices, cb, arg, max_frame_size);
28
+ void grpc_endpoint_write(
29
+ grpc_endpoint* ep, grpc_slice_buffer* slices, grpc_closure* cb,
30
+ grpc_event_engine::experimental::EventEngine::Endpoint::WriteArgs args) {
31
+ ep->vtable->write(ep, slices, cb, std::move(args));
31
32
  }
32
33
 
33
34
  void grpc_endpoint_add_to_pollset(grpc_endpoint* ep, grpc_pollset* pollset) {
@@ -19,6 +19,7 @@
19
19
  #ifndef GRPC_SRC_CORE_LIB_IOMGR_ENDPOINT_H
20
20
  #define GRPC_SRC_CORE_LIB_IOMGR_ENDPOINT_H
21
21
 
22
+ #include <grpc/event_engine/event_engine.h>
22
23
  #include <grpc/slice.h>
23
24
  #include <grpc/slice_buffer.h>
24
25
  #include <grpc/support/port_platform.h>
@@ -37,8 +38,9 @@ typedef struct grpc_endpoint_vtable grpc_endpoint_vtable;
37
38
  struct grpc_endpoint_vtable {
38
39
  void (*read)(grpc_endpoint* ep, grpc_slice_buffer* slices, grpc_closure* cb,
39
40
  bool urgent, int min_progress_size);
40
- void (*write)(grpc_endpoint* ep, grpc_slice_buffer* slices, grpc_closure* cb,
41
- void* arg, int max_frame_size);
41
+ void (*write)(
42
+ grpc_endpoint* ep, grpc_slice_buffer* slices, grpc_closure* cb,
43
+ grpc_event_engine::experimental::EventEngine::Endpoint::WriteArgs args);
42
44
  void (*add_to_pollset)(grpc_endpoint* ep, grpc_pollset* pollset);
43
45
  void (*add_to_pollset_set)(grpc_endpoint* ep, grpc_pollset_set* pollset);
44
46
  void (*delete_from_pollset_set)(grpc_endpoint* ep, grpc_pollset_set* pollset);
@@ -79,8 +81,9 @@ int grpc_endpoint_get_fd(grpc_endpoint* ep);
79
81
  // \a max_frame_size. A hint to the endpoint implementation to construct
80
82
  // frames which do not exceed the specified size.
81
83
  //
82
- void grpc_endpoint_write(grpc_endpoint* ep, grpc_slice_buffer* slices,
83
- grpc_closure* cb, void* arg, int max_frame_size);
84
+ void grpc_endpoint_write(
85
+ grpc_endpoint* ep, grpc_slice_buffer* slices, grpc_closure* cb,
86
+ grpc_event_engine::experimental::EventEngine::Endpoint::WriteArgs arg);
84
87
 
85
88
  // Causes any pending and future read/write callbacks to run immediately with
86
89
  // success==0
@@ -244,8 +244,9 @@ static void CFStreamRead(grpc_endpoint* ep, grpc_slice_buffer* slices,
244
244
  }
245
245
 
246
246
  static void CFStreamWrite(grpc_endpoint* ep, grpc_slice_buffer* slices,
247
- grpc_closure* cb, void* /*arg*/,
248
- int /*max_frame_size*/) {
247
+ grpc_closure* cb,
248
+ grpc_event_engine::experimental::EventEngine::
249
+ Endpoint::WriteArgs /*args*/) {
249
250
  CFStreamEndpoint* ep_impl = reinterpret_cast<CFStreamEndpoint*>(ep);
250
251
  GRPC_TRACE_VLOG(tcp, 2) << "CFStream endpoint:" << ep_impl << " write ("
251
252
  << slices << ", " << cb
@@ -22,10 +22,9 @@
22
22
 
23
23
  #ifdef GRPC_POSIX_SOCKET_TCP
24
24
 
25
- #include <errno.h>
26
25
  #include <fcntl.h>
26
+ #include <grpc/event_engine/event_engine.h>
27
27
  #include <grpc/support/alloc.h>
28
- #include <string.h>
29
28
  #include <sys/socket.h>
30
29
  #include <sys/types.h>
31
30
 
@@ -33,16 +32,27 @@
33
32
 
34
33
  #include "absl/log/check.h"
35
34
  #include "absl/strings/str_cat.h"
35
+ #include "src/core/config/core_configuration.h"
36
36
  #include "src/core/lib/event_engine/channel_args_endpoint_config.h"
37
+ #include "src/core/lib/event_engine/extensions/supports_fd.h"
38
+ #include "src/core/lib/event_engine/query_extensions.h"
39
+ #include "src/core/lib/event_engine/shim.h"
37
40
  #include "src/core/lib/iomgr/endpoint_pair.h"
41
+ #include "src/core/lib/iomgr/ev_posix.h"
42
+ #include "src/core/lib/iomgr/event_engine_shims/endpoint.h"
38
43
  #include "src/core/lib/iomgr/socket_utils_posix.h"
39
44
  #include "src/core/lib/iomgr/tcp_posix.h"
40
45
  #include "src/core/lib/iomgr/unix_sockets_posix.h"
41
- #include "src/core/lib/resource_quota/api.h"
42
46
  #include "src/core/util/crash.h"
43
- #include "src/core/util/string.h"
44
47
 
45
- static void create_sockets(int sv[2]) {
48
+ namespace {
49
+ using grpc_event_engine::experimental::ChannelArgsEndpointConfig;
50
+ using grpc_event_engine::experimental::EventEngine;
51
+ using grpc_event_engine::experimental::EventEngineSupportsFdExtension;
52
+ using grpc_event_engine::experimental::QueryExtension;
53
+ using grpc_event_engine::experimental::UsePollsetAlternative;
54
+
55
+ void create_sockets(int sv[2]) {
46
56
  int flags;
47
57
  grpc_create_socketpair_if_unix(sv);
48
58
  flags = fcntl(sv[0], F_GETFL, 0);
@@ -53,27 +63,44 @@ static void create_sockets(int sv[2]) {
53
63
  CHECK(grpc_set_socket_no_sigpipe_if_possible(sv[1]) == absl::OkStatus());
54
64
  }
55
65
 
66
+ } // namespace
67
+
56
68
  grpc_endpoint_pair grpc_iomgr_create_endpoint_pair(
57
69
  const char* name, const grpc_channel_args* args) {
58
70
  int sv[2];
59
71
  grpc_endpoint_pair p;
60
72
  create_sockets(sv);
61
73
  grpc_core::ExecCtx exec_ctx;
62
- std::string final_name = absl::StrCat(name, ":client");
63
74
  auto new_args = grpc_core::CoreConfiguration::Get()
64
75
  .channel_args_preconditioning()
65
76
  .PreconditionChannelArgs(args);
66
- p.client = grpc_tcp_create(
67
- grpc_fd_create(sv[1], final_name.c_str(), false),
68
- TcpOptionsFromEndpointConfig(
69
- grpc_event_engine::experimental::ChannelArgsEndpointConfig(new_args)),
70
- "socketpair-server");
77
+ if (UsePollsetAlternative()) {
78
+ // Return iomgr-wrapped EE endpoints if a Posix-compatible EventEngine is
79
+ // present. If an endpoint cannot be created from an fd, crash.
80
+ auto* event_engine_supports_fd =
81
+ QueryExtension<EventEngineSupportsFdExtension>(
82
+ new_args.GetObjectRef<EventEngine>().get());
83
+ if (event_engine_supports_fd == nullptr) {
84
+ grpc_core::Crash(
85
+ "EventEngine does not support fds, so an endpoint pair cannot be "
86
+ "created.");
87
+ }
88
+ p.client = grpc_event_engine_endpoint_create(
89
+ event_engine_supports_fd->CreateEndpointFromFd(
90
+ sv[1], ChannelArgsEndpointConfig(new_args)));
91
+ p.server = grpc_event_engine_endpoint_create(
92
+ event_engine_supports_fd->CreateEndpointFromFd(
93
+ sv[0], ChannelArgsEndpointConfig(new_args)));
94
+ return p;
95
+ }
96
+ std::string final_name = absl::StrCat(name, ":client");
97
+ p.client =
98
+ grpc_tcp_create(grpc_fd_create(sv[1], final_name.c_str(), false),
99
+ ChannelArgsEndpointConfig(new_args), "socketpair-server");
71
100
  final_name = absl::StrCat(name, ":server");
72
- p.server = grpc_tcp_create(
73
- grpc_fd_create(sv[0], final_name.c_str(), false),
74
- TcpOptionsFromEndpointConfig(
75
- grpc_event_engine::experimental::ChannelArgsEndpointConfig(new_args)),
76
- "socketpair-client");
101
+ p.server =
102
+ grpc_tcp_create(grpc_fd_create(sv[0], final_name.c_str(), false),
103
+ ChannelArgsEndpointConfig(new_args), "socketpair-client");
77
104
  return p;
78
105
  }
79
106