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
@@ -1,4 +1,4 @@
1
- // Copyright 2017 gRPC authors.
1
+ // Copyright 2025 gRPC authors.
2
2
  //
3
3
  // Licensed under the Apache License, Version 2.0 (the "License");
4
4
  // you may not use this file except in compliance with the License.
@@ -25,176 +25,249 @@
25
25
 
26
26
  #include "absl/strings/string_view.h"
27
27
  #include "src/core/telemetry/histogram_view.h"
28
+ #include "src/core/util/no_destruct.h"
28
29
  #include "src/core/util/per_cpu.h"
29
30
 
30
31
  namespace grpc_core {
31
- class HistogramCollector_100000_20;
32
- class Histogram_100000_20 {
32
+ class GlobalStatsCollector;
33
+ class Http2GlobalStatsCollector;
34
+ class Http2StatsCollector;
35
+ class HistogramCollector_80_10_64;
36
+ class Histogram_80_10_64 {
33
37
  public:
34
38
  static int BucketFor(int value);
35
39
  const uint64_t* buckets() const { return buckets_; }
36
- size_t bucket_count() const { return 20; }
37
- friend Histogram_100000_20 operator-(const Histogram_100000_20& left,
38
- const Histogram_100000_20& right);
40
+ size_t bucket_count() const { return 10; }
41
+ void Increment(int value) {
42
+ ++buckets_[Histogram_80_10_64::BucketFor(value)];
43
+ }
44
+ friend Histogram_80_10_64 operator-(const Histogram_80_10_64& left,
45
+ const Histogram_80_10_64& right);
39
46
 
40
47
  private:
41
- friend class HistogramCollector_100000_20;
42
- uint64_t buckets_[20]{};
48
+ friend class HistogramCollector_80_10_64;
49
+ uint64_t buckets_[10]{};
43
50
  };
44
- class HistogramCollector_100000_20 {
51
+ class HistogramCollector_80_10_64 {
45
52
  public:
46
53
  void Increment(int value) {
47
- buckets_[Histogram_100000_20::BucketFor(value)].fetch_add(
54
+ buckets_[Histogram_80_10_64::BucketFor(value)].fetch_add(
48
55
  1, std::memory_order_relaxed);
49
56
  }
50
- void Collect(Histogram_100000_20* result) const;
57
+ void Collect(Histogram_80_10_64* result) const;
51
58
 
52
59
  private:
53
- std::atomic<uint64_t> buckets_[20]{};
60
+ std::atomic<uint64_t> buckets_[10]{};
54
61
  };
55
- class HistogramCollector_65536_26;
56
- class Histogram_65536_26 {
62
+ class HistogramCollector_100_20_64;
63
+ class Histogram_100_20_64 {
57
64
  public:
58
65
  static int BucketFor(int value);
59
66
  const uint64_t* buckets() const { return buckets_; }
60
- size_t bucket_count() const { return 26; }
61
- friend Histogram_65536_26 operator-(const Histogram_65536_26& left,
62
- const Histogram_65536_26& right);
67
+ size_t bucket_count() const { return 20; }
68
+ void Increment(int value) {
69
+ ++buckets_[Histogram_100_20_64::BucketFor(value)];
70
+ }
71
+ friend Histogram_100_20_64 operator-(const Histogram_100_20_64& left,
72
+ const Histogram_100_20_64& right);
63
73
 
64
74
  private:
65
- friend class HistogramCollector_65536_26;
66
- uint64_t buckets_[26]{};
75
+ friend class HistogramCollector_100_20_64;
76
+ uint64_t buckets_[20]{};
67
77
  };
68
- class HistogramCollector_65536_26 {
78
+ class HistogramCollector_100_20_64 {
69
79
  public:
70
80
  void Increment(int value) {
71
- buckets_[Histogram_65536_26::BucketFor(value)].fetch_add(
81
+ buckets_[Histogram_100_20_64::BucketFor(value)].fetch_add(
72
82
  1, std::memory_order_relaxed);
73
83
  }
74
- void Collect(Histogram_65536_26* result) const;
84
+ void Collect(Histogram_100_20_64* result) const;
75
85
 
76
86
  private:
77
- std::atomic<uint64_t> buckets_[26]{};
87
+ std::atomic<uint64_t> buckets_[20]{};
78
88
  };
79
- class HistogramCollector_100_20;
80
- class Histogram_100_20 {
89
+ class HistogramCollector_10000_20_64;
90
+ class Histogram_10000_20_64 {
81
91
  public:
82
92
  static int BucketFor(int value);
83
93
  const uint64_t* buckets() const { return buckets_; }
84
94
  size_t bucket_count() const { return 20; }
85
- friend Histogram_100_20 operator-(const Histogram_100_20& left,
86
- const Histogram_100_20& right);
95
+ void Increment(int value) {
96
+ ++buckets_[Histogram_10000_20_64::BucketFor(value)];
97
+ }
98
+ friend Histogram_10000_20_64 operator-(const Histogram_10000_20_64& left,
99
+ const Histogram_10000_20_64& right);
87
100
 
88
101
  private:
89
- friend class HistogramCollector_100_20;
102
+ friend class HistogramCollector_10000_20_64;
90
103
  uint64_t buckets_[20]{};
91
104
  };
92
- class HistogramCollector_100_20 {
105
+ class HistogramCollector_10000_20_64 {
93
106
  public:
94
107
  void Increment(int value) {
95
- buckets_[Histogram_100_20::BucketFor(value)].fetch_add(
108
+ buckets_[Histogram_10000_20_64::BucketFor(value)].fetch_add(
96
109
  1, std::memory_order_relaxed);
97
110
  }
98
- void Collect(Histogram_100_20* result) const;
111
+ void Collect(Histogram_10000_20_64* result) const;
99
112
 
100
113
  private:
101
114
  std::atomic<uint64_t> buckets_[20]{};
102
115
  };
103
- class HistogramCollector_16777216_20;
104
- class Histogram_16777216_20 {
116
+ class HistogramCollector_65536_26_64;
117
+ class Histogram_65536_26_64 {
118
+ public:
119
+ static int BucketFor(int value);
120
+ const uint64_t* buckets() const { return buckets_; }
121
+ size_t bucket_count() const { return 26; }
122
+ void Increment(int value) {
123
+ ++buckets_[Histogram_65536_26_64::BucketFor(value)];
124
+ }
125
+ friend Histogram_65536_26_64 operator-(const Histogram_65536_26_64& left,
126
+ const Histogram_65536_26_64& right);
127
+
128
+ private:
129
+ friend class HistogramCollector_65536_26_64;
130
+ uint64_t buckets_[26]{};
131
+ };
132
+ class HistogramCollector_65536_26_64 {
133
+ public:
134
+ void Increment(int value) {
135
+ buckets_[Histogram_65536_26_64::BucketFor(value)].fetch_add(
136
+ 1, std::memory_order_relaxed);
137
+ }
138
+ void Collect(Histogram_65536_26_64* result) const;
139
+
140
+ private:
141
+ std::atomic<uint64_t> buckets_[26]{};
142
+ };
143
+ class HistogramCollector_100000_20_64;
144
+ class Histogram_100000_20_64 {
105
145
  public:
106
146
  static int BucketFor(int value);
107
147
  const uint64_t* buckets() const { return buckets_; }
108
148
  size_t bucket_count() const { return 20; }
109
- friend Histogram_16777216_20 operator-(const Histogram_16777216_20& left,
110
- const Histogram_16777216_20& right);
149
+ void Increment(int value) {
150
+ ++buckets_[Histogram_100000_20_64::BucketFor(value)];
151
+ }
152
+ friend Histogram_100000_20_64 operator-(const Histogram_100000_20_64& left,
153
+ const Histogram_100000_20_64& right);
111
154
 
112
155
  private:
113
- friend class HistogramCollector_16777216_20;
156
+ friend class HistogramCollector_100000_20_64;
114
157
  uint64_t buckets_[20]{};
115
158
  };
116
- class HistogramCollector_16777216_20 {
159
+ class HistogramCollector_100000_20_64 {
117
160
  public:
118
161
  void Increment(int value) {
119
- buckets_[Histogram_16777216_20::BucketFor(value)].fetch_add(
162
+ buckets_[Histogram_100000_20_64::BucketFor(value)].fetch_add(
120
163
  1, std::memory_order_relaxed);
121
164
  }
122
- void Collect(Histogram_16777216_20* result) const;
165
+ void Collect(Histogram_100000_20_64* result) const;
123
166
 
124
167
  private:
125
168
  std::atomic<uint64_t> buckets_[20]{};
126
169
  };
127
- class HistogramCollector_80_10;
128
- class Histogram_80_10 {
170
+ class HistogramCollector_1800000_40_64;
171
+ class Histogram_1800000_40_64 {
129
172
  public:
130
173
  static int BucketFor(int value);
131
174
  const uint64_t* buckets() const { return buckets_; }
132
- size_t bucket_count() const { return 10; }
133
- friend Histogram_80_10 operator-(const Histogram_80_10& left,
134
- const Histogram_80_10& right);
175
+ size_t bucket_count() const { return 40; }
176
+ void Increment(int value) {
177
+ ++buckets_[Histogram_1800000_40_64::BucketFor(value)];
178
+ }
179
+ friend Histogram_1800000_40_64 operator-(
180
+ const Histogram_1800000_40_64& left,
181
+ const Histogram_1800000_40_64& right);
135
182
 
136
183
  private:
137
- friend class HistogramCollector_80_10;
138
- uint64_t buckets_[10]{};
184
+ friend class HistogramCollector_1800000_40_64;
185
+ uint64_t buckets_[40]{};
139
186
  };
140
- class HistogramCollector_80_10 {
187
+ class HistogramCollector_1800000_40_64 {
141
188
  public:
142
189
  void Increment(int value) {
143
- buckets_[Histogram_80_10::BucketFor(value)].fetch_add(
190
+ buckets_[Histogram_1800000_40_64::BucketFor(value)].fetch_add(
144
191
  1, std::memory_order_relaxed);
145
192
  }
146
- void Collect(Histogram_80_10* result) const;
193
+ void Collect(Histogram_1800000_40_64* result) const;
147
194
 
148
195
  private:
149
- std::atomic<uint64_t> buckets_[10]{};
196
+ std::atomic<uint64_t> buckets_[40]{};
150
197
  };
151
- class HistogramCollector_10000_20;
152
- class Histogram_10000_20 {
198
+ class Histogram_16777216_8_8 {
199
+ public:
200
+ static int BucketFor(int value);
201
+ const uint8_t* buckets() const { return buckets_; }
202
+ size_t bucket_count() const { return 8; }
203
+ void Increment(int value) {
204
+ auto& bucket = buckets_[Histogram_16777216_8_8::BucketFor(value)];
205
+ if (GPR_UNLIKELY(bucket == std::numeric_limits<uint8_t>::max())) {
206
+ for (size_t i = 0; i < 8; ++i) {
207
+ buckets_[i] /= 2;
208
+ }
209
+ }
210
+ ++bucket;
211
+ }
212
+
213
+ private:
214
+ uint8_t buckets_[8]{};
215
+ };
216
+ class HistogramCollector_16777216_20_64;
217
+ class Histogram_16777216_20_64 {
153
218
  public:
154
219
  static int BucketFor(int value);
155
220
  const uint64_t* buckets() const { return buckets_; }
156
221
  size_t bucket_count() const { return 20; }
157
- friend Histogram_10000_20 operator-(const Histogram_10000_20& left,
158
- const Histogram_10000_20& right);
222
+ void Increment(int value) {
223
+ ++buckets_[Histogram_16777216_20_64::BucketFor(value)];
224
+ }
225
+ friend Histogram_16777216_20_64 operator-(
226
+ const Histogram_16777216_20_64& left,
227
+ const Histogram_16777216_20_64& right);
159
228
 
160
229
  private:
161
- friend class HistogramCollector_10000_20;
230
+ friend class HistogramCollector_16777216_20_64;
162
231
  uint64_t buckets_[20]{};
163
232
  };
164
- class HistogramCollector_10000_20 {
233
+ class HistogramCollector_16777216_20_64 {
165
234
  public:
166
235
  void Increment(int value) {
167
- buckets_[Histogram_10000_20::BucketFor(value)].fetch_add(
236
+ buckets_[Histogram_16777216_20_64::BucketFor(value)].fetch_add(
168
237
  1, std::memory_order_relaxed);
169
238
  }
170
- void Collect(Histogram_10000_20* result) const;
239
+ void Collect(Histogram_16777216_20_64* result) const;
171
240
 
172
241
  private:
173
242
  std::atomic<uint64_t> buckets_[20]{};
174
243
  };
175
- class HistogramCollector_1800000_40;
176
- class Histogram_1800000_40 {
244
+ class HistogramCollector_16777216_50_64;
245
+ class Histogram_16777216_50_64 {
177
246
  public:
178
247
  static int BucketFor(int value);
179
248
  const uint64_t* buckets() const { return buckets_; }
180
- size_t bucket_count() const { return 40; }
181
- friend Histogram_1800000_40 operator-(const Histogram_1800000_40& left,
182
- const Histogram_1800000_40& right);
249
+ size_t bucket_count() const { return 50; }
250
+ void Increment(int value) {
251
+ ++buckets_[Histogram_16777216_50_64::BucketFor(value)];
252
+ }
253
+ friend Histogram_16777216_50_64 operator-(
254
+ const Histogram_16777216_50_64& left,
255
+ const Histogram_16777216_50_64& right);
183
256
 
184
257
  private:
185
- friend class HistogramCollector_1800000_40;
186
- uint64_t buckets_[40]{};
258
+ friend class HistogramCollector_16777216_50_64;
259
+ uint64_t buckets_[50]{};
187
260
  };
188
- class HistogramCollector_1800000_40 {
261
+ class HistogramCollector_16777216_50_64 {
189
262
  public:
190
263
  void Increment(int value) {
191
- buckets_[Histogram_1800000_40::BucketFor(value)].fetch_add(
264
+ buckets_[Histogram_16777216_50_64::BucketFor(value)].fetch_add(
192
265
  1, std::memory_order_relaxed);
193
266
  }
194
- void Collect(Histogram_1800000_40* result) const;
267
+ void Collect(Histogram_16777216_50_64* result) const;
195
268
 
196
269
  private:
197
- std::atomic<uint64_t> buckets_[40]{};
270
+ std::atomic<uint64_t> buckets_[50]{};
198
271
  };
199
272
  struct GlobalStats {
200
273
  enum class Counter {
@@ -211,13 +284,6 @@ struct GlobalStats {
211
284
  kSyscallRead,
212
285
  kTcpReadAlloc8k,
213
286
  kTcpReadAlloc64k,
214
- kHttp2SettingsWrites,
215
- kHttp2PingsSent,
216
- kHttp2WritesBegun,
217
- kHttp2TransportStalls,
218
- kHttp2StreamStalls,
219
- kHttp2HpackHits,
220
- kHttp2HpackMisses,
221
287
  kCqPluckCreates,
222
288
  kCqNextCreates,
223
289
  kCqCallbackCreates,
@@ -244,19 +310,6 @@ struct GlobalStats {
244
310
  kTcpReadSize,
245
311
  kTcpReadOffer,
246
312
  kTcpReadOfferIovSize,
247
- kHttp2SendMessageSize,
248
- kHttp2MetadataSize,
249
- kHttp2HpackEntryLifetime,
250
- kHttp2HeaderTableSize,
251
- kHttp2InitialWindowSize,
252
- kHttp2MaxConcurrentStreams,
253
- kHttp2MaxFrameSize,
254
- kHttp2MaxHeaderListSize,
255
- kHttp2PreferredReceiveCryptoMessageSize,
256
- kHttp2StreamRemoteWindowUpdate,
257
- kHttp2TransportRemoteWindowUpdate,
258
- kHttp2TransportWindowUpdatePeriod,
259
- kHttp2StreamWindowUpdatePeriod,
260
313
  kWrrSubchannelListSize,
261
314
  kWrrSubchannelReadySize,
262
315
  kWorkSerializerRunTimeMs,
@@ -301,13 +354,6 @@ struct GlobalStats {
301
354
  uint64_t syscall_read;
302
355
  uint64_t tcp_read_alloc_8k;
303
356
  uint64_t tcp_read_alloc_64k;
304
- uint64_t http2_settings_writes;
305
- uint64_t http2_pings_sent;
306
- uint64_t http2_writes_begun;
307
- uint64_t http2_transport_stalls;
308
- uint64_t http2_stream_stalls;
309
- uint64_t http2_hpack_hits;
310
- uint64_t http2_hpack_misses;
311
357
  uint64_t cq_pluck_creates;
312
358
  uint64_t cq_next_creates;
313
359
  uint64_t cq_callback_creates;
@@ -328,45 +374,32 @@ struct GlobalStats {
328
374
  };
329
375
  uint64_t counters[static_cast<int>(Counter::COUNT)];
330
376
  };
331
- Histogram_65536_26 call_initial_size;
332
- Histogram_16777216_20 tcp_write_size;
333
- Histogram_80_10 tcp_write_iov_size;
334
- Histogram_16777216_20 tcp_read_size;
335
- Histogram_16777216_20 tcp_read_offer;
336
- Histogram_80_10 tcp_read_offer_iov_size;
337
- Histogram_16777216_20 http2_send_message_size;
338
- Histogram_65536_26 http2_metadata_size;
339
- Histogram_1800000_40 http2_hpack_entry_lifetime;
340
- Histogram_16777216_20 http2_header_table_size;
341
- Histogram_16777216_20 http2_initial_window_size;
342
- Histogram_16777216_20 http2_max_concurrent_streams;
343
- Histogram_16777216_20 http2_max_frame_size;
344
- Histogram_16777216_20 http2_max_header_list_size;
345
- Histogram_16777216_20 http2_preferred_receive_crypto_message_size;
346
- Histogram_16777216_20 http2_stream_remote_window_update;
347
- Histogram_16777216_20 http2_transport_remote_window_update;
348
- Histogram_100000_20 http2_transport_window_update_period;
349
- Histogram_100000_20 http2_stream_window_update_period;
350
- Histogram_10000_20 wrr_subchannel_list_size;
351
- Histogram_10000_20 wrr_subchannel_ready_size;
352
- Histogram_100000_20 work_serializer_run_time_ms;
353
- Histogram_100000_20 work_serializer_work_time_ms;
354
- Histogram_100000_20 work_serializer_work_time_per_item_ms;
355
- Histogram_10000_20 work_serializer_items_per_run;
356
- Histogram_100_20 chaotic_good_sendmsgs_per_write_control;
357
- Histogram_100_20 chaotic_good_recvmsgs_per_read_control;
358
- Histogram_100_20 chaotic_good_sendmsgs_per_write_data;
359
- Histogram_100_20 chaotic_good_recvmsgs_per_read_data;
360
- Histogram_100_20 chaotic_good_thread_hops_per_write_control;
361
- Histogram_100_20 chaotic_good_thread_hops_per_read_control;
362
- Histogram_100_20 chaotic_good_thread_hops_per_write_data;
363
- Histogram_100_20 chaotic_good_thread_hops_per_read_data;
364
- Histogram_16777216_20 chaotic_good_tcp_read_size_data;
365
- Histogram_16777216_20 chaotic_good_tcp_read_size_control;
366
- Histogram_16777216_20 chaotic_good_tcp_read_offer_data;
367
- Histogram_16777216_20 chaotic_good_tcp_read_offer_control;
368
- Histogram_16777216_20 chaotic_good_tcp_write_size_data;
369
- Histogram_16777216_20 chaotic_good_tcp_write_size_control;
377
+ Histogram_65536_26_64 call_initial_size;
378
+ Histogram_16777216_20_64 tcp_write_size;
379
+ Histogram_80_10_64 tcp_write_iov_size;
380
+ Histogram_16777216_20_64 tcp_read_size;
381
+ Histogram_16777216_20_64 tcp_read_offer;
382
+ Histogram_80_10_64 tcp_read_offer_iov_size;
383
+ Histogram_10000_20_64 wrr_subchannel_list_size;
384
+ Histogram_10000_20_64 wrr_subchannel_ready_size;
385
+ Histogram_100000_20_64 work_serializer_run_time_ms;
386
+ Histogram_100000_20_64 work_serializer_work_time_ms;
387
+ Histogram_100000_20_64 work_serializer_work_time_per_item_ms;
388
+ Histogram_10000_20_64 work_serializer_items_per_run;
389
+ Histogram_100_20_64 chaotic_good_sendmsgs_per_write_control;
390
+ Histogram_100_20_64 chaotic_good_recvmsgs_per_read_control;
391
+ Histogram_100_20_64 chaotic_good_sendmsgs_per_write_data;
392
+ Histogram_100_20_64 chaotic_good_recvmsgs_per_read_data;
393
+ Histogram_100_20_64 chaotic_good_thread_hops_per_write_control;
394
+ Histogram_100_20_64 chaotic_good_thread_hops_per_read_control;
395
+ Histogram_100_20_64 chaotic_good_thread_hops_per_write_data;
396
+ Histogram_100_20_64 chaotic_good_thread_hops_per_read_data;
397
+ Histogram_16777216_20_64 chaotic_good_tcp_read_size_data;
398
+ Histogram_16777216_20_64 chaotic_good_tcp_read_size_control;
399
+ Histogram_16777216_20_64 chaotic_good_tcp_read_offer_data;
400
+ Histogram_16777216_20_64 chaotic_good_tcp_read_offer_control;
401
+ Histogram_16777216_20_64 chaotic_good_tcp_write_size_data;
402
+ Histogram_16777216_20_64 chaotic_good_tcp_write_size_control;
370
403
  HistogramView histogram(Histogram which) const;
371
404
  std::unique_ptr<GlobalStats> Diff(const GlobalStats& other) const;
372
405
  };
@@ -419,30 +452,6 @@ class GlobalStatsCollector {
419
452
  void IncrementTcpReadAlloc64k() {
420
453
  data_.this_cpu().tcp_read_alloc_64k.fetch_add(1, std::memory_order_relaxed);
421
454
  }
422
- void IncrementHttp2SettingsWrites() {
423
- data_.this_cpu().http2_settings_writes.fetch_add(1,
424
- std::memory_order_relaxed);
425
- }
426
- void IncrementHttp2PingsSent() {
427
- data_.this_cpu().http2_pings_sent.fetch_add(1, std::memory_order_relaxed);
428
- }
429
- void IncrementHttp2WritesBegun() {
430
- data_.this_cpu().http2_writes_begun.fetch_add(1, std::memory_order_relaxed);
431
- }
432
- void IncrementHttp2TransportStalls() {
433
- data_.this_cpu().http2_transport_stalls.fetch_add(
434
- 1, std::memory_order_relaxed);
435
- }
436
- void IncrementHttp2StreamStalls() {
437
- data_.this_cpu().http2_stream_stalls.fetch_add(1,
438
- std::memory_order_relaxed);
439
- }
440
- void IncrementHttp2HpackHits() {
441
- data_.this_cpu().http2_hpack_hits.fetch_add(1, std::memory_order_relaxed);
442
- }
443
- void IncrementHttp2HpackMisses() {
444
- data_.this_cpu().http2_hpack_misses.fetch_add(1, std::memory_order_relaxed);
445
- }
446
455
  void IncrementCqPluckCreates() {
447
456
  data_.this_cpu().cq_pluck_creates.fetch_add(1, std::memory_order_relaxed);
448
457
  }
@@ -517,46 +526,6 @@ class GlobalStatsCollector {
517
526
  void IncrementTcpReadOfferIovSize(int value) {
518
527
  data_.this_cpu().tcp_read_offer_iov_size.Increment(value);
519
528
  }
520
- void IncrementHttp2SendMessageSize(int value) {
521
- data_.this_cpu().http2_send_message_size.Increment(value);
522
- }
523
- void IncrementHttp2MetadataSize(int value) {
524
- data_.this_cpu().http2_metadata_size.Increment(value);
525
- }
526
- void IncrementHttp2HpackEntryLifetime(int value) {
527
- data_.this_cpu().http2_hpack_entry_lifetime.Increment(value);
528
- }
529
- void IncrementHttp2HeaderTableSize(int value) {
530
- data_.this_cpu().http2_header_table_size.Increment(value);
531
- }
532
- void IncrementHttp2InitialWindowSize(int value) {
533
- data_.this_cpu().http2_initial_window_size.Increment(value);
534
- }
535
- void IncrementHttp2MaxConcurrentStreams(int value) {
536
- data_.this_cpu().http2_max_concurrent_streams.Increment(value);
537
- }
538
- void IncrementHttp2MaxFrameSize(int value) {
539
- data_.this_cpu().http2_max_frame_size.Increment(value);
540
- }
541
- void IncrementHttp2MaxHeaderListSize(int value) {
542
- data_.this_cpu().http2_max_header_list_size.Increment(value);
543
- }
544
- void IncrementHttp2PreferredReceiveCryptoMessageSize(int value) {
545
- data_.this_cpu().http2_preferred_receive_crypto_message_size.Increment(
546
- value);
547
- }
548
- void IncrementHttp2StreamRemoteWindowUpdate(int value) {
549
- data_.this_cpu().http2_stream_remote_window_update.Increment(value);
550
- }
551
- void IncrementHttp2TransportRemoteWindowUpdate(int value) {
552
- data_.this_cpu().http2_transport_remote_window_update.Increment(value);
553
- }
554
- void IncrementHttp2TransportWindowUpdatePeriod(int value) {
555
- data_.this_cpu().http2_transport_window_update_period.Increment(value);
556
- }
557
- void IncrementHttp2StreamWindowUpdatePeriod(int value) {
558
- data_.this_cpu().http2_stream_window_update_period.Increment(value);
559
- }
560
529
  void IncrementWrrSubchannelListSize(int value) {
561
530
  data_.this_cpu().wrr_subchannel_list_size.Increment(value);
562
531
  }
@@ -620,6 +589,8 @@ class GlobalStatsCollector {
620
589
  }
621
590
 
622
591
  private:
592
+ friend class Http2GlobalStatsCollector;
593
+ friend class Http2StatsCollector;
623
594
  struct Data {
624
595
  std::atomic<uint64_t> client_calls_created{0};
625
596
  std::atomic<uint64_t> server_calls_created{0};
@@ -634,13 +605,6 @@ class GlobalStatsCollector {
634
605
  std::atomic<uint64_t> syscall_read{0};
635
606
  std::atomic<uint64_t> tcp_read_alloc_8k{0};
636
607
  std::atomic<uint64_t> tcp_read_alloc_64k{0};
637
- std::atomic<uint64_t> http2_settings_writes{0};
638
- std::atomic<uint64_t> http2_pings_sent{0};
639
- std::atomic<uint64_t> http2_writes_begun{0};
640
- std::atomic<uint64_t> http2_transport_stalls{0};
641
- std::atomic<uint64_t> http2_stream_stalls{0};
642
- std::atomic<uint64_t> http2_hpack_hits{0};
643
- std::atomic<uint64_t> http2_hpack_misses{0};
644
608
  std::atomic<uint64_t> cq_pluck_creates{0};
645
609
  std::atomic<uint64_t> cq_next_creates{0};
646
610
  std::atomic<uint64_t> cq_callback_creates{0};
@@ -658,48 +622,317 @@ class GlobalStatsCollector {
658
622
  std::atomic<uint64_t> enobufs_count{0};
659
623
  std::atomic<uint64_t> uncommon_io_error_count{0};
660
624
  std::atomic<uint64_t> msg_errqueue_error_count{0};
661
- HistogramCollector_65536_26 call_initial_size;
662
- HistogramCollector_16777216_20 tcp_write_size;
663
- HistogramCollector_80_10 tcp_write_iov_size;
664
- HistogramCollector_16777216_20 tcp_read_size;
665
- HistogramCollector_16777216_20 tcp_read_offer;
666
- HistogramCollector_80_10 tcp_read_offer_iov_size;
667
- HistogramCollector_16777216_20 http2_send_message_size;
668
- HistogramCollector_65536_26 http2_metadata_size;
669
- HistogramCollector_1800000_40 http2_hpack_entry_lifetime;
670
- HistogramCollector_16777216_20 http2_header_table_size;
671
- HistogramCollector_16777216_20 http2_initial_window_size;
672
- HistogramCollector_16777216_20 http2_max_concurrent_streams;
673
- HistogramCollector_16777216_20 http2_max_frame_size;
674
- HistogramCollector_16777216_20 http2_max_header_list_size;
675
- HistogramCollector_16777216_20 http2_preferred_receive_crypto_message_size;
676
- HistogramCollector_16777216_20 http2_stream_remote_window_update;
677
- HistogramCollector_16777216_20 http2_transport_remote_window_update;
678
- HistogramCollector_100000_20 http2_transport_window_update_period;
679
- HistogramCollector_100000_20 http2_stream_window_update_period;
680
- HistogramCollector_10000_20 wrr_subchannel_list_size;
681
- HistogramCollector_10000_20 wrr_subchannel_ready_size;
682
- HistogramCollector_100000_20 work_serializer_run_time_ms;
683
- HistogramCollector_100000_20 work_serializer_work_time_ms;
684
- HistogramCollector_100000_20 work_serializer_work_time_per_item_ms;
685
- HistogramCollector_10000_20 work_serializer_items_per_run;
686
- HistogramCollector_100_20 chaotic_good_sendmsgs_per_write_control;
687
- HistogramCollector_100_20 chaotic_good_recvmsgs_per_read_control;
688
- HistogramCollector_100_20 chaotic_good_sendmsgs_per_write_data;
689
- HistogramCollector_100_20 chaotic_good_recvmsgs_per_read_data;
690
- HistogramCollector_100_20 chaotic_good_thread_hops_per_write_control;
691
- HistogramCollector_100_20 chaotic_good_thread_hops_per_read_control;
692
- HistogramCollector_100_20 chaotic_good_thread_hops_per_write_data;
693
- HistogramCollector_100_20 chaotic_good_thread_hops_per_read_data;
694
- HistogramCollector_16777216_20 chaotic_good_tcp_read_size_data;
695
- HistogramCollector_16777216_20 chaotic_good_tcp_read_size_control;
696
- HistogramCollector_16777216_20 chaotic_good_tcp_read_offer_data;
697
- HistogramCollector_16777216_20 chaotic_good_tcp_read_offer_control;
698
- HistogramCollector_16777216_20 chaotic_good_tcp_write_size_data;
699
- HistogramCollector_16777216_20 chaotic_good_tcp_write_size_control;
625
+ HistogramCollector_65536_26_64 call_initial_size;
626
+ HistogramCollector_16777216_20_64 tcp_write_size;
627
+ HistogramCollector_80_10_64 tcp_write_iov_size;
628
+ HistogramCollector_16777216_20_64 tcp_read_size;
629
+ HistogramCollector_16777216_20_64 tcp_read_offer;
630
+ HistogramCollector_80_10_64 tcp_read_offer_iov_size;
631
+ HistogramCollector_10000_20_64 wrr_subchannel_list_size;
632
+ HistogramCollector_10000_20_64 wrr_subchannel_ready_size;
633
+ HistogramCollector_100000_20_64 work_serializer_run_time_ms;
634
+ HistogramCollector_100000_20_64 work_serializer_work_time_ms;
635
+ HistogramCollector_100000_20_64 work_serializer_work_time_per_item_ms;
636
+ HistogramCollector_10000_20_64 work_serializer_items_per_run;
637
+ HistogramCollector_100_20_64 chaotic_good_sendmsgs_per_write_control;
638
+ HistogramCollector_100_20_64 chaotic_good_recvmsgs_per_read_control;
639
+ HistogramCollector_100_20_64 chaotic_good_sendmsgs_per_write_data;
640
+ HistogramCollector_100_20_64 chaotic_good_recvmsgs_per_read_data;
641
+ HistogramCollector_100_20_64 chaotic_good_thread_hops_per_write_control;
642
+ HistogramCollector_100_20_64 chaotic_good_thread_hops_per_read_control;
643
+ HistogramCollector_100_20_64 chaotic_good_thread_hops_per_write_data;
644
+ HistogramCollector_100_20_64 chaotic_good_thread_hops_per_read_data;
645
+ HistogramCollector_16777216_20_64 chaotic_good_tcp_read_size_data;
646
+ HistogramCollector_16777216_20_64 chaotic_good_tcp_read_size_control;
647
+ HistogramCollector_16777216_20_64 chaotic_good_tcp_read_offer_data;
648
+ HistogramCollector_16777216_20_64 chaotic_good_tcp_read_offer_control;
649
+ HistogramCollector_16777216_20_64 chaotic_good_tcp_write_size_data;
650
+ HistogramCollector_16777216_20_64 chaotic_good_tcp_write_size_control;
700
651
  };
701
652
  PerCpu<Data> data_{PerCpuOptions().SetCpusPerShard(4).SetMaxShards(32)};
702
653
  };
654
+ inline GlobalStatsCollector& global_stats() {
655
+ return *NoDestructSingleton<GlobalStatsCollector>::Get();
656
+ }
657
+ struct Http2GlobalStats {
658
+ enum class Counter {
659
+ kHttp2SettingsWrites,
660
+ kHttp2PingsSent,
661
+ kHttp2TransportStalls,
662
+ kHttp2StreamStalls,
663
+ kHttp2HpackHits,
664
+ kHttp2HpackMisses,
665
+ kHttp2WritesBegun,
666
+ COUNT
667
+ };
668
+ enum class Histogram {
669
+ kHttp2SendMessageSize,
670
+ kHttp2MetadataSize,
671
+ kHttp2HpackEntryLifetime,
672
+ kHttp2HeaderTableSize,
673
+ kHttp2InitialWindowSize,
674
+ kHttp2MaxConcurrentStreams,
675
+ kHttp2MaxFrameSize,
676
+ kHttp2MaxHeaderListSize,
677
+ kHttp2PreferredReceiveCryptoMessageSize,
678
+ kHttp2StreamRemoteWindowUpdate,
679
+ kHttp2TransportRemoteWindowUpdate,
680
+ kHttp2TransportWindowUpdatePeriod,
681
+ kHttp2StreamWindowUpdatePeriod,
682
+ kHttp2WriteDataFrameSize,
683
+ kHttp2ReadDataFrameSize,
684
+ kHttp2WriteTargetSize,
685
+ COUNT
686
+ };
687
+ Http2GlobalStats();
688
+ static const absl::string_view counter_name[static_cast<int>(Counter::COUNT)];
689
+ static const absl::string_view
690
+ histogram_name[static_cast<int>(Histogram::COUNT)];
691
+ static const absl::string_view counter_doc[static_cast<int>(Counter::COUNT)];
692
+ static const absl::string_view
693
+ histogram_doc[static_cast<int>(Histogram::COUNT)];
694
+ union {
695
+ struct {
696
+ uint64_t http2_settings_writes;
697
+ uint64_t http2_pings_sent;
698
+ uint64_t http2_transport_stalls;
699
+ uint64_t http2_stream_stalls;
700
+ uint64_t http2_hpack_hits;
701
+ uint64_t http2_hpack_misses;
702
+ uint64_t http2_writes_begun;
703
+ };
704
+ uint64_t counters[static_cast<int>(Counter::COUNT)];
705
+ };
706
+ Histogram_16777216_20_64 http2_send_message_size;
707
+ Histogram_65536_26_64 http2_metadata_size;
708
+ Histogram_1800000_40_64 http2_hpack_entry_lifetime;
709
+ Histogram_16777216_20_64 http2_header_table_size;
710
+ Histogram_16777216_50_64 http2_initial_window_size;
711
+ Histogram_16777216_20_64 http2_max_concurrent_streams;
712
+ Histogram_16777216_50_64 http2_max_frame_size;
713
+ Histogram_16777216_20_64 http2_max_header_list_size;
714
+ Histogram_16777216_20_64 http2_preferred_receive_crypto_message_size;
715
+ Histogram_16777216_20_64 http2_stream_remote_window_update;
716
+ Histogram_16777216_20_64 http2_transport_remote_window_update;
717
+ Histogram_100000_20_64 http2_transport_window_update_period;
718
+ Histogram_100000_20_64 http2_stream_window_update_period;
719
+ Histogram_16777216_50_64 http2_write_data_frame_size;
720
+ Histogram_16777216_50_64 http2_read_data_frame_size;
721
+ Histogram_16777216_50_64 http2_write_target_size;
722
+ HistogramView histogram(Histogram which) const;
723
+ std::unique_ptr<Http2GlobalStats> Diff(const Http2GlobalStats& other) const;
724
+ };
725
+ class Http2GlobalStatsCollector {
726
+ public:
727
+ std::unique_ptr<Http2GlobalStats> Collect() const;
728
+ void IncrementHttp2SettingsWrites() {
729
+ data_.this_cpu().http2_settings_writes.fetch_add(1,
730
+ std::memory_order_relaxed);
731
+ }
732
+ void IncrementHttp2PingsSent() {
733
+ data_.this_cpu().http2_pings_sent.fetch_add(1, std::memory_order_relaxed);
734
+ }
735
+ void IncrementHttp2TransportStalls() {
736
+ data_.this_cpu().http2_transport_stalls.fetch_add(
737
+ 1, std::memory_order_relaxed);
738
+ }
739
+ void IncrementHttp2StreamStalls() {
740
+ data_.this_cpu().http2_stream_stalls.fetch_add(1,
741
+ std::memory_order_relaxed);
742
+ }
743
+ void IncrementHttp2HpackHits() {
744
+ data_.this_cpu().http2_hpack_hits.fetch_add(1, std::memory_order_relaxed);
745
+ }
746
+ void IncrementHttp2HpackMisses() {
747
+ data_.this_cpu().http2_hpack_misses.fetch_add(1, std::memory_order_relaxed);
748
+ }
749
+
750
+ private:
751
+ void IncrementHttp2WritesBegun() {
752
+ data_.this_cpu().http2_writes_begun.fetch_add(1, std::memory_order_relaxed);
753
+ }
754
+
755
+ public:
756
+ void IncrementHttp2SendMessageSize(int value) {
757
+ data_.this_cpu().http2_send_message_size.Increment(value);
758
+ }
759
+ void IncrementHttp2MetadataSize(int value) {
760
+ data_.this_cpu().http2_metadata_size.Increment(value);
761
+ }
762
+ void IncrementHttp2HpackEntryLifetime(int value) {
763
+ data_.this_cpu().http2_hpack_entry_lifetime.Increment(value);
764
+ }
765
+ void IncrementHttp2HeaderTableSize(int value) {
766
+ data_.this_cpu().http2_header_table_size.Increment(value);
767
+ }
768
+ void IncrementHttp2InitialWindowSize(int value) {
769
+ data_.this_cpu().http2_initial_window_size.Increment(value);
770
+ }
771
+ void IncrementHttp2MaxConcurrentStreams(int value) {
772
+ data_.this_cpu().http2_max_concurrent_streams.Increment(value);
773
+ }
774
+ void IncrementHttp2MaxFrameSize(int value) {
775
+ data_.this_cpu().http2_max_frame_size.Increment(value);
776
+ }
777
+ void IncrementHttp2MaxHeaderListSize(int value) {
778
+ data_.this_cpu().http2_max_header_list_size.Increment(value);
779
+ }
780
+ void IncrementHttp2PreferredReceiveCryptoMessageSize(int value) {
781
+ data_.this_cpu().http2_preferred_receive_crypto_message_size.Increment(
782
+ value);
783
+ }
784
+ void IncrementHttp2StreamRemoteWindowUpdate(int value) {
785
+ data_.this_cpu().http2_stream_remote_window_update.Increment(value);
786
+ }
787
+ void IncrementHttp2TransportRemoteWindowUpdate(int value) {
788
+ data_.this_cpu().http2_transport_remote_window_update.Increment(value);
789
+ }
790
+ void IncrementHttp2TransportWindowUpdatePeriod(int value) {
791
+ data_.this_cpu().http2_transport_window_update_period.Increment(value);
792
+ }
793
+ void IncrementHttp2StreamWindowUpdatePeriod(int value) {
794
+ data_.this_cpu().http2_stream_window_update_period.Increment(value);
795
+ }
796
+ void IncrementHttp2WriteDataFrameSize(int value) {
797
+ data_.this_cpu().http2_write_data_frame_size.Increment(value);
798
+ }
799
+ void IncrementHttp2ReadDataFrameSize(int value) {
800
+ data_.this_cpu().http2_read_data_frame_size.Increment(value);
801
+ }
802
+
803
+ private:
804
+ void IncrementHttp2WriteTargetSize(int value) {
805
+ data_.this_cpu().http2_write_target_size.Increment(value);
806
+ }
807
+ friend class GlobalStatsCollector;
808
+ friend class Http2StatsCollector;
809
+ struct Data {
810
+ std::atomic<uint64_t> http2_settings_writes{0};
811
+ std::atomic<uint64_t> http2_pings_sent{0};
812
+ std::atomic<uint64_t> http2_transport_stalls{0};
813
+ std::atomic<uint64_t> http2_stream_stalls{0};
814
+ std::atomic<uint64_t> http2_hpack_hits{0};
815
+ std::atomic<uint64_t> http2_hpack_misses{0};
816
+ std::atomic<uint64_t> http2_writes_begun{0};
817
+ HistogramCollector_16777216_20_64 http2_send_message_size;
818
+ HistogramCollector_65536_26_64 http2_metadata_size;
819
+ HistogramCollector_1800000_40_64 http2_hpack_entry_lifetime;
820
+ HistogramCollector_16777216_20_64 http2_header_table_size;
821
+ HistogramCollector_16777216_50_64 http2_initial_window_size;
822
+ HistogramCollector_16777216_20_64 http2_max_concurrent_streams;
823
+ HistogramCollector_16777216_50_64 http2_max_frame_size;
824
+ HistogramCollector_16777216_20_64 http2_max_header_list_size;
825
+ HistogramCollector_16777216_20_64
826
+ http2_preferred_receive_crypto_message_size;
827
+ HistogramCollector_16777216_20_64 http2_stream_remote_window_update;
828
+ HistogramCollector_16777216_20_64 http2_transport_remote_window_update;
829
+ HistogramCollector_100000_20_64 http2_transport_window_update_period;
830
+ HistogramCollector_100000_20_64 http2_stream_window_update_period;
831
+ HistogramCollector_16777216_50_64 http2_write_data_frame_size;
832
+ HistogramCollector_16777216_50_64 http2_read_data_frame_size;
833
+ HistogramCollector_16777216_50_64 http2_write_target_size;
834
+ };
835
+ PerCpu<Data> data_{PerCpuOptions().SetCpusPerShard(4).SetMaxShards(32)};
836
+ };
837
+ inline Http2GlobalStatsCollector& http2_global_stats() {
838
+ return *NoDestructSingleton<Http2GlobalStatsCollector>::Get();
839
+ }
840
+ struct Http2Stats {
841
+ enum class Counter { kHttp2WritesBegun, COUNT };
842
+ enum class Histogram { kHttp2WriteTargetSize, COUNT };
843
+ Http2Stats();
844
+ static const absl::string_view counter_name[static_cast<int>(Counter::COUNT)];
845
+ static const absl::string_view
846
+ histogram_name[static_cast<int>(Histogram::COUNT)];
847
+ static const absl::string_view counter_doc[static_cast<int>(Counter::COUNT)];
848
+ static const absl::string_view
849
+ histogram_doc[static_cast<int>(Histogram::COUNT)];
850
+ union {
851
+ struct {
852
+ uint64_t http2_writes_begun;
853
+ };
854
+ uint64_t counters[static_cast<int>(Counter::COUNT)];
855
+ };
856
+ Histogram_16777216_8_8 http2_write_target_size;
857
+ };
858
+ class Http2StatsCollector {
859
+ public:
860
+ const Http2Stats& View() const { return data_; };
861
+ void IncrementHttp2SettingsWrites() {
862
+ http2_global_stats().IncrementHttp2SettingsWrites();
863
+ }
864
+ void IncrementHttp2PingsSent() {
865
+ http2_global_stats().IncrementHttp2PingsSent();
866
+ }
867
+ void IncrementHttp2TransportStalls() {
868
+ http2_global_stats().IncrementHttp2TransportStalls();
869
+ }
870
+ void IncrementHttp2StreamStalls() {
871
+ http2_global_stats().IncrementHttp2StreamStalls();
872
+ }
873
+ void IncrementHttp2HpackHits() {
874
+ http2_global_stats().IncrementHttp2HpackHits();
875
+ }
876
+ void IncrementHttp2HpackMisses() {
877
+ http2_global_stats().IncrementHttp2HpackMisses();
878
+ }
879
+ void IncrementHttp2WritesBegun() {
880
+ ++data_.http2_writes_begun;
881
+ http2_global_stats().IncrementHttp2WritesBegun();
882
+ }
883
+ void IncrementHttp2SendMessageSize(int value) {
884
+ http2_global_stats().IncrementHttp2SendMessageSize(value);
885
+ }
886
+ void IncrementHttp2MetadataSize(int value) {
887
+ http2_global_stats().IncrementHttp2MetadataSize(value);
888
+ }
889
+ void IncrementHttp2HpackEntryLifetime(int value) {
890
+ http2_global_stats().IncrementHttp2HpackEntryLifetime(value);
891
+ }
892
+ void IncrementHttp2HeaderTableSize(int value) {
893
+ http2_global_stats().IncrementHttp2HeaderTableSize(value);
894
+ }
895
+ void IncrementHttp2InitialWindowSize(int value) {
896
+ http2_global_stats().IncrementHttp2InitialWindowSize(value);
897
+ }
898
+ void IncrementHttp2MaxConcurrentStreams(int value) {
899
+ http2_global_stats().IncrementHttp2MaxConcurrentStreams(value);
900
+ }
901
+ void IncrementHttp2MaxFrameSize(int value) {
902
+ http2_global_stats().IncrementHttp2MaxFrameSize(value);
903
+ }
904
+ void IncrementHttp2MaxHeaderListSize(int value) {
905
+ http2_global_stats().IncrementHttp2MaxHeaderListSize(value);
906
+ }
907
+ void IncrementHttp2PreferredReceiveCryptoMessageSize(int value) {
908
+ http2_global_stats().IncrementHttp2PreferredReceiveCryptoMessageSize(value);
909
+ }
910
+ void IncrementHttp2StreamRemoteWindowUpdate(int value) {
911
+ http2_global_stats().IncrementHttp2StreamRemoteWindowUpdate(value);
912
+ }
913
+ void IncrementHttp2TransportRemoteWindowUpdate(int value) {
914
+ http2_global_stats().IncrementHttp2TransportRemoteWindowUpdate(value);
915
+ }
916
+ void IncrementHttp2TransportWindowUpdatePeriod(int value) {
917
+ http2_global_stats().IncrementHttp2TransportWindowUpdatePeriod(value);
918
+ }
919
+ void IncrementHttp2StreamWindowUpdatePeriod(int value) {
920
+ http2_global_stats().IncrementHttp2StreamWindowUpdatePeriod(value);
921
+ }
922
+ void IncrementHttp2WriteDataFrameSize(int value) {
923
+ http2_global_stats().IncrementHttp2WriteDataFrameSize(value);
924
+ }
925
+ void IncrementHttp2ReadDataFrameSize(int value) {
926
+ http2_global_stats().IncrementHttp2ReadDataFrameSize(value);
927
+ }
928
+ void IncrementHttp2WriteTargetSize(int value) {
929
+ data_.http2_write_target_size.Increment(value);
930
+ http2_global_stats().IncrementHttp2WriteTargetSize(value);
931
+ }
932
+
933
+ private:
934
+ Http2Stats data_;
935
+ };
703
936
  } // namespace grpc_core
704
937
 
705
938
  #endif // GRPC_SRC_CORE_TELEMETRY_STATS_DATA_H