grpc 1.71.0 → 1.74.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 (1726) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +129 -88
  3. data/include/grpc/create_channel_from_endpoint.h +54 -0
  4. data/include/grpc/credentials.h +11 -5
  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 +9 -7
  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/{lib/transport → call}/interception_chain.cc +5 -5
  30. data/src/core/{lib/transport → call}/interception_chain.h +14 -18
  31. data/src/core/{lib/transport → call}/message.cc +1 -1
  32. data/src/core/{lib/transport → call}/message.h +7 -3
  33. data/src/core/{lib/transport → call}/metadata.cc +2 -2
  34. data/src/core/{lib/transport → call}/metadata.h +21 -4
  35. data/src/core/{lib/transport → call}/metadata_batch.cc +1 -1
  36. data/src/core/{lib/transport → call}/metadata_batch.h +7 -7
  37. data/src/core/{lib/transport → call}/metadata_compression_traits.h +3 -3
  38. data/src/core/{lib/transport → call}/metadata_info.cc +27 -9
  39. data/src/core/{lib/transport → call}/metadata_info.h +4 -4
  40. data/src/core/{lib/transport → call}/parsed_metadata.cc +1 -1
  41. data/src/core/{lib/transport → call}/parsed_metadata.h +3 -3
  42. data/src/core/call/request_buffer.h +3 -3
  43. data/src/core/call/security_context.cc +125 -0
  44. data/src/core/call/security_context.h +114 -0
  45. data/src/core/{lib/surface → call}/server_call.cc +3 -3
  46. data/src/core/{lib/surface → call}/server_call.h +5 -5
  47. data/src/core/{lib/transport → call}/simple_slice_based_metadata.h +4 -4
  48. data/src/core/{lib/channel → call}/status_util.cc +1 -1
  49. data/src/core/{lib/channel → call}/status_util.h +3 -3
  50. data/src/core/channelz/channel_trace.cc +217 -111
  51. data/src/core/channelz/channel_trace.h +389 -64
  52. data/src/core/channelz/channelz.cc +480 -178
  53. data/src/core/channelz/channelz.h +426 -71
  54. data/src/core/channelz/channelz_registry.cc +323 -117
  55. data/src/core/channelz/channelz_registry.h +203 -21
  56. data/src/core/channelz/property_list.cc +357 -0
  57. data/src/core/channelz/property_list.h +202 -0
  58. data/src/core/channelz/ztrace_collector.h +316 -0
  59. data/src/core/client_channel/backup_poller.cc +17 -2
  60. data/src/core/client_channel/client_channel.cc +66 -68
  61. data/src/core/client_channel/client_channel.h +4 -3
  62. data/src/core/client_channel/client_channel_filter.cc +45 -64
  63. data/src/core/client_channel/client_channel_filter.h +1 -3
  64. data/src/core/client_channel/client_channel_internal.h +1 -1
  65. data/src/core/client_channel/config_selector.h +10 -4
  66. data/src/core/client_channel/connector.h +0 -3
  67. data/src/core/client_channel/direct_channel.cc +2 -2
  68. data/src/core/client_channel/dynamic_filters.cc +5 -7
  69. data/src/core/client_channel/dynamic_filters.h +1 -2
  70. data/src/core/client_channel/global_subchannel_pool.cc +71 -7
  71. data/src/core/client_channel/global_subchannel_pool.h +37 -4
  72. data/src/core/client_channel/lb_metadata.h +1 -1
  73. data/src/core/client_channel/load_balanced_call_destination.cc +1 -1
  74. data/src/core/client_channel/load_balanced_call_destination.h +1 -1
  75. data/src/core/client_channel/retry_filter.cc +21 -27
  76. data/src/core/client_channel/retry_filter.h +10 -7
  77. data/src/core/client_channel/retry_filter_legacy_call_data.cc +48 -46
  78. data/src/core/client_channel/retry_filter_legacy_call_data.h +7 -7
  79. data/src/core/client_channel/retry_interceptor.cc +30 -44
  80. data/src/core/client_channel/retry_interceptor.h +19 -18
  81. data/src/core/client_channel/retry_service_config.cc +1 -1
  82. data/src/core/client_channel/retry_service_config.h +1 -1
  83. data/src/core/client_channel/retry_throttle.cc +42 -61
  84. data/src/core/client_channel/retry_throttle.h +21 -35
  85. data/src/core/client_channel/subchannel.cc +57 -36
  86. data/src/core/client_channel/subchannel.h +11 -10
  87. data/src/core/client_channel/subchannel_pool_interface.cc +5 -6
  88. data/src/core/client_channel/subchannel_pool_interface.h +11 -1
  89. data/src/core/client_channel/subchannel_stream_client.cc +14 -11
  90. data/src/core/client_channel/subchannel_stream_client.h +2 -2
  91. data/src/core/config/config_vars.cc +13 -1
  92. data/src/core/config/config_vars.h +8 -0
  93. data/src/core/config/core_configuration.cc +51 -11
  94. data/src/core/config/core_configuration.h +102 -9
  95. data/src/core/credentials/call/call_credentials.h +157 -0
  96. data/src/core/credentials/call/call_creds_registry.h +125 -0
  97. data/src/core/credentials/call/call_creds_registry_init.cc +91 -0
  98. data/src/core/{lib/security/credentials → credentials/call}/call_creds_util.cc +4 -4
  99. data/src/core/{lib/security/credentials → credentials/call}/call_creds_util.h +4 -4
  100. data/src/core/{lib/security/credentials/composite/composite_credentials.cc → credentials/call/composite/composite_call_credentials.cc} +4 -57
  101. data/src/core/credentials/call/composite/composite_call_credentials.h +82 -0
  102. data/src/core/{lib/security/credentials → credentials/call}/external/aws_external_account_credentials.cc +2 -2
  103. data/src/core/{lib/security/credentials → credentials/call}/external/aws_external_account_credentials.h +5 -5
  104. data/src/core/{lib/security/credentials → credentials/call}/external/aws_request_signer.cc +4 -3
  105. data/src/core/{lib/security/credentials → credentials/call}/external/aws_request_signer.h +3 -3
  106. data/src/core/{lib/security/credentials → credentials/call}/external/external_account_credentials.cc +6 -6
  107. data/src/core/{lib/security/credentials → credentials/call}/external/external_account_credentials.h +5 -5
  108. data/src/core/{lib/security/credentials → credentials/call}/external/file_external_account_credentials.cc +1 -1
  109. data/src/core/{lib/security/credentials → credentials/call}/external/file_external_account_credentials.h +4 -4
  110. data/src/core/{lib/security/credentials → credentials/call}/external/url_external_account_credentials.cc +5 -4
  111. data/src/core/{lib/security/credentials → credentials/call}/external/url_external_account_credentials.h +4 -4
  112. data/src/core/{lib/security/credentials → credentials/call}/gcp_service_account_identity/gcp_service_account_identity_credentials.cc +10 -51
  113. data/src/core/{lib/security/credentials → credentials/call}/gcp_service_account_identity/gcp_service_account_identity_credentials.h +6 -6
  114. data/src/core/{lib/security/credentials → credentials/call}/iam/iam_credentials.cc +2 -2
  115. data/src/core/{lib/security/credentials → credentials/call}/iam/iam_credentials.h +4 -4
  116. data/src/core/{lib/security/util → credentials/call}/json_util.cc +1 -1
  117. data/src/core/{lib/security/util → credentials/call}/json_util.h +3 -3
  118. data/src/core/{lib/security/credentials → credentials/call}/jwt/json_token.cc +2 -2
  119. data/src/core/{lib/security/credentials → credentials/call}/jwt/json_token.h +3 -3
  120. data/src/core/{lib/security/credentials → credentials/call}/jwt/jwt_credentials.cc +3 -3
  121. data/src/core/{lib/security/credentials → credentials/call}/jwt/jwt_credentials.h +5 -5
  122. data/src/core/{lib/security/credentials → credentials/call}/jwt/jwt_verifier.cc +7 -6
  123. data/src/core/{lib/security/credentials → credentials/call}/jwt/jwt_verifier.h +3 -3
  124. data/src/core/credentials/call/jwt_token_file/jwt_token_file_call_credentials.cc +86 -0
  125. data/src/core/credentials/call/jwt_token_file/jwt_token_file_call_credentials.h +74 -0
  126. data/src/core/credentials/call/jwt_util.cc +70 -0
  127. data/src/core/credentials/call/jwt_util.h +32 -0
  128. data/src/core/{lib/security/credentials → credentials/call}/oauth2/oauth2_credentials.cc +8 -5
  129. data/src/core/{lib/security/credentials → credentials/call}/oauth2/oauth2_credentials.h +5 -5
  130. data/src/core/{lib/security/credentials → credentials/call}/plugin/plugin_credentials.cc +2 -2
  131. data/src/core/{lib/security/credentials → credentials/call}/plugin/plugin_credentials.h +5 -5
  132. data/src/core/{lib/security/credentials → credentials/call}/token_fetcher/token_fetcher_credentials.cc +1 -1
  133. data/src/core/{lib/security/credentials → credentials/call}/token_fetcher/token_fetcher_credentials.h +5 -5
  134. data/src/core/{lib/security/credentials → credentials/transport}/alts/alts_credentials.cc +4 -4
  135. data/src/core/{lib/security/credentials → credentials/transport}/alts/alts_credentials.h +5 -5
  136. data/src/core/{lib/security/security_connector → credentials/transport}/alts/alts_security_connector.cc +13 -12
  137. data/src/core/{lib/security/security_connector → credentials/transport}/alts/alts_security_connector.h +4 -4
  138. data/src/core/{lib/security/credentials → credentials/transport}/alts/check_gcp_environment.cc +1 -1
  139. data/src/core/{lib/security/credentials → credentials/transport}/alts/check_gcp_environment.h +3 -3
  140. data/src/core/{lib/security/credentials → credentials/transport}/alts/check_gcp_environment_linux.cc +1 -1
  141. data/src/core/{lib/security/credentials → credentials/transport}/alts/check_gcp_environment_no_op.cc +1 -1
  142. data/src/core/{lib/security/credentials → credentials/transport}/alts/check_gcp_environment_windows.cc +1 -1
  143. data/src/core/{lib/security/credentials → credentials/transport}/alts/grpc_alts_credentials_client_options.cc +1 -1
  144. data/src/core/{lib/security/credentials → credentials/transport}/alts/grpc_alts_credentials_options.cc +1 -1
  145. data/src/core/{lib/security/credentials → credentials/transport}/alts/grpc_alts_credentials_options.h +3 -3
  146. data/src/core/{lib/security/credentials → credentials/transport}/alts/grpc_alts_credentials_server_options.cc +1 -1
  147. data/src/core/{lib/security/credentials → credentials/transport}/channel_creds_registry.h +4 -4
  148. data/src/core/{lib/security/credentials → credentials/transport}/channel_creds_registry_init.cc +22 -18
  149. data/src/core/credentials/transport/composite/composite_channel_credentials.cc +68 -0
  150. data/src/core/{lib/security/credentials/composite/composite_credentials.h → credentials/transport/composite/composite_channel_credentials.h} +6 -51
  151. data/src/core/{lib/security/credentials → credentials/transport}/fake/fake_credentials.cc +4 -26
  152. data/src/core/{lib/security/credentials → credentials/transport}/fake/fake_credentials.h +5 -37
  153. data/src/core/{lib/security/security_connector → credentials/transport}/fake/fake_security_connector.cc +4 -4
  154. data/src/core/{lib/security/security_connector → credentials/transport}/fake/fake_security_connector.h +4 -4
  155. data/src/core/{lib/security/credentials → credentials/transport}/google_default/credentials_generic.cc +2 -2
  156. data/src/core/{lib/security/credentials → credentials/transport}/google_default/google_default_credentials.cc +106 -26
  157. data/src/core/{lib/security/credentials → credentials/transport}/google_default/google_default_credentials.h +5 -5
  158. data/src/core/{lib/security/credentials → credentials/transport}/insecure/insecure_credentials.cc +2 -2
  159. data/src/core/{lib/security/credentials → credentials/transport}/insecure/insecure_credentials.h +5 -5
  160. data/src/core/{lib/security/security_connector → credentials/transport}/insecure/insecure_security_connector.cc +2 -2
  161. data/src/core/{lib/security/security_connector → credentials/transport}/insecure/insecure_security_connector.h +5 -5
  162. data/src/core/{lib/security/credentials → credentials/transport}/local/local_credentials.cc +2 -2
  163. data/src/core/{lib/security/credentials → credentials/transport}/local/local_credentials.h +5 -5
  164. data/src/core/{lib/security/security_connector → credentials/transport}/local/local_security_connector.cc +4 -4
  165. data/src/core/{lib/security/security_connector → credentials/transport}/local/local_security_connector.h +4 -4
  166. data/src/core/{lib/security/security_connector → credentials/transport}/security_connector.cc +2 -2
  167. data/src/core/{lib/security/security_connector → credentials/transport}/security_connector.h +3 -3
  168. data/src/core/{lib/security/credentials → credentials/transport}/ssl/ssl_credentials.cc +4 -5
  169. data/src/core/{lib/security/credentials → credentials/transport}/ssl/ssl_credentials.h +6 -6
  170. data/src/core/{lib/security/security_connector → credentials/transport}/ssl/ssl_security_connector.cc +46 -16
  171. data/src/core/{lib/security/security_connector → credentials/transport}/ssl/ssl_security_connector.h +6 -5
  172. data/src/core/{lib/security/certificate_provider → credentials/transport/tls}/certificate_provider_factory.h +3 -3
  173. data/src/core/{lib/security/certificate_provider → credentials/transport/tls}/certificate_provider_registry.cc +1 -1
  174. data/src/core/{lib/security/certificate_provider → credentials/transport/tls}/certificate_provider_registry.h +4 -4
  175. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_distributor.cc +1 -1
  176. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_distributor.h +4 -4
  177. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_match.cc +1 -1
  178. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_provider.cc +2 -2
  179. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_provider.h +5 -5
  180. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_verifier.cc +2 -2
  181. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_verifier.h +3 -3
  182. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_credentials_options.cc +1 -1
  183. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_credentials_options.h +7 -7
  184. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_crl_provider.cc +1 -1
  185. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_crl_provider.h +3 -3
  186. data/src/core/{lib/security/security_connector → credentials/transport/tls}/load_system_roots.h +3 -3
  187. data/src/core/{lib/security/security_connector → credentials/transport/tls}/load_system_roots_fallback.cc +1 -1
  188. data/src/core/{lib/security/security_connector → credentials/transport/tls}/load_system_roots_supported.cc +3 -2
  189. data/src/core/{lib/security/security_connector → credentials/transport/tls}/load_system_roots_supported.h +3 -3
  190. data/src/core/{lib/security/security_connector → credentials/transport/tls}/load_system_roots_windows.cc +1 -1
  191. data/src/core/{lib/security/security_connector → credentials/transport/tls}/ssl_utils.cc +21 -3
  192. data/src/core/{lib/security/security_connector → credentials/transport/tls}/ssl_utils.h +9 -4
  193. data/src/core/{lib/security/credentials → credentials/transport}/tls/tls_credentials.cc +4 -4
  194. data/src/core/{lib/security/credentials → credentials/transport}/tls/tls_credentials.h +5 -5
  195. data/src/core/{lib/security/security_connector → credentials/transport}/tls/tls_security_connector.cc +8 -7
  196. data/src/core/{lib/security/security_connector → credentials/transport}/tls/tls_security_connector.h +6 -6
  197. data/src/core/{lib/security/credentials → credentials/transport}/tls/tls_utils.cc +1 -1
  198. data/src/core/{lib/security/credentials → credentials/transport}/tls/tls_utils.h +3 -3
  199. data/src/core/{lib/security/credentials/credentials.cc → credentials/transport/transport_credentials.cc} +1 -3
  200. data/src/core/{lib/security/credentials/credentials.h → credentials/transport/transport_credentials.h} +5 -121
  201. data/src/core/{lib/security/credentials → credentials/transport}/xds/xds_credentials.cc +5 -8
  202. data/src/core/{lib/security/credentials → credentials/transport}/xds/xds_credentials.h +6 -6
  203. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +1 -1
  204. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +14 -8
  205. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +2 -2
  206. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +1 -1
  207. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +10 -10
  208. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +17 -17
  209. data/src/core/ext/filters/http/client/http_client_filter.h +1 -1
  210. data/src/core/ext/filters/http/client_authority_filter.cc +4 -6
  211. data/src/core/ext/filters/http/message_compress/compression_filter.cc +1 -1
  212. data/src/core/ext/filters/http/message_compress/compression_filter.h +38 -5
  213. data/src/core/ext/filters/http/server/http_server_filter.cc +2 -2
  214. data/src/core/ext/filters/http/server/http_server_filter.h +18 -6
  215. data/src/core/ext/filters/message_size/message_size_filter.cc +1 -1
  216. data/src/core/ext/filters/rbac/rbac_filter.cc +2 -2
  217. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +1 -1
  218. data/src/core/ext/transport/chttp2/chttp2_plugin.cc +40 -0
  219. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +133 -149
  220. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +3 -0
  221. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +45 -970
  222. data/src/core/ext/transport/chttp2/server/chttp2_server.h +10 -2
  223. data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.cc +2 -2
  224. data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.h +1 -3
  225. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +263 -133
  226. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +0 -6
  227. data/src/core/ext/transport/chttp2/transport/decode_huff.cc +1239 -3514
  228. data/src/core/ext/transport/chttp2/transport/decode_huff.h +1008 -1486
  229. data/src/core/ext/transport/chttp2/transport/flow_control.h +23 -0
  230. data/src/core/ext/transport/chttp2/transport/frame.cc +310 -171
  231. data/src/core/ext/transport/chttp2/transport/frame.h +113 -5
  232. data/src/core/ext/transport/chttp2/transport/frame_data.cc +12 -0
  233. data/src/core/ext/transport/chttp2/transport/frame_data.h +2 -0
  234. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +15 -3
  235. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +5 -3
  236. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +2 -0
  237. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +17 -7
  238. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +3 -1
  239. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +30 -11
  240. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +8 -5
  241. data/src/core/ext/transport/chttp2/transport/header_assembler.h +299 -0
  242. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +7 -0
  243. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +4 -2
  244. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +1 -1
  245. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +3 -3
  246. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +1 -1
  247. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +11 -5
  248. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +14 -3
  249. data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +1017 -0
  250. data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +593 -0
  251. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +10 -8
  252. data/src/core/ext/transport/chttp2/transport/http2_settings.h +25 -2
  253. data/{third_party/abseil-cpp/absl/strings/cord_buffer.cc → src/core/ext/transport/chttp2/transport/http2_stats_collector.cc} +14 -14
  254. data/src/core/ext/transport/chttp2/transport/http2_stats_collector.h +33 -0
  255. data/src/core/ext/transport/chttp2/transport/http2_status.h +414 -0
  256. data/src/core/ext/transport/chttp2/transport/http2_transport.cc +43 -0
  257. data/src/core/ext/transport/chttp2/transport/http2_transport.h +65 -0
  258. data/src/core/ext/transport/chttp2/transport/http2_ztrace_collector.h +223 -0
  259. data/src/core/ext/transport/chttp2/transport/internal.h +54 -23
  260. data/src/core/ext/transport/chttp2/transport/internal_channel_arg_names.h +24 -0
  261. data/src/core/ext/transport/chttp2/transport/keepalive.cc +105 -0
  262. data/src/core/ext/transport/chttp2/transport/keepalive.h +138 -0
  263. data/src/core/ext/transport/chttp2/transport/message_assembler.h +185 -0
  264. data/src/core/ext/transport/chttp2/transport/parsing.cc +57 -31
  265. data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +19 -0
  266. data/src/core/ext/transport/chttp2/transport/ping_promise.cc +151 -0
  267. data/src/core/ext/transport/chttp2/transport/ping_promise.h +180 -0
  268. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +15 -18
  269. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +17 -0
  270. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +39 -1
  271. data/src/core/ext/transport/chttp2/transport/transport_common.cc +19 -0
  272. data/src/core/ext/transport/chttp2/transport/transport_common.h +27 -0
  273. data/src/core/ext/transport/chttp2/transport/writing.cc +103 -65
  274. data/src/core/ext/transport/inproc/inproc_transport.cc +8 -3
  275. data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +7 -3
  276. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb.h +4 -0
  277. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb.h +65 -65
  278. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.c +28 -28
  279. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb.h +14 -14
  280. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.c +6 -6
  281. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb.h +6 -6
  282. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.c +4 -4
  283. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb.h +133 -133
  284. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.c +71 -71
  285. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb.h +38 -26
  286. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.c +7 -7
  287. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb.h +228 -240
  288. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.c +66 -66
  289. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb.h +27 -27
  290. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.c +9 -9
  291. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +338 -350
  292. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +103 -103
  293. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb.h +58 -58
  294. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.c +14 -14
  295. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb.h +50 -46
  296. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c +3 -3
  297. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb.h +41 -29
  298. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c +16 -16
  299. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +210 -259
  300. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +54 -54
  301. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb.h +58 -54
  302. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.c +21 -21
  303. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb.h +4 -0
  304. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb.h +88 -92
  305. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +17 -17
  306. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb.h +112 -100
  307. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.c +34 -34
  308. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb.h +16 -12
  309. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.c +5 -5
  310. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +126 -118
  311. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +39 -39
  312. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +23 -19
  313. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +9 -9
  314. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb.h +31 -27
  315. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.c +10 -10
  316. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb.h +12 -37
  317. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.c +2 -2
  318. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb.h +49 -41
  319. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.c +16 -16
  320. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb.h +24 -24
  321. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.c +9 -9
  322. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb.h +147 -139
  323. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.c +46 -46
  324. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +73 -61
  325. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +20 -20
  326. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +3 -3
  327. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +1 -1
  328. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb.h +6 -6
  329. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.c +4 -4
  330. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb.h +53 -33
  331. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.c +14 -14
  332. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +12 -0
  333. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +20 -36
  334. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +2 -2
  335. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb.h +52 -77
  336. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.c +10 -10
  337. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +684 -692
  338. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +215 -215
  339. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb.h +17 -13
  340. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.c +4 -4
  341. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb.h +15 -3
  342. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.c +2 -2
  343. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb.h +4 -0
  344. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb.h +7 -7
  345. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.c +3 -3
  346. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb.h +19 -15
  347. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.c +7 -7
  348. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb.h +7 -7
  349. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.c +3 -3
  350. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb.h +16 -16
  351. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.c +10 -10
  352. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb.h +310 -407
  353. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.c +96 -96
  354. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb.h +8 -0
  355. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb.h +65 -61
  356. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.c +27 -27
  357. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb.h +19 -19
  358. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.c +6 -6
  359. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +25 -25
  360. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c +9 -9
  361. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb.h +34 -34
  362. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.c +9 -9
  363. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +7 -3
  364. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c +2 -2
  365. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +322 -294
  366. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +105 -105
  367. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +7 -3
  368. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c +1 -1
  369. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +23 -23
  370. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.c +8 -8
  371. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb.h +88 -84
  372. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c +28 -28
  373. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +4 -0
  374. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +99 -87
  375. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +31 -31
  376. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb.h +32 -24
  377. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.c +5 -5
  378. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +138 -168
  379. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +43 -43
  380. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb.h +6 -6
  381. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.c +2 -2
  382. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +64 -60
  383. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.c +26 -26
  384. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb.h +7 -7
  385. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.c +3 -3
  386. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb.h +4 -0
  387. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb.h +4 -0
  388. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb.h +10 -6
  389. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.c +2 -2
  390. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb.h +4 -0
  391. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb.h +4 -0
  392. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb.h +11 -7
  393. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.c +3 -3
  394. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb.h +4 -0
  395. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb.h +4 -0
  396. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb.h +8 -0
  397. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb.h +8 -0
  398. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb.h +15 -11
  399. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.c +4 -4
  400. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb.h +4 -0
  401. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb.h +4 -0
  402. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h +93 -133
  403. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c +20 -20
  404. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h +92 -123
  405. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c +27 -27
  406. data/src/core/ext/upb-gen/google/api/http.upb.h +55 -51
  407. data/src/core/ext/upb-gen/google/api/http.upb_minitable.c +22 -22
  408. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb.h +516 -317
  409. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c +150 -100
  410. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.h +5 -0
  411. data/src/core/ext/upb-gen/google/protobuf/struct.upb.h +13 -33
  412. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb.h +571 -0
  413. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb_minitable.c +120 -0
  414. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb_minitable.h +36 -0
  415. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb.h +1272 -0
  416. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.c +312 -0
  417. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.h +50 -0
  418. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb.h +984 -0
  419. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.c +226 -0
  420. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.h +44 -0
  421. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb.h +9 -28
  422. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +199 -142
  423. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +37 -31
  424. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb.h +154 -0
  425. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c +40 -2
  426. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.h +4 -0
  427. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb.h +14 -6
  428. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.c +4 -4
  429. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb.h +21 -40
  430. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.c +3 -3
  431. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb.h +70 -108
  432. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.c +17 -17
  433. data/src/core/ext/upb-gen/validate/validate.upb.h +380 -368
  434. data/src/core/ext/upb-gen/validate/validate.upb_minitable.c +117 -117
  435. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb.h +4 -0
  436. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb.h +9 -28
  437. data/src/core/ext/upb-gen/xds/core/v3/resource.upb.h +7 -7
  438. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.c +3 -3
  439. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb.h +20 -12
  440. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.c +2 -2
  441. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb.h +27 -84
  442. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb.h +7 -7
  443. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.c +3 -3
  444. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb.h +3 -3
  445. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.c +1 -1
  446. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb.h +42 -46
  447. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.c +3 -3
  448. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb.h +4 -0
  449. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb.h +4 -0
  450. data/src/core/ext/upb-gen/xds/type/v3/cel.upb.h +4 -0
  451. data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.c +123 -62
  452. data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.h +5 -1
  453. data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.c +200 -101
  454. data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.h +5 -1
  455. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.c +152 -77
  456. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.h +5 -1
  457. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.c +524 -255
  458. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.h +5 -1
  459. data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.c +44 -23
  460. data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.h +5 -1
  461. data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.c +66 -34
  462. data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.h +5 -1
  463. data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.c +54 -28
  464. data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.h +5 -1
  465. data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.c +46 -25
  466. data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.h +5 -1
  467. data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.c +47 -25
  468. data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.h +5 -1
  469. data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.c +256 -126
  470. data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.h +5 -1
  471. data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.c +50 -28
  472. data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.h +5 -1
  473. data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.c +55 -28
  474. data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.h +5 -1
  475. data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.c +34 -18
  476. data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.h +5 -1
  477. data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.c +414 -206
  478. data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.h +5 -1
  479. data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +831 -413
  480. data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +5 -1
  481. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +143 -73
  482. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +5 -1
  483. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.c +1132 -557
  484. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.h +5 -1
  485. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.c +63 -34
  486. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.h +5 -1
  487. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.c +255 -127
  488. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.h +5 -1
  489. data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.c +363 -178
  490. data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.h +5 -1
  491. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.c +227 -114
  492. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.h +5 -1
  493. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.c +57 -31
  494. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.h +5 -1
  495. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.c +596 -295
  496. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.h +5 -1
  497. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.c +271 -137
  498. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.h +5 -1
  499. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.c +56 -30
  500. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.h +5 -1
  501. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.c +45 -25
  502. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.h +5 -1
  503. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.c +59 -31
  504. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.h +5 -1
  505. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.c +438 -217
  506. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.h +5 -1
  507. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.c +441 -221
  508. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.h +5 -1
  509. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_service.upbdefs.c +55 -30
  510. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_service.upbdefs.h +5 -1
  511. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.c +57 -31
  512. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.h +5 -1
  513. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.c +619 -303
  514. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.h +5 -1
  515. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.c +70 -36
  516. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.h +5 -1
  517. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.c +62 -33
  518. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.h +5 -1
  519. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.c +47 -25
  520. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.h +5 -1
  521. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.c +97 -49
  522. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.h +5 -1
  523. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.c +97 -51
  524. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.h +5 -1
  525. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.c +51 -27
  526. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.h +5 -1
  527. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.c +147 -76
  528. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.h +5 -1
  529. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +230 -116
  530. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +5 -1
  531. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.c +277 -138
  532. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.h +5 -1
  533. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.c +48 -26
  534. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.h +5 -1
  535. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.c +388 -197
  536. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.h +5 -1
  537. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.c +304 -153
  538. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.h +5 -1
  539. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.c +173 -90
  540. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.h +5 -1
  541. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.c +90 -47
  542. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.h +5 -1
  543. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.c +98 -51
  544. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.h +5 -1
  545. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.c +196 -99
  546. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.h +5 -1
  547. data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.c +237 -118
  548. data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.h +5 -1
  549. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.c +418 -210
  550. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.h +5 -1
  551. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.c +194 -99
  552. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.h +5 -1
  553. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.c +2003 -973
  554. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.h +5 -1
  555. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.c +101 -53
  556. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.h +5 -1
  557. data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.c +352 -176
  558. data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.h +5 -1
  559. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.c +79 -42
  560. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.h +5 -1
  561. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.c +67 -37
  562. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.h +5 -1
  563. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.c +63 -34
  564. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.h +5 -1
  565. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.c +88 -47
  566. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.h +5 -1
  567. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.c +80 -43
  568. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.h +5 -1
  569. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.c +53 -29
  570. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.h +5 -1
  571. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.c +86 -46
  572. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.h +5 -1
  573. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.c +55 -32
  574. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.h +5 -1
  575. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.c +91 -49
  576. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.h +5 -1
  577. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.c +105 -55
  578. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.h +5 -1
  579. data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.c +775 -379
  580. data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.h +5 -1
  581. data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +52 -28
  582. data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +5 -1
  583. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +134 -68
  584. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +5 -1
  585. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +189 -96
  586. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +5 -1
  587. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.c +116 -61
  588. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.h +5 -1
  589. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +112 -58
  590. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +5 -1
  591. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.c +160 -82
  592. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.h +5 -1
  593. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +75 -39
  594. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +5 -1
  595. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +1161 -570
  596. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +5 -1
  597. data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +52 -28
  598. data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +5 -1
  599. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.c +55 -29
  600. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.h +5 -1
  601. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +48 -26
  602. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +5 -1
  603. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +390 -194
  604. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +5 -1
  605. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +126 -65
  606. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +5 -1
  607. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +498 -246
  608. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +5 -1
  609. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +74 -38
  610. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +5 -1
  611. data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.c +221 -110
  612. data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.h +5 -1
  613. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.c +68 -36
  614. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.h +5 -1
  615. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.c +378 -187
  616. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.h +5 -1
  617. data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.c +100 -52
  618. data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.h +5 -1
  619. data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.c +257 -129
  620. data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.h +5 -1
  621. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.c +44 -24
  622. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.h +5 -1
  623. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.c +68 -35
  624. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.h +5 -1
  625. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/address.upbdefs.c +38 -20
  626. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/address.upbdefs.h +5 -1
  627. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.c +59 -32
  628. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.h +5 -1
  629. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.c +65 -34
  630. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.h +5 -1
  631. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.c +72 -38
  632. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.h +5 -1
  633. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.c +57 -31
  634. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.h +5 -1
  635. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.c +52 -29
  636. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.h +5 -1
  637. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.c +51 -28
  638. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.h +5 -1
  639. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.c +89 -47
  640. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.h +5 -1
  641. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.c +37 -20
  642. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.h +5 -1
  643. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.c +89 -47
  644. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.h +5 -1
  645. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.c +67 -35
  646. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.h +5 -1
  647. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.c +112 -58
  648. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.h +5 -1
  649. data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.c +110 -56
  650. data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.h +5 -1
  651. data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.c +123 -62
  652. data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.h +5 -1
  653. data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.c +59 -31
  654. data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.h +5 -1
  655. data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.c +30 -16
  656. data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.h +5 -1
  657. data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.c +143 -72
  658. data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.h +5 -1
  659. data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.c +61 -32
  660. data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.h +5 -1
  661. data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.c +51 -27
  662. data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.h +5 -1
  663. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.c +85 -45
  664. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.h +5 -1
  665. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.c +35 -19
  666. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.h +5 -1
  667. data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.c +44 -23
  668. data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.h +5 -1
  669. data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.c +61 -33
  670. data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.h +5 -1
  671. data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.c +35 -19
  672. data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.h +5 -1
  673. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.c +272 -133
  674. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.h +5 -1
  675. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.c +315 -154
  676. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.h +5 -1
  677. data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.c +64 -33
  678. data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.h +5 -1
  679. data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.c +35 -19
  680. data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.h +5 -1
  681. data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.c +26 -15
  682. data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.h +5 -1
  683. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.c +1106 -497
  684. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.h +10 -1
  685. data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.c +28 -16
  686. data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.h +5 -1
  687. data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.c +23 -13
  688. data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.h +5 -1
  689. data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.c +69 -35
  690. data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.h +5 -1
  691. data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.c +29 -16
  692. data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.h +5 -1
  693. data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.c +51 -26
  694. data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.h +5 -1
  695. data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.c +32 -17
  696. data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.h +5 -1
  697. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/promise.upbdefs.c +175 -0
  698. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/promise.upbdefs.h +82 -0
  699. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/property_list.upbdefs.c +135 -0
  700. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/property_list.upbdefs.h +67 -0
  701. data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +161 -79
  702. data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +5 -1
  703. data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.c +84 -42
  704. data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.h +5 -1
  705. data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.c +48 -26
  706. data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.h +5 -1
  707. data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.c +26 -14
  708. data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.h +5 -1
  709. data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.c +50 -26
  710. data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.h +5 -1
  711. data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.c +36 -19
  712. data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.h +5 -1
  713. data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.c +538 -261
  714. data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.h +5 -1
  715. data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.c +86 -43
  716. data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.h +5 -1
  717. data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.c +49 -26
  718. data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.h +5 -1
  719. data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.c +27 -15
  720. data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.h +5 -1
  721. data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.c +87 -44
  722. data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.h +5 -1
  723. data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.c +37 -20
  724. data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.h +5 -1
  725. data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.c +30 -17
  726. data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.h +5 -1
  727. data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.c +41 -23
  728. data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.h +5 -1
  729. data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.c +62 -33
  730. data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.h +5 -1
  731. data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.c +36 -19
  732. data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.h +5 -1
  733. data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.c +36 -20
  734. data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.h +5 -1
  735. data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.c +42 -23
  736. data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.h +5 -1
  737. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.c +76 -39
  738. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.h +5 -1
  739. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.c +45 -24
  740. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.h +5 -1
  741. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.c +41 -23
  742. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.h +5 -1
  743. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.c +53 -29
  744. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.h +5 -1
  745. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.c +29 -16
  746. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.h +5 -1
  747. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.c +58 -32
  748. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.h +5 -1
  749. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.c +207 -103
  750. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.h +5 -1
  751. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.c +95 -49
  752. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.h +5 -1
  753. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.c +38 -20
  754. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.h +5 -1
  755. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.c +60 -31
  756. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.h +5 -1
  757. data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.c +67 -36
  758. data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.h +5 -1
  759. data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.c +31 -17
  760. data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h +5 -1
  761. data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.c +31 -17
  762. data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h +5 -1
  763. data/src/core/{lib/security/transport → filter/auth}/auth_filters.h +8 -32
  764. data/src/core/{lib/security/transport → filter/auth}/client_auth_filter.cc +7 -124
  765. data/src/core/{lib/security/transport → filter/auth}/server_auth_filter.cc +5 -4
  766. data/src/core/filter/filter_args.h +9 -23
  767. data/src/core/handshaker/handshaker.cc +23 -22
  768. data/src/core/handshaker/handshaker.h +3 -0
  769. data/src/core/handshaker/http_connect/http_connect_handshaker.cc +3 -1
  770. data/src/core/handshaker/http_connect/http_proxy_mapper.cc +7 -22
  771. data/src/core/handshaker/security/legacy_secure_endpoint.cc +597 -0
  772. data/src/core/handshaker/security/secure_endpoint.cc +812 -310
  773. data/src/core/handshaker/security/secure_endpoint.h +17 -0
  774. data/src/core/handshaker/security/security_handshaker.cc +8 -5
  775. data/src/core/handshaker/security/security_handshaker.h +1 -1
  776. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +7 -1
  777. data/src/core/lib/address_utils/sockaddr_utils.cc +5 -5
  778. data/src/core/lib/channel/channel_args.cc +15 -0
  779. data/src/core/lib/channel/channel_args.h +56 -30
  780. data/src/core/lib/channel/channel_stack.cc +32 -4
  781. data/src/core/lib/channel/channel_stack.h +16 -6
  782. data/src/core/lib/channel/channel_stack_builder_impl.cc +2 -2
  783. data/src/core/lib/channel/channel_stack_builder_impl.h +2 -7
  784. data/src/core/lib/channel/connected_channel.cc +2 -2
  785. data/src/core/lib/channel/promise_based_filter.h +715 -307
  786. data/src/core/lib/debug/trace_flags.cc +4 -6
  787. data/src/core/lib/debug/trace_flags.h +2 -3
  788. data/src/core/lib/debug/trace_impl.h +0 -1
  789. data/src/core/lib/event_engine/ares_resolver.cc +165 -46
  790. data/src/core/lib/event_engine/ares_resolver.h +48 -2
  791. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +8 -2
  792. data/src/core/lib/event_engine/cf_engine/cf_engine.h +1 -4
  793. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +4 -4
  794. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +10 -6
  795. data/src/core/lib/event_engine/default_event_engine_factory.cc +6 -6
  796. data/src/core/lib/event_engine/default_event_engine_factory.h +1 -1
  797. data/src/core/lib/event_engine/endpoint_channel_arg_wrapper.cc +40 -0
  798. data/src/core/lib/event_engine/endpoint_channel_arg_wrapper.h +60 -0
  799. data/src/core/lib/event_engine/event_engine.cc +7 -0
  800. data/src/core/lib/event_engine/extensions/blocking_dns.h +46 -0
  801. data/src/core/lib/event_engine/extensions/channelz.h +66 -0
  802. data/src/core/lib/event_engine/extensions/iomgr_compatible.h +39 -0
  803. data/src/core/lib/event_engine/extensions/supports_win_sockets.h +48 -0
  804. data/src/core/lib/event_engine/extensions/tcp_trace.h +2 -2
  805. data/src/core/lib/event_engine/grpc_polled_fd.h +5 -0
  806. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +130 -162
  807. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +11 -15
  808. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +75 -117
  809. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +7 -9
  810. data/src/core/lib/event_engine/posix_engine/event_poller.h +18 -15
  811. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +0 -18
  812. data/src/core/lib/event_engine/posix_engine/file_descriptor_collection.cc +124 -0
  813. data/src/core/lib/event_engine/posix_engine/file_descriptor_collection.h +243 -0
  814. data/src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h +29 -19
  815. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +6 -2
  816. data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +6 -1
  817. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +4 -7
  818. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.h +3 -0
  819. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +149 -99
  820. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +29 -33
  821. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +342 -105
  822. data/src/core/lib/event_engine/posix_engine/posix_engine.h +72 -29
  823. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +45 -37
  824. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +6 -4
  825. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +58 -142
  826. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +10 -5
  827. data/src/core/lib/event_engine/posix_engine/posix_interface.h +211 -0
  828. data/src/core/lib/event_engine/posix_engine/posix_interface_posix.cc +1083 -0
  829. data/src/core/lib/event_engine/posix_engine/posix_interface_windows.cc +281 -0
  830. data/src/core/lib/event_engine/posix_engine/posix_write_event_sink.cc +154 -0
  831. data/src/core/lib/event_engine/posix_engine/posix_write_event_sink.h +174 -0
  832. data/src/core/lib/event_engine/posix_engine/set_socket_dualstack.cc +64 -0
  833. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +3 -730
  834. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +10 -170
  835. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +33 -22
  836. data/src/core/lib/event_engine/posix_engine/timer_manager.h +13 -11
  837. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +117 -151
  838. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +26 -94
  839. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +26 -25
  840. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +6 -2
  841. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +36 -54
  842. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h +6 -2
  843. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +7 -6
  844. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +12 -6
  845. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +3 -1
  846. data/src/core/lib/event_engine/query_extensions.h +10 -21
  847. data/src/core/lib/event_engine/shim.cc +16 -14
  848. data/src/core/lib/event_engine/shim.h +14 -0
  849. data/src/core/lib/event_engine/tcp_socket_utils.cc +10 -9
  850. data/src/core/lib/event_engine/thread_pool/thread_pool.h +7 -3
  851. data/src/core/lib/event_engine/thread_pool/thread_pool_factory.cc +0 -17
  852. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +19 -9
  853. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +5 -3
  854. data/src/core/lib/event_engine/utils.cc +34 -0
  855. data/src/core/lib/event_engine/utils.h +3 -0
  856. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +4 -0
  857. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.h +4 -0
  858. data/src/core/lib/event_engine/windows/win_socket.cc +11 -0
  859. data/src/core/lib/event_engine/windows/win_socket.h +3 -0
  860. data/src/core/lib/event_engine/windows/windows_endpoint.cc +7 -12
  861. data/src/core/lib/event_engine/windows/windows_endpoint.h +5 -2
  862. data/src/core/lib/event_engine/windows/windows_engine.cc +42 -1
  863. data/src/core/lib/event_engine/windows/windows_engine.h +7 -3
  864. data/src/core/lib/event_engine/windows/windows_listener.cc +19 -8
  865. data/src/core/lib/event_engine/windows/windows_listener.h +9 -4
  866. data/src/core/lib/experiments/experiments.cc +393 -141
  867. data/src/core/lib/experiments/experiments.h +149 -79
  868. data/src/core/lib/iomgr/combiner.cc +3 -2
  869. data/src/core/lib/iomgr/endpoint.cc +4 -3
  870. data/src/core/lib/iomgr/endpoint.h +7 -4
  871. data/src/core/lib/iomgr/endpoint_cfstream.cc +3 -2
  872. data/src/core/lib/iomgr/endpoint_pair_posix.cc +43 -16
  873. data/src/core/lib/iomgr/endpoint_pair_windows.cc +43 -8
  874. data/src/core/lib/iomgr/error.cc +27 -43
  875. data/src/core/lib/iomgr/ev_epoll1_linux.cc +18 -1
  876. data/src/core/lib/iomgr/ev_poll_posix.cc +22 -0
  877. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +11 -10
  878. data/src/core/lib/iomgr/fork_posix.cc +0 -7
  879. data/src/core/lib/iomgr/iomgr.cc +0 -3
  880. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +3 -0
  881. data/src/core/lib/iomgr/polling_entity.cc +2 -7
  882. data/src/core/lib/iomgr/resolve_address_posix.cc +37 -47
  883. data/src/core/lib/iomgr/resolve_address_posix.h +15 -0
  884. data/src/core/lib/iomgr/resolve_address_windows.cc +22 -45
  885. data/src/core/lib/iomgr/resolve_address_windows.h +15 -2
  886. data/src/core/lib/iomgr/socket_utils_common_posix.cc +1 -0
  887. data/src/core/lib/iomgr/socket_utils_posix.cc +22 -11
  888. data/src/core/lib/iomgr/socket_utils_posix.h +12 -2
  889. data/src/core/lib/iomgr/tcp_client_cfstream.cc +8 -9
  890. data/src/core/lib/iomgr/tcp_client_posix.cc +25 -21
  891. data/src/core/lib/iomgr/tcp_client_posix.h +1 -1
  892. data/src/core/lib/iomgr/tcp_posix.cc +82 -47
  893. data/src/core/lib/iomgr/tcp_posix.h +10 -2
  894. data/src/core/lib/iomgr/tcp_server_posix.cc +9 -1
  895. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +1 -4
  896. data/src/core/lib/iomgr/tcp_server_windows.cc +41 -18
  897. data/src/core/lib/iomgr/tcp_windows.cc +3 -2
  898. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +10 -2
  899. data/src/core/lib/promise/activity.h +1 -0
  900. data/src/core/lib/promise/all_ok.h +31 -0
  901. data/src/core/lib/promise/arena_promise.h +23 -7
  902. data/src/core/lib/promise/detail/promise_factory.h +10 -0
  903. data/src/core/lib/promise/detail/promise_like.h +132 -1
  904. data/src/core/lib/promise/detail/promise_variant.h +50 -0
  905. data/src/core/lib/promise/detail/seq_state.h +880 -0
  906. data/src/core/lib/promise/if.h +20 -0
  907. data/src/core/lib/promise/inter_activity_latch.h +147 -0
  908. data/src/core/lib/promise/inter_activity_mutex.h +547 -0
  909. data/src/core/lib/promise/loop.h +73 -8
  910. data/src/core/lib/promise/map.h +106 -2
  911. data/src/core/lib/promise/match_promise.h +103 -0
  912. data/src/core/lib/promise/mpsc.cc +425 -0
  913. data/src/core/lib/promise/mpsc.h +490 -0
  914. data/src/core/lib/promise/party.cc +50 -1
  915. data/src/core/lib/promise/party.h +71 -2
  916. data/src/core/lib/promise/poll.h +22 -20
  917. data/src/core/lib/promise/promise.h +4 -2
  918. data/src/core/lib/promise/race.h +31 -0
  919. data/src/core/lib/promise/seq.h +5 -0
  920. data/src/core/lib/promise/sleep.cc +6 -3
  921. data/src/core/lib/promise/status_flag.h +28 -9
  922. data/src/core/lib/promise/try_seq.h +5 -0
  923. data/src/core/lib/promise/wait_set.cc +28 -0
  924. data/src/core/lib/promise/wait_set.h +86 -0
  925. data/src/core/lib/resource_quota/arena.h +19 -0
  926. data/src/core/lib/resource_quota/memory_quota.cc +9 -0
  927. data/src/core/lib/resource_quota/memory_quota.h +1 -3
  928. data/src/core/lib/security/authorization/evaluate_args.cc +1 -1
  929. data/src/core/lib/security/authorization/evaluate_args.h +1 -1
  930. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +1 -1
  931. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +1 -1
  932. data/src/core/lib/slice/slice.h +11 -0
  933. data/src/core/lib/slice/slice_buffer.h +6 -0
  934. data/src/core/lib/surface/call.cc +24 -18
  935. data/src/core/lib/surface/call_utils.cc +3 -3
  936. data/src/core/lib/surface/call_utils.h +3 -3
  937. data/src/core/lib/surface/channel.h +2 -2
  938. data/src/core/lib/surface/channel_create.cc +139 -4
  939. data/src/core/lib/surface/channel_create.h +4 -0
  940. data/src/core/lib/surface/channel_init.cc +164 -47
  941. data/src/core/lib/surface/channel_init.h +66 -3
  942. data/src/core/lib/surface/completion_queue.cc +77 -17
  943. data/src/core/lib/surface/filter_stack_call.cc +58 -36
  944. data/src/core/lib/surface/filter_stack_call.h +1 -1
  945. data/src/core/lib/surface/init.cc +10 -20
  946. data/src/core/lib/surface/lame_client.cc +1 -1
  947. data/src/core/lib/surface/legacy_channel.cc +30 -28
  948. data/src/core/lib/surface/legacy_channel.h +4 -2
  949. data/src/core/lib/surface/version.cc +2 -2
  950. data/src/core/lib/transport/error_utils.cc +65 -11
  951. data/src/core/lib/transport/error_utils.h +2 -2
  952. data/src/core/lib/transport/promise_endpoint.cc +110 -0
  953. data/src/core/lib/transport/promise_endpoint.h +307 -0
  954. data/src/core/lib/transport/status_conversion.cc +11 -36
  955. data/src/core/lib/transport/status_conversion.h +5 -4
  956. data/src/core/lib/transport/transport.cc +2 -2
  957. data/src/core/lib/transport/transport.h +8 -5
  958. data/src/core/lib/transport/transport_op_string.cc +1 -1
  959. data/src/core/load_balancing/backend_metric_parser.cc +12 -18
  960. data/src/core/load_balancing/child_policy_handler.cc +2 -4
  961. data/src/core/load_balancing/delegating_helper.h +3 -4
  962. data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +1 -1
  963. data/src/core/load_balancing/grpclb/grpclb.cc +3 -4
  964. data/src/core/load_balancing/health_check_client.cc +3 -9
  965. data/src/core/load_balancing/lb_policy.h +1 -3
  966. data/src/core/load_balancing/oob_backend_metric.cc +3 -9
  967. data/src/core/load_balancing/outlier_detection/outlier_detection.cc +4 -3
  968. data/src/core/load_balancing/pick_first/pick_first.cc +6 -958
  969. data/src/core/load_balancing/rls/rls.cc +37 -42
  970. data/src/core/load_balancing/round_robin/round_robin.cc +2 -3
  971. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +4 -4
  972. data/src/core/load_balancing/weighted_target/weighted_target.cc +4 -10
  973. data/src/core/load_balancing/xds/cds.cc +13 -11
  974. data/src/core/load_balancing/xds/xds_cluster_impl.cc +1 -1
  975. data/src/core/load_balancing/xds/xds_override_host.cc +55 -34
  976. data/src/core/plugin_registry/grpc_plugin_registry.cc +4 -0
  977. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +2 -2
  978. data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +1 -3
  979. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +4 -0
  980. data/src/core/resolver/google_c2p/google_c2p_resolver.cc +1 -1
  981. data/src/core/resolver/sockaddr/sockaddr_resolver.cc +2 -1
  982. data/src/core/resolver/xds/xds_config.cc +6 -3
  983. data/src/core/resolver/xds/xds_config.h +9 -4
  984. data/src/core/resolver/xds/xds_dependency_manager.cc +29 -9
  985. data/src/core/resolver/xds/xds_dependency_manager.h +2 -1
  986. data/src/core/resolver/xds/xds_resolver.cc +35 -14
  987. data/src/core/server/add_port.cc +87 -0
  988. data/src/core/server/server.cc +135 -66
  989. data/src/core/server/server.h +24 -7
  990. data/src/core/server/server_call_tracer_filter.cc +1 -1
  991. data/src/core/server/server_config_selector.h +1 -1
  992. data/src/core/server/server_config_selector_filter.cc +1 -1
  993. data/src/core/server/xds_server_config_fetcher.cc +68 -30
  994. data/src/core/service_config/service_config.h +1 -1
  995. data/src/core/service_config/service_config_channel_arg_filter.cc +1 -1
  996. data/src/core/service_config/service_config_impl.h +1 -1
  997. data/src/core/telemetry/call_tracer.cc +4 -6
  998. data/src/core/telemetry/call_tracer.h +4 -4
  999. data/src/core/telemetry/context_list_entry.cc +38 -0
  1000. data/src/core/{ext/transport/chttp2/transport → telemetry}/context_list_entry.h +45 -15
  1001. data/src/core/telemetry/default_tcp_tracer.cc +26 -0
  1002. data/src/core/telemetry/default_tcp_tracer.h +44 -0
  1003. data/src/core/telemetry/metrics.cc +30 -12
  1004. data/src/core/telemetry/metrics.h +15 -3
  1005. data/src/core/telemetry/stats.h +0 -5
  1006. data/src/core/telemetry/stats_data.cc +564 -423
  1007. data/src/core/telemetry/stats_data.h +474 -241
  1008. data/src/core/telemetry/tcp_tracer.cc +38 -0
  1009. data/src/core/telemetry/tcp_tracer.h +103 -99
  1010. data/src/core/{lib/security/context/security_context.cc → transport/auth_context.cc} +1 -97
  1011. data/src/core/{lib/security/context/security_context.h → transport/auth_context.h} +5 -76
  1012. data/src/core/transport/endpoint_transport.h +90 -0
  1013. data/src/core/transport/endpoint_transport_client_channel_factory.cc +61 -0
  1014. data/src/core/transport/endpoint_transport_client_channel_factory.h +57 -0
  1015. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +33 -1
  1016. data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +3 -1
  1017. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +76 -22
  1018. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +9 -3
  1019. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +11 -3
  1020. data/src/core/tsi/fake_transport_security.cc +17 -0
  1021. data/src/core/tsi/ssl_transport_security.cc +192 -72
  1022. data/src/core/tsi/ssl_transport_security.h +6 -1
  1023. data/src/core/tsi/transport_security.h +3 -0
  1024. data/src/core/tsi/transport_security_grpc.cc +8 -0
  1025. data/src/core/tsi/transport_security_grpc.h +22 -3
  1026. data/src/core/tsi/transport_security_interface.h +30 -25
  1027. data/src/core/util/backoff.cc +5 -16
  1028. data/src/core/util/backoff.h +1 -1
  1029. data/src/core/util/check_class_size.h +48 -0
  1030. data/src/core/util/down_cast.h +1 -1
  1031. data/src/core/util/dual_ref_counted.h +48 -0
  1032. data/src/core/util/function_signature.h +80 -0
  1033. data/src/core/util/gcp_metadata_query.cc +4 -3
  1034. data/src/core/util/http_client/httpcli.cc +15 -8
  1035. data/src/core/util/http_client/httpcli.h +4 -1
  1036. data/src/core/util/http_client/httpcli_security_connector.cc +5 -4
  1037. data/src/core/util/json/json_object_loader.h +3 -3
  1038. data/src/core/util/latent_see.cc +28 -2
  1039. data/src/core/util/latent_see.h +19 -28
  1040. data/src/core/util/linux/env.cc +3 -1
  1041. data/src/core/util/load_file.cc +26 -14
  1042. data/src/core/util/log.cc +4 -0
  1043. data/src/core/util/memory_usage.h +268 -0
  1044. data/src/core/util/per_cpu.cc +2 -0
  1045. data/src/core/util/per_cpu.h +7 -0
  1046. data/src/core/util/ref_counted_ptr.h +26 -0
  1047. data/src/core/util/shared_bit_gen.cc +21 -0
  1048. data/src/core/util/shared_bit_gen.h +64 -0
  1049. data/src/core/util/single_set_ptr.h +35 -4
  1050. data/src/core/util/status_helper.cc +86 -63
  1051. data/src/core/util/status_helper.h +9 -26
  1052. data/src/core/util/upb_utils.h +42 -0
  1053. data/src/core/util/uri.cc +76 -17
  1054. data/src/core/util/uri.h +13 -8
  1055. data/src/core/util/useful.h +53 -2
  1056. data/src/core/util/wait_for_single_owner.cc +31 -0
  1057. data/src/core/util/wait_for_single_owner.h +24 -0
  1058. data/src/core/xds/grpc/certificate_provider_store.cc +1 -1
  1059. data/src/core/xds/grpc/certificate_provider_store.h +3 -3
  1060. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +3 -3
  1061. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.h +1 -1
  1062. data/src/core/xds/grpc/xds_bootstrap_grpc.cc +12 -7
  1063. data/src/core/xds/grpc/xds_bootstrap_grpc.h +5 -0
  1064. data/src/core/xds/grpc/xds_certificate_provider.cc +1 -1
  1065. data/src/core/xds/grpc/xds_certificate_provider.h +2 -2
  1066. data/src/core/xds/grpc/xds_client_grpc.cc +13 -8
  1067. data/src/core/xds/grpc/xds_client_grpc.h +4 -2
  1068. data/src/core/xds/grpc/xds_cluster.h +3 -3
  1069. data/src/core/xds/grpc/xds_cluster_parser.cc +3 -2
  1070. data/src/core/xds/grpc/xds_common_types_parser.cc +138 -58
  1071. data/src/core/xds/grpc/xds_common_types_parser.h +12 -0
  1072. data/src/core/xds/grpc/xds_http_fault_filter.cc +1 -1
  1073. data/src/core/xds/grpc/xds_http_filter.h +8 -1
  1074. data/src/core/xds/grpc/xds_http_filter_registry.cc +1 -3
  1075. data/src/core/xds/grpc/xds_http_filter_registry.h +1 -1
  1076. data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +22 -0
  1077. data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +3 -0
  1078. data/src/core/xds/grpc/xds_http_rbac_filter.cc +10 -17
  1079. data/src/core/xds/grpc/xds_metadata_parser.cc +40 -64
  1080. data/src/core/xds/grpc/xds_metadata_parser.h +0 -2
  1081. data/src/core/xds/grpc/xds_route_config.h +1 -1
  1082. data/src/core/xds/grpc/xds_route_config_parser.cc +71 -116
  1083. data/src/core/xds/grpc/xds_route_config_parser.h +1 -1
  1084. data/src/core/xds/grpc/xds_routing.h +1 -1
  1085. data/src/core/xds/grpc/xds_server_grpc.cc +110 -48
  1086. data/src/core/xds/grpc/xds_server_grpc.h +31 -13
  1087. data/src/core/xds/grpc/xds_server_grpc_interface.h +6 -2
  1088. data/src/core/xds/grpc/xds_transport_grpc.cc +23 -5
  1089. data/src/core/xds/grpc/xds_transport_grpc.h +5 -3
  1090. data/src/core/xds/xds_client/lrs_client.cc +6 -5
  1091. data/src/core/xds/xds_client/lrs_client.h +7 -7
  1092. data/src/core/xds/xds_client/xds_bootstrap.h +18 -1
  1093. data/src/core/xds/xds_client/xds_client.cc +52 -29
  1094. data/src/core/xds/xds_client/xds_client.h +3 -1
  1095. data/src/core/xds/xds_client/xds_resource_type.h +1 -2
  1096. data/src/core/xds/xds_client/xds_transport.h +1 -1
  1097. data/src/ruby/ext/grpc/extconf.rb +4 -2
  1098. data/src/ruby/ext/grpc/rb_call.c +1 -8
  1099. data/src/ruby/ext/grpc/rb_channel.c +72 -568
  1100. data/src/ruby/ext/grpc/rb_channel.h +0 -3
  1101. data/src/ruby/ext/grpc/rb_completion_queue.c +26 -14
  1102. data/src/ruby/ext/grpc/rb_completion_queue.h +1 -7
  1103. data/src/ruby/ext/grpc/rb_grpc.c +9 -5
  1104. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +1 -1
  1105. data/src/ruby/ext/grpc/rb_loader.c +0 -4
  1106. data/src/ruby/ext/grpc/rb_server.c +31 -50
  1107. data/src/ruby/lib/grpc/generic/client_stub.rb +4 -4
  1108. data/src/ruby/lib/grpc/version.rb +1 -1
  1109. data/src/ruby/spec/core_spec.rb +22 -0
  1110. data/src/ruby/spec/generic/active_call_spec.rb +1 -1
  1111. data/src/ruby/spec/generic/client_stub_spec.rb +2 -6
  1112. data/src/ruby/spec/generic/rpc_server_spec.rb +1 -1
  1113. data/third_party/abseil-cpp/absl/algorithm/algorithm.h +2 -2
  1114. data/third_party/abseil-cpp/absl/algorithm/container.h +81 -67
  1115. data/third_party/abseil-cpp/absl/base/attributes.h +142 -23
  1116. data/third_party/abseil-cpp/absl/base/call_once.h +18 -16
  1117. data/third_party/abseil-cpp/absl/base/config.h +23 -132
  1118. data/third_party/abseil-cpp/absl/base/{internal/fast_type_id.h → fast_type_id.h} +11 -16
  1119. data/third_party/abseil-cpp/absl/base/internal/cycleclock.cc +0 -5
  1120. data/third_party/abseil-cpp/absl/base/internal/cycleclock_config.h +7 -7
  1121. data/third_party/abseil-cpp/absl/base/internal/endian.h +34 -38
  1122. data/third_party/abseil-cpp/absl/base/internal/iterator_traits.h +71 -0
  1123. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +6 -5
  1124. data/third_party/abseil-cpp/absl/base/internal/nullability_deprecated.h +106 -0
  1125. data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +1 -1
  1126. data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +0 -9
  1127. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +3 -13
  1128. data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +14 -0
  1129. data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +5 -1
  1130. data/third_party/abseil-cpp/absl/base/internal/tracing.cc +39 -0
  1131. data/third_party/abseil-cpp/absl/base/internal/tracing.h +81 -0
  1132. data/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +6 -6
  1133. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +0 -10
  1134. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +17 -0
  1135. data/third_party/abseil-cpp/absl/base/macros.h +35 -4
  1136. data/third_party/abseil-cpp/absl/base/no_destructor.h +11 -32
  1137. data/third_party/abseil-cpp/absl/base/nullability.h +124 -56
  1138. data/third_party/abseil-cpp/absl/base/optimization.h +8 -12
  1139. data/third_party/abseil-cpp/absl/base/options.h +7 -81
  1140. data/third_party/abseil-cpp/absl/base/policy_checks.h +9 -7
  1141. data/third_party/abseil-cpp/absl/cleanup/cleanup.h +1 -3
  1142. data/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h +3 -4
  1143. data/third_party/abseil-cpp/absl/container/btree_map.h +891 -0
  1144. data/third_party/abseil-cpp/absl/container/btree_set.h +826 -0
  1145. data/third_party/abseil-cpp/absl/container/fixed_array.h +9 -15
  1146. data/third_party/abseil-cpp/absl/container/flat_hash_map.h +22 -3
  1147. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +23 -4
  1148. data/third_party/abseil-cpp/absl/container/inlined_vector.h +10 -6
  1149. data/third_party/abseil-cpp/absl/container/internal/btree.h +3149 -0
  1150. data/third_party/abseil-cpp/absl/container/internal/btree_container.h +867 -0
  1151. data/third_party/abseil-cpp/absl/container/internal/common.h +43 -0
  1152. data/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h +10 -2
  1153. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +10 -10
  1154. data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +1 -8
  1155. data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +0 -4
  1156. data/third_party/abseil-cpp/absl/container/internal/hashtable_control_bytes.h +527 -0
  1157. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +20 -4
  1158. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +31 -12
  1159. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +6 -9
  1160. data/third_party/abseil-cpp/absl/container/internal/layout.h +27 -43
  1161. data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +199 -68
  1162. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +1462 -263
  1163. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +1170 -1547
  1164. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl.h +80 -0
  1165. data/third_party/abseil-cpp/absl/crc/crc32c.cc +0 -4
  1166. data/third_party/abseil-cpp/absl/crc/crc32c.h +7 -5
  1167. data/third_party/abseil-cpp/absl/crc/internal/cpu_detect.cc +56 -0
  1168. data/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +0 -22
  1169. data/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +45 -74
  1170. data/third_party/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h +21 -7
  1171. data/third_party/abseil-cpp/absl/debugging/internal/addresses.h +57 -0
  1172. data/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.cc +1 -1
  1173. data/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.h +5 -5
  1174. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +12 -37
  1175. data/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.cc +16 -16
  1176. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +1 -1
  1177. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +40 -21
  1178. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +16 -7
  1179. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +7 -0
  1180. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +14 -5
  1181. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +10 -4
  1182. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +27 -16
  1183. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +20 -8
  1184. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +4 -3
  1185. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +15 -28
  1186. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +19 -9
  1187. data/third_party/abseil-cpp/absl/debugging/leak_check.cc +73 -0
  1188. data/third_party/abseil-cpp/absl/debugging/leak_check.h +150 -0
  1189. data/third_party/abseil-cpp/absl/debugging/stacktrace.cc +144 -27
  1190. data/third_party/abseil-cpp/absl/debugging/stacktrace.h +73 -5
  1191. data/third_party/abseil-cpp/absl/debugging/symbolize.cc +3 -2
  1192. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +67 -18
  1193. data/third_party/abseil-cpp/absl/debugging/symbolize_emscripten.inc +3 -2
  1194. data/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc +25 -6
  1195. data/third_party/abseil-cpp/absl/flags/commandlineflag.cc +1 -0
  1196. data/third_party/abseil-cpp/absl/flags/commandlineflag.h +9 -2
  1197. data/third_party/abseil-cpp/absl/flags/flag.h +18 -15
  1198. data/third_party/abseil-cpp/absl/flags/internal/commandlineflag.h +2 -2
  1199. data/third_party/abseil-cpp/absl/flags/internal/flag.cc +14 -5
  1200. data/third_party/abseil-cpp/absl/flags/internal/flag.h +23 -11
  1201. data/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.cc +4 -0
  1202. data/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.h +3 -0
  1203. data/third_party/abseil-cpp/absl/flags/internal/program_name.cc +13 -12
  1204. data/third_party/abseil-cpp/absl/flags/internal/registry.h +4 -3
  1205. data/third_party/abseil-cpp/absl/flags/reflection.cc +2 -3
  1206. data/third_party/abseil-cpp/absl/flags/usage_config.cc +9 -4
  1207. data/third_party/abseil-cpp/absl/functional/any_invocable.h +8 -10
  1208. data/third_party/abseil-cpp/absl/functional/function_ref.h +2 -9
  1209. data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +110 -226
  1210. data/third_party/abseil-cpp/absl/functional/internal/front_binder.h +10 -12
  1211. data/third_party/abseil-cpp/absl/functional/internal/function_ref.h +2 -5
  1212. data/third_party/abseil-cpp/absl/hash/hash.h +44 -2
  1213. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +14 -18
  1214. data/third_party/abseil-cpp/absl/hash/internal/hash.h +257 -127
  1215. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc +27 -72
  1216. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.h +2 -6
  1217. data/third_party/abseil-cpp/absl/hash/internal/weakly_mixed_integer.h +38 -0
  1218. data/third_party/abseil-cpp/absl/log/absl_vlog_is_on.h +2 -0
  1219. data/third_party/abseil-cpp/absl/log/check.h +2 -1
  1220. data/third_party/abseil-cpp/absl/log/globals.h +4 -5
  1221. data/third_party/abseil-cpp/absl/log/internal/append_truncated.h +28 -0
  1222. data/third_party/abseil-cpp/absl/log/internal/check_op.cc +43 -38
  1223. data/third_party/abseil-cpp/absl/log/internal/check_op.h +124 -99
  1224. data/third_party/abseil-cpp/absl/log/internal/conditions.cc +5 -3
  1225. data/third_party/abseil-cpp/absl/log/internal/conditions.h +7 -2
  1226. data/third_party/abseil-cpp/absl/log/internal/log_message.cc +158 -64
  1227. data/third_party/abseil-cpp/absl/log/internal/log_message.h +140 -83
  1228. data/third_party/abseil-cpp/absl/log/internal/nullstream.h +1 -0
  1229. data/third_party/abseil-cpp/absl/log/internal/proto.cc +3 -5
  1230. data/third_party/abseil-cpp/absl/log/internal/proto.h +28 -18
  1231. data/third_party/abseil-cpp/absl/log/internal/strip.h +4 -12
  1232. data/third_party/abseil-cpp/absl/log/internal/structured_proto.cc +115 -0
  1233. data/third_party/abseil-cpp/absl/log/internal/structured_proto.h +107 -0
  1234. data/third_party/abseil-cpp/absl/log/internal/vlog_config.cc +8 -1
  1235. data/third_party/abseil-cpp/absl/log/internal/vlog_config.h +8 -6
  1236. data/third_party/abseil-cpp/absl/log/internal/voidify.h +10 -4
  1237. data/third_party/abseil-cpp/absl/log/log.h +48 -35
  1238. data/third_party/abseil-cpp/absl/log/log_sink_registry.h +5 -2
  1239. data/third_party/abseil-cpp/absl/log/vlog_is_on.h +2 -0
  1240. data/third_party/abseil-cpp/absl/meta/type_traits.h +62 -181
  1241. data/third_party/abseil-cpp/absl/numeric/bits.h +68 -2
  1242. data/third_party/abseil-cpp/absl/numeric/int128.cc +0 -52
  1243. data/third_party/abseil-cpp/absl/numeric/int128.h +15 -3
  1244. data/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +6 -4
  1245. data/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +6 -3
  1246. data/third_party/abseil-cpp/absl/numeric/internal/bits.h +7 -3
  1247. data/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.cc +1 -1
  1248. data/third_party/abseil-cpp/absl/random/bernoulli_distribution.h +3 -1
  1249. data/third_party/abseil-cpp/absl/random/beta_distribution.h +3 -1
  1250. data/third_party/abseil-cpp/absl/random/bit_gen_ref.h +12 -12
  1251. data/third_party/abseil-cpp/absl/random/discrete_distribution.cc +10 -0
  1252. data/third_party/abseil-cpp/absl/random/discrete_distribution.h +4 -2
  1253. data/third_party/abseil-cpp/absl/random/distributions.h +6 -8
  1254. data/third_party/abseil-cpp/absl/random/exponential_distribution.h +1 -0
  1255. data/third_party/abseil-cpp/absl/random/gaussian_distribution.h +3 -2
  1256. data/third_party/abseil-cpp/absl/random/internal/distribution_caller.h +8 -7
  1257. data/third_party/abseil-cpp/absl/random/internal/{pool_urbg.cc → entropy_pool.cc} +22 -90
  1258. data/third_party/abseil-cpp/absl/random/internal/entropy_pool.h +35 -0
  1259. data/third_party/abseil-cpp/absl/random/internal/iostream_state_saver.h +5 -2
  1260. data/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h +5 -6
  1261. data/third_party/abseil-cpp/absl/random/internal/platform.h +12 -12
  1262. data/third_party/abseil-cpp/absl/random/internal/randen_detect.cc +57 -6
  1263. data/third_party/abseil-cpp/absl/random/internal/randen_engine.h +2 -1
  1264. data/third_party/abseil-cpp/absl/random/internal/seed_material.cc +20 -12
  1265. data/third_party/abseil-cpp/absl/random/internal/seed_material.h +5 -5
  1266. data/third_party/abseil-cpp/absl/random/internal/uniform_helper.h +2 -2
  1267. data/third_party/abseil-cpp/absl/random/internal/wide_multiply.h +0 -1
  1268. data/third_party/abseil-cpp/absl/random/log_uniform_int_distribution.h +1 -4
  1269. data/third_party/abseil-cpp/absl/random/poisson_distribution.h +4 -3
  1270. data/third_party/abseil-cpp/absl/random/random.h +88 -53
  1271. data/third_party/abseil-cpp/absl/random/seed_gen_exception.cc +2 -3
  1272. data/third_party/abseil-cpp/absl/random/seed_sequences.cc +6 -2
  1273. data/third_party/abseil-cpp/absl/random/seed_sequences.h +1 -2
  1274. data/third_party/abseil-cpp/absl/random/uniform_int_distribution.h +2 -1
  1275. data/third_party/abseil-cpp/absl/random/uniform_real_distribution.h +2 -0
  1276. data/third_party/abseil-cpp/absl/random/zipf_distribution.h +5 -4
  1277. data/third_party/abseil-cpp/absl/status/internal/status_internal.cc +10 -7
  1278. data/third_party/abseil-cpp/absl/status/internal/status_internal.h +3 -4
  1279. data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +4 -3
  1280. data/third_party/abseil-cpp/absl/status/status.cc +4 -8
  1281. data/third_party/abseil-cpp/absl/status/status.h +8 -8
  1282. data/third_party/abseil-cpp/absl/status/status_payload_printer.h +2 -2
  1283. data/third_party/abseil-cpp/absl/status/statusor.cc +2 -2
  1284. data/third_party/abseil-cpp/absl/status/statusor.h +6 -6
  1285. data/third_party/abseil-cpp/absl/strings/ascii.cc +44 -29
  1286. data/third_party/abseil-cpp/absl/strings/ascii.h +62 -22
  1287. data/third_party/abseil-cpp/absl/strings/charconv.cc +25 -29
  1288. data/third_party/abseil-cpp/absl/strings/charconv.h +5 -5
  1289. data/third_party/abseil-cpp/absl/strings/charset.h +3 -4
  1290. data/third_party/abseil-cpp/absl/strings/cord.cc +54 -58
  1291. data/third_party/abseil-cpp/absl/strings/cord.h +99 -102
  1292. data/third_party/abseil-cpp/absl/strings/cord_analysis.cc +11 -11
  1293. data/third_party/abseil-cpp/absl/strings/cord_analysis.h +3 -3
  1294. data/third_party/abseil-cpp/absl/strings/escaping.cc +186 -197
  1295. data/third_party/abseil-cpp/absl/strings/escaping.h +9 -10
  1296. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc +1 -1
  1297. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h +1 -1
  1298. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +53 -22
  1299. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +0 -4
  1300. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +0 -4
  1301. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +7 -63
  1302. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +1 -11
  1303. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +0 -22
  1304. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +3 -2
  1305. data/third_party/abseil-cpp/absl/strings/internal/str_format/output.cc +5 -3
  1306. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +4 -2
  1307. data/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +3 -3
  1308. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +35 -0
  1309. data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +0 -5
  1310. data/third_party/abseil-cpp/absl/strings/internal/utf8.cc +96 -1
  1311. data/third_party/abseil-cpp/absl/strings/internal/utf8.h +15 -1
  1312. data/third_party/abseil-cpp/absl/strings/match.h +21 -11
  1313. data/third_party/abseil-cpp/absl/strings/numbers.cc +55 -33
  1314. data/third_party/abseil-cpp/absl/strings/numbers.h +87 -58
  1315. data/third_party/abseil-cpp/absl/strings/str_cat.cc +6 -7
  1316. data/third_party/abseil-cpp/absl/strings/str_cat.h +41 -30
  1317. data/third_party/abseil-cpp/absl/strings/str_format.h +18 -18
  1318. data/third_party/abseil-cpp/absl/strings/str_replace.cc +3 -3
  1319. data/third_party/abseil-cpp/absl/strings/str_replace.h +6 -6
  1320. data/third_party/abseil-cpp/absl/strings/str_split.h +18 -1
  1321. data/third_party/abseil-cpp/absl/strings/string_view.cc +4 -9
  1322. data/third_party/abseil-cpp/absl/strings/string_view.h +46 -50
  1323. data/third_party/abseil-cpp/absl/strings/strip.h +11 -8
  1324. data/third_party/abseil-cpp/absl/strings/substitute.cc +5 -4
  1325. data/third_party/abseil-cpp/absl/strings/substitute.h +66 -64
  1326. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc +16 -10
  1327. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.h +6 -0
  1328. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +5 -1
  1329. data/third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.cc +0 -4
  1330. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc +0 -5
  1331. data/third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc +0 -4
  1332. data/third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.cc +0 -4
  1333. data/third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc +0 -4
  1334. data/third_party/abseil-cpp/absl/synchronization/internal/waiter_base.cc +0 -4
  1335. data/third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.cc +0 -4
  1336. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +39 -13
  1337. data/third_party/abseil-cpp/absl/synchronization/mutex.h +97 -69
  1338. data/third_party/abseil-cpp/absl/synchronization/notification.cc +10 -2
  1339. data/third_party/abseil-cpp/absl/synchronization/notification.h +12 -2
  1340. data/third_party/abseil-cpp/absl/time/civil_time.cc +1 -0
  1341. data/third_party/abseil-cpp/absl/time/duration.cc +18 -58
  1342. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +1 -1
  1343. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +1 -1
  1344. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +1 -1
  1345. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc +3 -3
  1346. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +2 -2
  1347. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h +2 -2
  1348. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +3 -3
  1349. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h +2 -2
  1350. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +1 -1
  1351. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h +1 -1
  1352. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +92 -112
  1353. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc +1 -1
  1354. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +6 -4
  1355. data/third_party/abseil-cpp/absl/time/time.h +89 -23
  1356. data/third_party/abseil-cpp/absl/types/internal/span.h +3 -2
  1357. data/third_party/abseil-cpp/absl/types/optional.h +7 -745
  1358. data/third_party/abseil-cpp/absl/types/span.h +98 -54
  1359. data/third_party/abseil-cpp/absl/types/variant.h +5 -784
  1360. data/third_party/abseil-cpp/absl/utility/utility.h +10 -185
  1361. data/third_party/boringssl-with-bazel/src/crypto/aes/aes.cc +41 -0
  1362. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.cc +16 -0
  1363. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.cc +15 -0
  1364. data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +19 -3
  1365. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.cc +79 -48
  1366. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.cc +11 -19
  1367. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.cc +3 -7
  1368. data/third_party/boringssl-with-bazel/src/crypto/bcm_support.h +0 -35
  1369. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.cc +0 -2
  1370. data/third_party/boringssl-with-bazel/src/crypto/bio/internal.h +3 -5
  1371. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.cc +0 -3
  1372. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.cc +0 -2
  1373. data/third_party/boringssl-with-bazel/src/crypto/bn/convert.cc +31 -47
  1374. data/third_party/boringssl-with-bazel/src/crypto/bn/div.cc +100 -0
  1375. data/third_party/boringssl-with-bazel/src/crypto/bn/exponentiation.cc +166 -0
  1376. data/third_party/boringssl-with-bazel/src/crypto/bn/sqrt.cc +93 -0
  1377. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.cc +14 -8
  1378. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.cc +1 -1
  1379. data/third_party/boringssl-with-bazel/src/crypto/bytestring/internal.h +3 -3
  1380. data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +4 -4
  1381. data/third_party/boringssl-with-bazel/src/crypto/cipher/derive_key.cc +13 -15
  1382. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_aeseax.cc +289 -0
  1383. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_aesgcmsiv.cc +179 -102
  1384. data/third_party/boringssl-with-bazel/src/crypto/cipher/internal.h +3 -3
  1385. data/third_party/boringssl-with-bazel/src/crypto/cms/cms.cc +172 -0
  1386. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.cc +0 -2
  1387. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.cc +0 -2
  1388. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.cc +0 -2
  1389. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.cc +0 -2
  1390. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_sysreg.cc +0 -2
  1391. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.cc +0 -2
  1392. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.cc +0 -1
  1393. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.cc +28 -6
  1394. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.h +11 -9
  1395. data/third_party/boringssl-with-bazel/src/crypto/cpu_intel.cc +0 -6
  1396. data/third_party/boringssl-with-bazel/src/crypto/crypto.cc +1 -3
  1397. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +3 -3
  1398. data/third_party/boringssl-with-bazel/src/crypto/des/internal.h +3 -3
  1399. data/third_party/boringssl-with-bazel/src/crypto/dh/dh_asn1.cc +13 -14
  1400. data/third_party/boringssl-with-bazel/src/crypto/dh/params.cc +27 -61
  1401. data/third_party/boringssl-with-bazel/src/crypto/digest/digest_extra.cc +16 -8
  1402. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.cc +112 -122
  1403. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.cc +23 -35
  1404. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +3 -3
  1405. data/third_party/boringssl-with-bazel/src/crypto/ec/ec_asn1.cc +47 -63
  1406. data/third_party/boringssl-with-bazel/src/crypto/ec/hash_to_curve.cc +60 -68
  1407. data/third_party/boringssl-with-bazel/src/crypto/ec/internal.h +3 -3
  1408. data/third_party/boringssl-with-bazel/src/crypto/ecdsa/ecdsa_asn1.cc +11 -17
  1409. data/third_party/boringssl-with-bazel/src/crypto/err/err.cc +0 -2
  1410. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.cc +10 -11
  1411. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.cc +10 -11
  1412. data/third_party/boringssl-with-bazel/src/crypto/evp/internal.h +3 -3
  1413. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.cc +6 -6
  1414. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.cc +6 -6
  1415. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.cc +6 -6
  1416. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.cc +6 -6
  1417. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.cc +6 -6
  1418. data/third_party/boringssl-with-bazel/src/crypto/evp/sign.cc +23 -42
  1419. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.cc.inc +29 -18
  1420. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/gcm.cc.inc +10 -10
  1421. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +16 -45
  1422. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.cc.inc +5 -4
  1423. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.cc.inc +15 -6
  1424. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.cc +3 -3
  1425. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm_interface.h +101 -5
  1426. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.cc.inc +96 -187
  1427. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.cc.inc +24 -512
  1428. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.cc.inc +58 -80
  1429. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.cc.inc +29 -45
  1430. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +27 -25
  1431. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/jacobi.cc.inc +7 -16
  1432. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.cc.inc +27 -48
  1433. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.cc.inc +34 -34
  1434. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.cc.inc +102 -154
  1435. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.h +3 -3
  1436. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.cc.inc +3 -8
  1437. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.cc.inc +1 -78
  1438. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.cc.inc +10 -17
  1439. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/internal.h +3 -3
  1440. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h +15 -8
  1441. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.cc.inc +40 -53
  1442. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.cc.inc +57 -76
  1443. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.cc.inc +4 -10
  1444. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/internal.h +3 -3
  1445. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +3 -3
  1446. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.cc.inc +37 -52
  1447. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.cc.inc +13 -20
  1448. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +3 -3
  1449. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.cc.inc +28 -39
  1450. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.h +3 -3
  1451. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.cc.inc +6 -11
  1452. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/keccak/internal.h +3 -3
  1453. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mldsa/fips_known_values.inc +1345 -0
  1454. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mldsa/mldsa.cc.inc +335 -28
  1455. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mlkem/fips_known_values.inc +411 -0
  1456. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mlkem/mlkem.cc.inc +265 -33
  1457. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +3 -3
  1458. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.cc.inc +1 -1
  1459. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +3 -3
  1460. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.cc.inc +19 -26
  1461. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.cc.inc +7 -7
  1462. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.cc.inc +121 -138
  1463. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.cc.inc +96 -83
  1464. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/internal.h +3 -3
  1465. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +8 -20
  1466. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/fips_known_values.inc +674 -0
  1467. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/slhdsa.cc.inc +235 -60
  1468. data/third_party/boringssl-with-bazel/src/crypto/fuzzer_mode.cc +30 -0
  1469. data/third_party/boringssl-with-bazel/src/crypto/hrss/internal.h +3 -3
  1470. data/third_party/boringssl-with-bazel/src/crypto/internal.h +59 -33
  1471. data/third_party/boringssl-with-bazel/src/crypto/lhash/internal.h +3 -3
  1472. data/third_party/boringssl-with-bazel/src/crypto/md5/internal.h +3 -3
  1473. data/third_party/boringssl-with-bazel/src/crypto/mem.cc +0 -2
  1474. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.cc +2 -8
  1475. data/third_party/boringssl-with-bazel/src/crypto/pem/internal.h +3 -3
  1476. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.cc +8 -13
  1477. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/internal.h +22 -8
  1478. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.cc +19 -17
  1479. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.cc +134 -136
  1480. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +14 -8
  1481. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.cc +25 -21
  1482. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.cc +36 -52
  1483. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.cc +97 -79
  1484. data/third_party/boringssl-with-bazel/src/crypto/poly1305/internal.h +3 -3
  1485. data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +3 -3
  1486. data/third_party/boringssl-with-bazel/src/crypto/rand/deterministic.cc +1 -1
  1487. data/third_party/boringssl-with-bazel/src/crypto/rand/fork_detect.cc +2 -2
  1488. data/third_party/boringssl-with-bazel/src/crypto/rand/getentropy.cc +1 -1
  1489. data/third_party/boringssl-with-bazel/src/crypto/rand/{sysrand_internal.h → internal.h} +22 -4
  1490. data/third_party/boringssl-with-bazel/src/crypto/rand/ios.cc +1 -1
  1491. data/third_party/boringssl-with-bazel/src/crypto/rand/trusty.cc +1 -1
  1492. data/third_party/boringssl-with-bazel/src/crypto/rand/urandom.cc +1 -1
  1493. data/third_party/boringssl-with-bazel/src/crypto/rand/windows.cc +1 -5
  1494. data/third_party/boringssl-with-bazel/src/crypto/rsa/internal.h +3 -3
  1495. data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_crypt.cc +14 -22
  1496. data/third_party/boringssl-with-bazel/src/crypto/spake2plus/internal.h +3 -3
  1497. data/third_party/boringssl-with-bazel/src/crypto/thread_win.cc +0 -2
  1498. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +3 -3
  1499. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.cc +3 -5
  1500. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.cc +8 -12
  1501. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +15 -3
  1502. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_conf.cc +16 -24
  1503. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_info.cc +18 -21
  1504. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.cc +10 -3
  1505. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.cc +9 -0
  1506. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.cc +10 -1
  1507. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.cc +64 -85
  1508. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.cc +16 -32
  1509. data/third_party/boringssl-with-bazel/src/gen/crypto/err_data.cc +576 -567
  1510. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +16 -8
  1511. data/third_party/boringssl-with-bazel/src/include/openssl/aes.h +1 -1
  1512. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +3 -25
  1513. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +6 -54
  1514. data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +1 -1
  1515. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +8 -4
  1516. data/third_party/boringssl-with-bazel/src/include/openssl/base64.h +1 -1
  1517. data/third_party/boringssl-with-bazel/src/include/openssl/bcm_public.h +1 -1
  1518. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +1 -1
  1519. data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +1 -1
  1520. data/third_party/boringssl-with-bazel/src/include/openssl/blowfish.h +1 -1
  1521. data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +1 -1
  1522. data/third_party/boringssl-with-bazel/src/include/openssl/buf.h +1 -1
  1523. data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +7 -1
  1524. data/third_party/boringssl-with-bazel/src/include/openssl/cast.h +1 -1
  1525. data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +1 -1
  1526. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +1 -1
  1527. data/third_party/boringssl-with-bazel/src/include/openssl/cmac.h +1 -1
  1528. data/third_party/boringssl-with-bazel/src/include/openssl/cms.h +146 -0
  1529. data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +1 -1
  1530. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +23 -3
  1531. data/third_party/boringssl-with-bazel/src/include/openssl/ctrdrbg.h +1 -1
  1532. data/third_party/boringssl-with-bazel/src/include/openssl/curve25519.h +1 -1
  1533. data/third_party/boringssl-with-bazel/src/include/openssl/des.h +1 -1
  1534. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +1 -1
  1535. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +19 -7
  1536. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +1 -1
  1537. data/third_party/boringssl-with-bazel/src/include/openssl/e_os2.h +1 -1
  1538. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +1 -1
  1539. data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +1 -1
  1540. data/third_party/boringssl-with-bazel/src/include/openssl/ecdh.h +1 -1
  1541. data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +1 -1
  1542. data/third_party/boringssl-with-bazel/src/include/openssl/engine.h +1 -1
  1543. data/third_party/boringssl-with-bazel/src/include/openssl/err.h +2 -1
  1544. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +1 -1
  1545. data/third_party/boringssl-with-bazel/src/include/openssl/ex_data.h +1 -1
  1546. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/kyber.h +1 -1
  1547. data/third_party/boringssl-with-bazel/src/include/openssl/hkdf.h +1 -1
  1548. data/third_party/boringssl-with-bazel/src/include/openssl/hmac.h +1 -1
  1549. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +4 -4
  1550. data/third_party/boringssl-with-bazel/src/include/openssl/hrss.h +1 -1
  1551. data/third_party/boringssl-with-bazel/src/include/openssl/kdf.h +1 -1
  1552. data/third_party/boringssl-with-bazel/src/include/openssl/lhash.h +1 -1
  1553. data/third_party/boringssl-with-bazel/src/include/openssl/md4.h +1 -1
  1554. data/third_party/boringssl-with-bazel/src/include/openssl/md5.h +1 -1
  1555. data/third_party/boringssl-with-bazel/src/include/openssl/mem.h +1 -1
  1556. data/third_party/boringssl-with-bazel/src/include/openssl/mldsa.h +1 -1
  1557. data/third_party/boringssl-with-bazel/src/include/openssl/mlkem.h +1 -1
  1558. data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +1 -1
  1559. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +1 -1
  1560. data/third_party/boringssl-with-bazel/src/include/openssl/obj_mac.h +1 -1
  1561. data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +10 -4
  1562. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +1 -1
  1563. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +19 -6
  1564. data/third_party/boringssl-with-bazel/src/include/openssl/poly1305.h +1 -1
  1565. data/third_party/boringssl-with-bazel/src/include/openssl/pool.h +1 -1
  1566. data/third_party/boringssl-with-bazel/src/include/openssl/posix_time.h +1 -1
  1567. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +2 -2
  1568. data/third_party/boringssl-with-bazel/src/include/openssl/rc4.h +1 -1
  1569. data/third_party/boringssl-with-bazel/src/include/openssl/ripemd.h +1 -1
  1570. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +2 -2
  1571. data/third_party/boringssl-with-bazel/src/include/openssl/service_indicator.h +1 -1
  1572. data/third_party/boringssl-with-bazel/src/include/openssl/sha.h +1 -1
  1573. data/third_party/boringssl-with-bazel/src/include/openssl/siphash.h +1 -1
  1574. data/third_party/boringssl-with-bazel/src/include/openssl/slhdsa.h +1 -1
  1575. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +1 -1
  1576. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +291 -40
  1577. data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +1 -1
  1578. data/third_party/boringssl-with-bazel/src/include/openssl/target.h +0 -5
  1579. data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +1 -1
  1580. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +9 -1
  1581. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +1 -1
  1582. data/third_party/boringssl-with-bazel/src/include/openssl/type_check.h +1 -1
  1583. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +7 -4
  1584. data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +2 -0
  1585. data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +32 -26
  1586. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +49 -49
  1587. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +256 -57
  1588. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +12 -12
  1589. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +7 -5
  1590. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +3 -2
  1591. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +25 -33
  1592. data/third_party/boringssl-with-bazel/src/ssl/internal.h +106 -10
  1593. data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +6 -12
  1594. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +18 -4
  1595. data/third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc +85 -8
  1596. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +1 -1
  1597. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +173 -19
  1598. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +5 -18
  1599. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +28 -15
  1600. data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +1 -1
  1601. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +31 -7
  1602. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +14 -2
  1603. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +7 -11
  1604. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +14 -12
  1605. data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +2 -5
  1606. data/third_party/upb/upb/base/internal/log2.h +3 -1
  1607. data/third_party/upb/upb/base/string_view.h +10 -0
  1608. data/third_party/upb/upb/hash/common.c +312 -187
  1609. data/third_party/upb/upb/hash/common.h +44 -43
  1610. data/third_party/upb/upb/hash/int_table.h +29 -5
  1611. data/third_party/upb/upb/hash/str_table.h +6 -0
  1612. data/third_party/upb/upb/json/decode.c +2 -2
  1613. data/third_party/upb/upb/json/decode.h +0 -1
  1614. data/third_party/upb/upb/mem/alloc.h +5 -0
  1615. data/third_party/upb/upb/mem/arena.c +437 -160
  1616. data/third_party/upb/upb/mem/arena.h +57 -11
  1617. data/third_party/upb/upb/mem/arena.hpp +4 -20
  1618. data/third_party/upb/upb/mem/internal/arena.h +65 -29
  1619. data/third_party/upb/upb/message/accessors.c +1 -5
  1620. data/third_party/upb/upb/message/accessors.h +41 -0
  1621. data/third_party/upb/upb/message/array.c +7 -6
  1622. data/third_party/upb/upb/message/array.h +4 -4
  1623. data/third_party/upb/upb/message/compat.c +11 -14
  1624. data/third_party/upb/upb/message/compat.h +4 -3
  1625. data/third_party/upb/upb/message/copy.c +35 -30
  1626. data/third_party/upb/upb/message/internal/accessors.h +142 -13
  1627. data/third_party/upb/upb/message/internal/extension.c +16 -25
  1628. data/third_party/upb/upb/message/internal/extension.h +17 -5
  1629. data/third_party/upb/upb/message/internal/iterator.c +58 -0
  1630. data/third_party/upb/upb/message/internal/iterator.h +29 -0
  1631. data/third_party/upb/upb/message/internal/map.h +76 -22
  1632. data/third_party/upb/upb/message/internal/map_sorter.h +13 -4
  1633. data/third_party/upb/upb/message/internal/message.c +48 -29
  1634. data/third_party/upb/upb/message/internal/message.h +203 -25
  1635. data/third_party/upb/upb/message/map.c +68 -20
  1636. data/third_party/upb/upb/message/map.h +8 -1
  1637. data/third_party/upb/upb/message/map_gencode_util.h +3 -45
  1638. data/third_party/upb/upb/message/map_sorter.c +52 -16
  1639. data/third_party/upb/upb/message/merge.h +3 -3
  1640. data/third_party/upb/upb/message/message.c +200 -42
  1641. data/third_party/upb/upb/message/message.h +69 -4
  1642. data/third_party/upb/upb/message/value.h +9 -0
  1643. data/third_party/upb/upb/mini_descriptor/build_enum.c +16 -6
  1644. data/third_party/upb/upb/mini_descriptor/decode.c +115 -138
  1645. data/third_party/upb/upb/mini_descriptor/decode.h +4 -3
  1646. data/third_party/upb/upb/mini_descriptor/internal/encode.hpp +1 -1
  1647. data/third_party/upb/upb/mini_descriptor/link.c +4 -0
  1648. data/third_party/upb/upb/mini_table/extension.h +8 -1
  1649. data/third_party/upb/upb/mini_table/extension_registry.c +25 -13
  1650. data/third_party/upb/upb/mini_table/extension_registry.h +13 -6
  1651. data/third_party/upb/upb/mini_table/internal/enum.h +1 -1
  1652. data/third_party/upb/upb/mini_table/internal/extension.h +24 -1
  1653. data/third_party/upb/upb/mini_table/internal/field.h +4 -4
  1654. data/third_party/upb/upb/mini_table/internal/message.h +1 -1
  1655. data/third_party/upb/upb/mini_table/message.c +21 -13
  1656. data/third_party/upb/upb/port/atomic.h +134 -7
  1657. data/third_party/upb/upb/port/def.inc +163 -45
  1658. data/third_party/upb/upb/port/undef.inc +12 -1
  1659. data/third_party/upb/upb/reflection/def.hpp +5 -1
  1660. data/third_party/upb/upb/reflection/def_pool.c +10 -3
  1661. data/third_party/upb/upb/reflection/def_pool.h +2 -2
  1662. data/third_party/upb/upb/reflection/descriptor_bootstrap.h +4 -4
  1663. data/third_party/upb/upb/reflection/enum_def.c +4 -4
  1664. data/third_party/upb/upb/reflection/enum_reserved_range.c +1 -1
  1665. data/third_party/upb/upb/reflection/enum_value_def.c +9 -8
  1666. data/third_party/upb/upb/reflection/extension_range.c +1 -2
  1667. data/third_party/upb/upb/reflection/field_def.c +3 -5
  1668. data/third_party/upb/upb/reflection/field_def.h +1 -1
  1669. data/third_party/upb/upb/reflection/file_def.c +16 -10
  1670. data/third_party/upb/upb/reflection/internal/def_builder.c +1 -1
  1671. data/third_party/upb/upb/reflection/internal/def_builder.h +35 -10
  1672. data/third_party/upb/upb/reflection/internal/enum_value_def.h +1 -1
  1673. data/third_party/upb/upb/reflection/internal/upb_edition_defaults.h +1 -1
  1674. data/third_party/upb/upb/reflection/message.c +19 -16
  1675. data/third_party/upb/upb/reflection/message.h +3 -1
  1676. data/third_party/upb/upb/reflection/message_def.c +4 -7
  1677. data/third_party/upb/upb/reflection/message_reserved_range.c +1 -1
  1678. data/third_party/upb/upb/reflection/method_def.c +1 -1
  1679. data/third_party/upb/upb/reflection/oneof_def.c +3 -3
  1680. data/third_party/upb/upb/reflection/service_def.c +2 -5
  1681. data/third_party/upb/upb/text/encode.c +17 -13
  1682. data/third_party/upb/upb/text/internal/encode.c +25 -6
  1683. data/third_party/upb/upb/text/internal/encode.h +6 -1
  1684. data/third_party/upb/upb/wire/decode.c +154 -107
  1685. data/third_party/upb/upb/wire/decode.h +4 -2
  1686. data/third_party/upb/upb/wire/encode.c +114 -55
  1687. data/third_party/upb/upb/wire/encode.h +2 -0
  1688. data/third_party/upb/upb/wire/eps_copy_input_stream.h +18 -20
  1689. data/third_party/upb/upb/wire/internal/decode_fast.c +2 -2
  1690. data/third_party/upb/upb/wire/internal/decode_fast.h +4 -0
  1691. data/third_party/upb/upb/wire/internal/decoder.h +4 -11
  1692. data/third_party/utf8_range/utf8_range.c +15 -275
  1693. data/third_party/utf8_range/utf8_range_neon.inc +117 -0
  1694. data/third_party/utf8_range/utf8_range_sse.inc +272 -0
  1695. data/third_party/zlib/deflate.c +40 -15
  1696. data/third_party/zlib/deflate.h +33 -2
  1697. data/third_party/zlib/gzguts.h +2 -6
  1698. data/third_party/zlib/inflate.c +1 -1
  1699. data/third_party/zlib/inftrees.c +3 -3
  1700. data/third_party/zlib/inftrees.h +2 -2
  1701. data/third_party/zlib/trees.c +18 -4
  1702. data/third_party/zlib/zconf.h +1 -9
  1703. data/third_party/zlib/zlib.h +12 -12
  1704. data/third_party/zlib/zutil.h +4 -25
  1705. metadata +266 -168
  1706. data/include/grpc/grpc_cronet.h +0 -37
  1707. data/src/core/lib/event_engine/forkable.cc +0 -105
  1708. data/src/core/lib/event_engine/forkable.h +0 -67
  1709. data/src/core/lib/iomgr/executor.cc +0 -441
  1710. data/src/core/lib/iomgr/executor.h +0 -119
  1711. data/src/core/lib/iomgr/python_util.h +0 -46
  1712. data/src/core/lib/transport/http2_errors.h +0 -43
  1713. data/third_party/abseil-cpp/absl/base/internal/inline_variable.h +0 -108
  1714. data/third_party/abseil-cpp/absl/base/internal/invoke.h +0 -241
  1715. data/third_party/abseil-cpp/absl/base/internal/nullability_impl.h +0 -108
  1716. data/third_party/abseil-cpp/absl/log/log_entry.cc +0 -41
  1717. data/third_party/abseil-cpp/absl/random/internal/pool_urbg.h +0 -131
  1718. data/third_party/abseil-cpp/absl/types/bad_optional_access.cc +0 -66
  1719. data/third_party/abseil-cpp/absl/types/bad_optional_access.h +0 -78
  1720. data/third_party/abseil-cpp/absl/types/bad_variant_access.cc +0 -82
  1721. data/third_party/abseil-cpp/absl/types/bad_variant_access.h +0 -82
  1722. data/third_party/abseil-cpp/absl/types/internal/optional.h +0 -352
  1723. data/third_party/abseil-cpp/absl/types/internal/variant.h +0 -1622
  1724. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/polyval.cc.inc +0 -89
  1725. data/third_party/upb/upb/message/internal/compare_unknown.c +0 -289
  1726. data/third_party/upb/upb/message/internal/compare_unknown.h +0 -49
@@ -16,16 +16,24 @@
16
16
 
17
17
  #include <grpc/event_engine/endpoint_config.h>
18
18
  #include <grpc/event_engine/extensible.h>
19
+ #include <grpc/event_engine/internal/write_event.h>
19
20
  #include <grpc/event_engine/memory_allocator.h>
20
21
  #include <grpc/event_engine/port.h>
21
22
  #include <grpc/event_engine/slice_buffer.h>
22
23
  #include <grpc/support/port_platform.h>
23
24
 
25
+ #include <bitset>
26
+ #include <cstddef>
27
+ #include <initializer_list>
28
+ #include <memory>
29
+ #include <optional>
30
+ #include <utility>
24
31
  #include <vector>
25
32
 
26
33
  #include "absl/functional/any_invocable.h"
27
34
  #include "absl/status/status.h"
28
35
  #include "absl/status/statusor.h"
36
+ #include "absl/types/span.h"
29
37
 
30
38
  // TODO(vigneshbabu): Define the Endpoint::Write metrics collection system
31
39
  // TODO(hork): remove all references to the factory methods.
@@ -180,13 +188,26 @@ class EventEngine : public std::enable_shared_from_this<EventEngine>,
180
188
  /// EventEngine Endpoint Read API call.
181
189
  ///
182
190
  /// Passed as argument to an Endpoint \a Read
183
- struct ReadArgs {
191
+ class ReadArgs final {
192
+ public:
193
+ ReadArgs() = default;
194
+ ReadArgs(const ReadArgs&) = delete;
195
+ ReadArgs& operator=(const ReadArgs&) = delete;
196
+ ReadArgs(ReadArgs&&) = default;
197
+ ReadArgs& operator=(ReadArgs&&) = default;
198
+
184
199
  // A suggestion to the endpoint implementation to read at-least the
185
200
  // specified number of bytes over the network connection before marking
186
201
  // the endpoint read operation as complete. gRPC may use this argument
187
202
  // to minimize the number of endpoint read API calls over the lifetime
188
203
  // of a connection.
189
- int64_t read_hint_bytes;
204
+ void set_read_hint_bytes(int64_t read_hint_bytes) {
205
+ read_hint_bytes_ = read_hint_bytes;
206
+ }
207
+ int64_t read_hint_bytes() const { return read_hint_bytes_; }
208
+
209
+ private:
210
+ int64_t read_hint_bytes_ = 1;
190
211
  };
191
212
  /// Reads data from the Endpoint.
192
213
  ///
@@ -212,21 +233,172 @@ class EventEngine : public std::enable_shared_from_this<EventEngine>,
212
233
  /// statuses to \a on_read. For example, callbacks might expect to receive
213
234
  /// CANCELLED on endpoint shutdown.
214
235
  virtual bool Read(absl::AnyInvocable<void(absl::Status)> on_read,
215
- SliceBuffer* buffer, const ReadArgs* args) = 0;
236
+ SliceBuffer* buffer, ReadArgs args) = 0;
237
+ //// The set of write events that can be reported by an Endpoint.
238
+ using WriteEvent = ::grpc_event_engine::experimental::internal::WriteEvent;
239
+ /// An output WriteMetric consists of a key and a value.
240
+ /// The space of keys can be queried from the endpoint via the
241
+ /// \a AllWriteMetrics, \a GetMetricName and \a GetMetricKey APIs.
242
+ /// The value is an int64_t that is implementation-defined. Check with the
243
+ /// endpoint implementation documentation for the semantics of each metric.
244
+ struct WriteMetric {
245
+ size_t key;
246
+ int64_t value;
247
+ };
248
+ // It is the responsibility of the caller of WriteEventCallback to make sure
249
+ // that the corresponding endpoint is still valid. HINT: Do NOT offload
250
+ // callbacks onto the EventEngine or other threads.
251
+ using WriteEventCallback = absl::AnyInvocable<void(
252
+ WriteEvent, absl::Time, std::vector<WriteMetric>) const>;
253
+ // A bitmask of the events that the caller is interested in.
254
+ // Each bit corresponds to an entry in WriteEvent.
255
+ using WriteEventSet = std::bitset<static_cast<int>(WriteEvent::kCount)>;
256
+
257
+ // A set of metrics that the caller is interested in.
258
+ class MetricsSet {
259
+ public:
260
+ virtual ~MetricsSet() = default;
261
+
262
+ virtual bool IsSet(size_t key) const = 0;
263
+ };
264
+
265
+ // A sink to receive write events.
266
+ // The requested metrics are the keys of the metrics that the caller is
267
+ // interested in. The on_event callback will be called on each event
268
+ // requested.
269
+ class WriteEventSink final {
270
+ public:
271
+ WriteEventSink(std::shared_ptr<MetricsSet> requested_metrics,
272
+ std::initializer_list<WriteEvent> requested_events,
273
+ WriteEventCallback on_event)
274
+ : requested_metrics_(std::move(requested_metrics)),
275
+ on_event_(std::move(on_event)) {
276
+ for (auto event : requested_events) {
277
+ requested_events_mask_.set(static_cast<int>(event));
278
+ }
279
+ }
280
+
281
+ const std::shared_ptr<MetricsSet>& requested_metrics() const {
282
+ return requested_metrics_;
283
+ }
284
+
285
+ bool requested_event(WriteEvent event) const {
286
+ return requested_events_mask_.test(static_cast<int>(event));
287
+ }
288
+
289
+ WriteEventSet requested_events_mask() const {
290
+ return requested_events_mask_;
291
+ }
292
+
293
+ /// Takes the callback. Ownership is transferred. It is illegal to destroy
294
+ /// the endpoint before this callback is invoked.
295
+ WriteEventCallback TakeEventCallback() { return std::move(on_event_); }
296
+
297
+ private:
298
+ std::shared_ptr<MetricsSet> requested_metrics_;
299
+ WriteEventSet requested_events_mask_;
300
+ // The callback to be called on each event.
301
+ WriteEventCallback on_event_;
302
+ };
216
303
  /// A struct representing optional arguments that may be provided to an
217
304
  /// EventEngine Endpoint Write API call.
218
305
  ///
219
306
  /// Passed as argument to an Endpoint \a Write
220
- struct WriteArgs {
307
+ class WriteArgs final {
308
+ public:
309
+ WriteArgs() = default;
310
+
311
+ ~WriteArgs();
312
+
313
+ WriteArgs(const WriteArgs&) = delete;
314
+ WriteArgs& operator=(const WriteArgs&) = delete;
315
+
316
+ WriteArgs(WriteArgs&& other) noexcept
317
+ : metrics_sink_(std::move(other.metrics_sink_)),
318
+ google_specific_(other.google_specific_),
319
+ max_frame_size_(other.max_frame_size_) {
320
+ other.google_specific_ = nullptr;
321
+ }
322
+
323
+ WriteArgs& operator=(WriteArgs&& other) noexcept {
324
+ if (this != &other) {
325
+ metrics_sink_ = std::move(other.metrics_sink_);
326
+ google_specific_ = other.google_specific_;
327
+ other.google_specific_ = nullptr; // Nullify source
328
+ max_frame_size_ = other.max_frame_size_;
329
+ }
330
+ return *this;
331
+ }
332
+
333
+ // A sink to receive write events.
334
+ std::optional<WriteEventSink> TakeMetricsSink() {
335
+ auto sink = std::move(metrics_sink_);
336
+ metrics_sink_.reset();
337
+ return sink;
338
+ }
339
+
340
+ bool has_metrics_sink() const { return metrics_sink_.has_value(); }
341
+
342
+ void set_metrics_sink(WriteEventSink sink) {
343
+ metrics_sink_ = std::move(sink);
344
+ }
345
+
221
346
  // Represents private information that may be passed by gRPC for
222
347
  // select endpoints expected to be used only within google.
223
- void* google_specific = nullptr;
348
+ // TODO(ctiller): Remove this method once all callers are migrated to
349
+ // metrics sink.
350
+ void* GetDeprecatedAndDiscouragedGoogleSpecificPointer() {
351
+ return google_specific_;
352
+ }
353
+
354
+ void* TakeDeprecatedAndDiscouragedGoogleSpecificPointer() {
355
+ return std::exchange(google_specific_, nullptr);
356
+ }
357
+
358
+ void SetDeprecatedAndDiscouragedGoogleSpecificPointer(void* pointer) {
359
+ google_specific_ = pointer;
360
+ }
361
+
224
362
  // A suggestion to the endpoint implementation to group data to be written
225
363
  // into frames of the specified max_frame_size. gRPC may use this
226
364
  // argument to dynamically control the max sizes of frames sent to a
227
365
  // receiver in response to high receiver memory pressure.
228
- int64_t max_frame_size;
366
+ int64_t max_frame_size() const { return max_frame_size_; }
367
+
368
+ void set_max_frame_size(int64_t max_frame_size) {
369
+ max_frame_size_ = max_frame_size;
370
+ }
371
+
372
+ private:
373
+ std::optional<WriteEventSink> metrics_sink_;
374
+ void* google_specific_ = nullptr;
375
+ int64_t max_frame_size_ = 1024 * 1024;
229
376
  };
377
+
378
+ class TelemetryInfo {
379
+ public:
380
+ virtual ~TelemetryInfo() = default;
381
+
382
+ /// Returns the list of write metrics that the endpoint supports.
383
+ /// The keys are used to identify the metrics in the GetMetricName and
384
+ /// GetMetricKey APIs. The current value of the metric can be queried by
385
+ /// adding a WriteEventSink to the WriteArgs of a Write call.
386
+ virtual std::vector<size_t> AllWriteMetrics() const = 0;
387
+ /// Returns the name of the write metric with the given key.
388
+ /// If the key is not found, returns std::nullopt.
389
+ virtual std::optional<absl::string_view> GetMetricName(
390
+ size_t key) const = 0;
391
+ /// Returns the key of the write metric with the given name.
392
+ /// If the name is not found, returns std::nullopt.
393
+ virtual std::optional<size_t> GetMetricKey(
394
+ absl::string_view name) const = 0;
395
+ /// Returns a MetricsSet with all the keys from \a keys set.
396
+ virtual std::shared_ptr<MetricsSet> GetMetricsSet(
397
+ absl::Span<const size_t> keys) const = 0;
398
+ /// Returns a MetricsSet with all supported keys set.
399
+ virtual std::shared_ptr<MetricsSet> GetFullMetricsSet() const = 0;
400
+ };
401
+
230
402
  /// Writes data out on the connection.
231
403
  ///
232
404
  /// If the write succeeds immediately, it returns true and the
@@ -248,11 +420,13 @@ class EventEngine : public std::enable_shared_from_this<EventEngine>,
248
420
  /// statuses to \a on_writable. For example, callbacks might expect to
249
421
  /// receive CANCELLED on endpoint shutdown.
250
422
  virtual bool Write(absl::AnyInvocable<void(absl::Status)> on_writable,
251
- SliceBuffer* data, const WriteArgs* args) = 0;
423
+ SliceBuffer* data, WriteArgs args) = 0;
252
424
  /// Returns an address in the format described in DNSResolver. The returned
253
425
  /// values are expected to remain valid for the life of the Endpoint.
254
426
  virtual const ResolvedAddress& GetPeerAddress() const = 0;
255
427
  virtual const ResolvedAddress& GetLocalAddress() const = 0;
428
+
429
+ virtual std::shared_ptr<TelemetryInfo> GetTelemetryInfo() const = 0;
256
430
  };
257
431
 
258
432
  /// Called when a new connection is established.
@@ -334,7 +508,7 @@ class EventEngine : public std::enable_shared_from_this<EventEngine>,
334
508
  /// when the object is destroyed and all pending callbacks will be called
335
509
  /// shortly. If cancellation races with request completion, implementations
336
510
  /// may choose to either cancel or satisfy the request.
337
- class DNSResolver {
511
+ class DNSResolver : public Extensible {
338
512
  public:
339
513
  /// Optional configuration for DNSResolvers.
340
514
  struct ResolverOptions {
@@ -0,0 +1,34 @@
1
+ // Copyright 2022 gRPC authors.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ #ifndef GRPC_EVENT_ENGINE_INTERNAL_WRITE_EVENT_H
16
+ #define GRPC_EVENT_ENGINE_INTERNAL_WRITE_EVENT_H
17
+
18
+ namespace grpc_event_engine::experimental::internal {
19
+
20
+ // Use of this enum via this name is internal to gRPC.
21
+ // API users should get this enumeration via the
22
+ // EventEngine::Endpoint::WriteEvent.
23
+ enum class WriteEvent {
24
+ kSendMsg,
25
+ kScheduled,
26
+ kSent,
27
+ kAcked,
28
+ kClosed,
29
+ kCount // Must be last.
30
+ };
31
+
32
+ } // namespace grpc_event_engine::experimental::internal
33
+
34
+ #endif // GRPC_EVENT_ENGINE_INTERNAL_WRITE_EVENT_H
@@ -55,11 +55,11 @@ class MemoryRequest {
55
55
  template <typename Sink>
56
56
  friend void AbslStringify(Sink& s, const MemoryRequest& r) {
57
57
  if (r.min_ == r.max_) {
58
- s.Append(r.min_);
58
+ s.Append(std::to_string(r.min_));
59
59
  } else {
60
- s.Append(r.min_);
60
+ s.Append(std::to_string(r.min_));
61
61
  s.Append("..");
62
- s.Append(r.max_);
62
+ s.Append(std::to_string(r.max_));
63
63
  }
64
64
  }
65
65
 
@@ -56,6 +56,25 @@ GRPCAPI void grpc_server_add_channel_from_fd(grpc_server* server, int fd,
56
56
 
57
57
  #ifdef __cplusplus
58
58
  }
59
- #endif
59
+
60
+ namespace grpc_core::experimental {
61
+
62
+ /**
63
+ * EXPERIMENTAL API - Subject to change
64
+ *
65
+ * This function creates a gRPC channel using a raw file descriptor
66
+ * that represents an open socket. This API supports both secure and insecure
67
+ * channel credentials.
68
+ *
69
+ * \param fd The file descriptor representing the connection.
70
+ * \param creds The channel credentials used to secure the connection.
71
+ * \param args Optional channel arguments to configure the channel behavior.
72
+ */
73
+ grpc_channel* CreateChannelFromFd(int fd, grpc_channel_credentials* creds,
74
+ const grpc_channel_args* args);
75
+
76
+ } // namespace grpc_core::experimental
77
+
78
+ #endif // __cplusplus
60
79
 
61
80
  #endif /* GRPC_GRPC_POSIX_H */
@@ -31,13 +31,15 @@
31
31
  #define GRPC_ARG_SERVER_CALL_METRIC_RECORDING \
32
32
  "grpc.server_call_metric_recording"
33
33
  /** Request that optional features default to off (regardless of what they
34
- usually default to) - to enable tight control over what gets enabled */
34
+ usually default to) - to enable tight control over what gets enabled
35
+ Boolean valued. Defaults to false. */
35
36
  #define GRPC_ARG_MINIMAL_STACK "grpc.minimal_stack"
36
37
  /** Maximum number of concurrent incoming streams to allow on a http2
37
- connection. Int valued. */
38
+ connection. Int valued. Deafult to -1(indicating no explicit limit).*/
38
39
  #define GRPC_ARG_MAX_CONCURRENT_STREAMS "grpc.max_concurrent_streams"
39
40
  /** Maximum message length that the channel can receive. Int valued, bytes.
40
- -1 means unlimited. */
41
+ -1 means unlimited. Defaults to 4MB(4*1024*1024 bytes). -1 means unlimited.
42
+ */
41
43
  #define GRPC_ARG_MAX_RECEIVE_MESSAGE_LENGTH "grpc.max_receive_message_length"
42
44
  /** \deprecated For backward compatibility.
43
45
  * Use GRPC_ARG_MAX_RECEIVE_MESSAGE_LENGTH instead. */
@@ -47,27 +49,31 @@
47
49
  #define GRPC_ARG_MAX_SEND_MESSAGE_LENGTH "grpc.max_send_message_length"
48
50
  /** Maximum time that a channel may have no outstanding rpcs, after which the
49
51
  * server will close the connection. Int valued, milliseconds. INT_MAX means
50
- * unlimited. */
52
+ * unlimited. Defaults to INT_MAX. */
51
53
  #define GRPC_ARG_MAX_CONNECTION_IDLE_MS "grpc.max_connection_idle_ms"
52
- /** Maximum time that a channel may exist. Int valued, milliseconds.
53
- * INT_MAX means unlimited. */
54
+ /** Maximum amount of time in milliseconds that a connection may exist before it
55
+ * will be gracefully shut down. Refer
56
+ * https://github.com/grpc/proposal/blob/master/A9-server-side-conn-mgt.md for
57
+ * more details. Int valued, defaults to INT_MAX (disabled). */
54
58
  #define GRPC_ARG_MAX_CONNECTION_AGE_MS "grpc.max_connection_age_ms"
55
- /** Grace period after the channel reaches its max age. Int valued,
56
- milliseconds. INT_MAX means unlimited. */
59
+ /** Grace period in milliseconds after connection reaches its max age for
60
+ * outstanding RPCs to complete. Int valued, defaults to INT_MAX (disabled). */
57
61
  #define GRPC_ARG_MAX_CONNECTION_AGE_GRACE_MS "grpc.max_connection_age_grace_ms"
58
62
  /** Timeout after the last RPC finishes on the client channel at which the
59
63
  * channel goes back into IDLE state. Int valued, milliseconds. INT_MAX means
60
64
  * unlimited. The default value is 30 minutes and the min value is 1 second. */
61
65
  #define GRPC_ARG_CLIENT_IDLE_TIMEOUT_MS "grpc.client_idle_timeout_ms"
62
- /** Enable/disable support for per-message compression. Defaults to 1, unless
63
- GRPC_ARG_MINIMAL_STACK is enabled, in which case it defaults to 0. */
66
+ /** Enable/disable support for per-message compression. Boolean valued. Defaults
67
+ to true, unless GRPC_ARG_MINIMAL_STACK is enabled, in which case it defaults
68
+ to false. */
64
69
  #define GRPC_ARG_ENABLE_PER_MESSAGE_COMPRESSION "grpc.per_message_compression"
65
70
  /** Experimental Arg. Enable/disable support for per-message decompression.
66
71
  Defaults to 1. If disabled, decompression will not be performed and the
67
72
  application will see the compressed message in the byte buffer. */
68
73
  #define GRPC_ARG_ENABLE_PER_MESSAGE_DECOMPRESSION \
69
74
  "grpc.per_message_decompression"
70
- /** Initial stream ID for http2 transports. Int valued. */
75
+ /** Initial stream ID for http2 transports. Int valued. Defaults to -1
76
+ indicating use of default http2 setting initial stream ID (1). */
71
77
  #define GRPC_ARG_HTTP2_INITIAL_SEQUENCE_NUMBER \
72
78
  "grpc.http2.initial_sequence_number"
73
79
  /** Amount to read ahead on individual streams. Defaults to 64kb, larger
@@ -75,17 +81,22 @@
75
81
  NOTE: at some point we'd like to auto-tune this, and this parameter
76
82
  will become a no-op. Int valued, bytes. */
77
83
  #define GRPC_ARG_HTTP2_STREAM_LOOKAHEAD_BYTES "grpc.http2.lookahead_bytes"
78
- /** How much memory to use for hpack decoding. Int valued, bytes. */
84
+ /** How much memory to use for hpack decoding. Int valued, bytes. Defaults to -1
85
+ indicating use of default http2 setting(4096 bytes). */
79
86
  #define GRPC_ARG_HTTP2_HPACK_TABLE_SIZE_DECODER \
80
87
  "grpc.http2.hpack_table_size.decoder"
81
- /** How much memory to use for hpack encoding. Int valued, bytes. */
88
+ /** How much memory to use for hpack encoding. Int valued, bytes. Defaults to -1
89
+ indicating use of default http2 setting(4096 bytes). */
82
90
  #define GRPC_ARG_HTTP2_HPACK_TABLE_SIZE_ENCODER \
83
91
  "grpc.http2.hpack_table_size.encoder"
84
92
  /** How big a frame are we willing to receive via HTTP2.
85
93
  Min 16384, max 16777215. Larger values give lower CPU usage for large
86
- messages, but more head of line blocking for small messages. */
94
+ messages, but more head of line blocking for small messages. Defaults to
95
+ -1(indicating no explicit max frame size), so it will take standard http/2
96
+ specified max frame size to 16 KB. */
87
97
  #define GRPC_ARG_HTTP2_MAX_FRAME_SIZE "grpc.http2.max_frame_size"
88
- /** Should BDP probing be performed? */
98
+ /** Should BDP probing be performed?
99
+ Boolean valued. Defaults to true(enabled). */
89
100
  #define GRPC_ARG_HTTP2_BDP_PROBE "grpc.http2.bdp_probe"
90
101
  /** (DEPRECATED) Does not have any effect.
91
102
  Earlier, this arg configured the minimum time between successive ping frames
@@ -109,21 +120,22 @@
109
120
  before the request is cancelled */
110
121
  #define GRPC_ARG_SERVER_MAX_UNREQUESTED_TIME_IN_SERVER_SECONDS \
111
122
  "grpc.server_max_unrequested_time_in_server"
112
- /** Channel arg to override the http2 :scheme header */
123
+ /** Channel arg to override the http2 :scheme header. String valued. */
113
124
  #define GRPC_ARG_HTTP2_SCHEME "grpc.http2_scheme"
114
125
  /** How many pings can the client send before needing to send a data/header
115
- frame? (0 indicates that an infinite number of pings can be sent without
116
- sending a data frame or header frame).
117
- If experiment "max_pings_wo_data_throttle" is enabled, instead of pings being
118
- completely blocked, they are throttled. */
126
+ frame, without being throttled? (0 indicates that an infinite number of pings
127
+ can be sent without sending a data frame or header frame).
128
+ * Integer valued. Defaults to 2. */
119
129
  #define GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA \
120
130
  "grpc.http2.max_pings_without_data"
121
131
  /** How many misbehaving pings the server can bear before sending goaway and
122
132
  closing the transport? (0 indicates that the server can bear an infinite
123
- number of misbehaving pings) */
133
+ number of misbehaving pings)
134
+ * Integer valued. Defaults to 2. */
124
135
  #define GRPC_ARG_HTTP2_MAX_PING_STRIKES "grpc.http2.max_ping_strikes"
125
136
  /** How much data are we willing to queue up per stream if
126
- GRPC_WRITE_BUFFER_HINT is set? This is an upper bound */
137
+ GRPC_WRITE_BUFFER_HINT is set? This is an upper bound
138
+ * Integer valued, bytes. Defaults to 65535 bytes. */
127
139
  #define GRPC_ARG_HTTP2_WRITE_BUFFER_SIZE "grpc.http2.write_buffer_size"
128
140
  /** Should we allow receipt of true-binary data on http2 connections?
129
141
  Defaults to on (1) */
@@ -136,33 +148,44 @@
136
148
  #define GRPC_ARG_EXPERIMENTAL_HTTP2_PREFERRED_CRYPTO_FRAME_SIZE \
137
149
  "grpc.experimental.http2.enable_preferred_frame_size"
138
150
  /** After a duration of this time the client/server pings its peer to see if the
139
- transport is still alive. Int valued, milliseconds. */
151
+ transport is still alive. Int valued, milliseconds. Defaults to 7200000 (2
152
+ hours). */
140
153
  #define GRPC_ARG_KEEPALIVE_TIME_MS "grpc.keepalive_time_ms"
141
154
  /** After waiting for a duration of this time, if the keepalive ping sender does
142
155
  not receive the ping ack, it will close the transport. Int valued,
143
- milliseconds. */
156
+ milliseconds. Defaults to 20000 (20 seonds). */
144
157
  #define GRPC_ARG_KEEPALIVE_TIMEOUT_MS "grpc.keepalive_timeout_ms"
145
158
  /** Is it permissible to send keepalive pings from the client without any
146
- outstanding streams. Int valued, 0(false)/1(true). */
159
+ outstanding streams. Int valued, 0(false)/1(true). Defaults to 0. */
147
160
  #define GRPC_ARG_KEEPALIVE_PERMIT_WITHOUT_CALLS \
148
161
  "grpc.keepalive_permit_without_calls"
149
162
  /** Default authority to pass if none specified on call construction. A string.
150
163
  * */
151
164
  #define GRPC_ARG_DEFAULT_AUTHORITY "grpc.default_authority"
152
165
  /** Primary user agent: goes at the start of the user-agent metadata
153
- sent on each request. A string. */
166
+ sent on each request. A string. Defaults to empty string(""). */
154
167
  #define GRPC_ARG_PRIMARY_USER_AGENT_STRING "grpc.primary_user_agent"
155
168
  /** Secondary user agent: goes at the end of the user-agent metadata
156
169
  sent on each request. A string. */
157
170
  #define GRPC_ARG_SECONDARY_USER_AGENT_STRING "grpc.secondary_user_agent"
158
- /** The minimum time between subsequent connection attempts, in ms */
171
+ /** The minimum time between subsequent connection attempts, in ms. Refer to
172
+ * MIN_CONNECT_TIMEOUT from
173
+ * https://github.com/grpc/grpc/blob/master/doc/connection-backoff.md. Defaults
174
+ * to 20 seconds. */
159
175
  #define GRPC_ARG_MIN_RECONNECT_BACKOFF_MS "grpc.min_reconnect_backoff_ms"
160
- /** The maximum time between subsequent connection attempts, in ms */
176
+ /** The maximum time between subsequent connection attempts, in ms. Refer to
177
+ * MAX_BACKOFF from
178
+ * https://github.com/grpc/grpc/blob/master/doc/connection-backoff.md. Defaults
179
+ * to 120 seconds. */
161
180
  #define GRPC_ARG_MAX_RECONNECT_BACKOFF_MS "grpc.max_reconnect_backoff_ms"
162
- /** The time between the first and second connection attempts, in ms */
181
+ /** The time between the first and second connection attempts, in ms. Refer to
182
+ * INITIAL_BACKOFF from
183
+ * https://github.com/grpc/grpc/blob/master/doc/connection-backoff.md. Defaults
184
+ * to 1 second. */
163
185
  #define GRPC_ARG_INITIAL_RECONNECT_BACKOFF_MS \
164
186
  "grpc.initial_reconnect_backoff_ms"
165
- /** Minimum amount of time between DNS resolutions, in ms */
187
+ /** Minimum amount of time between DNS resolutions, in ms. Defaults to 30
188
+ * seconds. */
166
189
  #define GRPC_ARG_DNS_MIN_TIME_BETWEEN_RESOLUTIONS_MS \
167
190
  "grpc.dns_min_time_between_resolutions_ms"
168
191
  /** The timeout used on servers for finishing handshaking on an incoming
@@ -178,10 +201,10 @@
178
201
  #define GRPC_SSL_TARGET_NAME_OVERRIDE_ARG "grpc.ssl_target_name_override"
179
202
  /** If non-zero, a pointer to a session cache (a pointer of type
180
203
  grpc_ssl_session_cache*). (use grpc_ssl_session_cache_arg_vtable() to fetch
181
- an appropriate pointer arg vtable) */
204
+ an appropriate pointer arg vtable). */
182
205
  #define GRPC_SSL_SESSION_CACHE_ARG "grpc.ssl_session_cache"
183
206
  /** If non-zero, it will determine the maximum frame size used by TSI's frame
184
- * protector.
207
+ * protector. Defaults to zero.
185
208
  */
186
209
  #define GRPC_ARG_TSI_MAX_FRAME_SIZE "grpc.tsi.max_frame_size"
187
210
  /** Maximum metadata size (soft limit), in bytes. Note this limit applies to the
@@ -200,17 +223,20 @@
200
223
  #define GRPC_ARG_ALLOW_REUSEPORT "grpc.so_reuseport"
201
224
  /** If non-zero, a pointer to a buffer pool (a pointer of type
202
225
  * grpc_resource_quota*). (use grpc_resource_quota_arg_vtable() to fetch an
203
- * appropriate pointer arg vtable) */
226
+ * appropriate pointer arg vtable). */
204
227
  #define GRPC_ARG_RESOURCE_QUOTA "grpc.resource_quota"
205
- /** If non-zero, expand wildcard addresses to a list of local addresses. */
228
+ /** If non-zero, expand wildcard addresses to a list of local addresses. Boolean
229
+ * valued. */
206
230
  #define GRPC_ARG_EXPAND_WILDCARD_ADDRS "grpc.expand_wildcard_addrs"
207
231
  /** Service config data in JSON form.
208
- This value will be ignored if the name resolver returns a service config. */
232
+ This value will be ignored if the name resolver returns a service config. A
233
+ string value. */
209
234
  #define GRPC_ARG_SERVICE_CONFIG "grpc.service_config"
210
- /** Disable looking up the service config via the name resolver. */
235
+ /** Disable looking up the service config via the name resolver. Boolean valued.
236
+ * Defaults to true. */
211
237
  #define GRPC_ARG_SERVICE_CONFIG_DISABLE_RESOLUTION \
212
238
  "grpc.service_config_disable_resolution"
213
- /** LB policy name. */
239
+ /** LB policy name. A string value.*/
214
240
  #define GRPC_ARG_LB_POLICY_NAME "grpc.lb_policy_name"
215
241
  /** Cap for ring size in the ring_hash LB policy. The min and max ring size
216
242
  values set in the LB policy config will be capped to this value.
@@ -223,24 +249,23 @@
223
249
  /** The maximum amount of memory used by trace events per channel trace node.
224
250
  * Once the maximum is reached, subsequent events will evict the oldest events
225
251
  * from the buffer. The unit for this knob is bytes. Setting it to zero causes
226
- * channel tracing to be disabled. */
252
+ * channel tracing to be disabled. Defaults to (1024 * 4) bytes. */
227
253
  #define GRPC_ARG_MAX_CHANNEL_TRACE_EVENT_MEMORY_PER_NODE \
228
254
  "grpc.max_channel_trace_event_memory_per_node"
229
255
  /** If non-zero, gRPC library will track stats and information at at per channel
230
256
  * level. Disabling channelz naturally disables channel tracing. The default
231
257
  * is for channelz to be enabled. */
232
258
  #define GRPC_ARG_ENABLE_CHANNELZ "grpc.enable_channelz"
233
- /** If non-zero, Cronet transport will coalesce packets to fewer frames
234
- * when possible. */
235
- #define GRPC_ARG_USE_CRONET_PACKET_COALESCING \
236
- "grpc.use_cronet_packet_coalescing"
237
259
  /** Channel arg (integer) setting how large a slice to try and read from the
238
- wire each time recvmsg (or equivalent) is called **/
260
+ wire each time recvmsg (or equivalent). Range varied from 1
261
+ to (32 * 1024 * 1024) bytes. Defaults to 8192 bytes. **/
239
262
  #define GRPC_ARG_TCP_READ_CHUNK_SIZE "grpc.experimental.tcp_read_chunk_size"
240
263
  /** Note this is not a "channel arg" key. This is the default slice size to use
241
264
  * when trying to read from the wire if the GRPC_ARG_TCP_READ_CHUNK_SIZE
242
265
  * channel arg is unspecified. */
243
266
  #define GRPC_TCP_DEFAULT_READ_SLICE_SIZE 8192
267
+ /** Minimum read chunk size defaults to 256 bytes. Range varies from 1 to (32 *
268
+ * 1024 * 1024) bytes. */
244
269
  #define GRPC_ARG_TCP_MIN_READ_CHUNK_SIZE \
245
270
  "grpc.experimental.tcp_min_read_chunk_size"
246
271
  #define GRPC_ARG_TCP_MAX_READ_CHUNK_SIZE \
@@ -259,10 +284,12 @@
259
284
  issued by the tcp_write(). By default, this is set to 4. */
260
285
  #define GRPC_ARG_TCP_TX_ZEROCOPY_MAX_SIMULT_SENDS \
261
286
  "grpc.experimental.tcp_tx_zerocopy_max_simultaneous_sends"
262
- /* Overrides the TCP socket receive buffer size, SO_RCVBUF. */
287
+ /* Overrides the TCP socket receive buffer size, SO_RCVBUF.
288
+ Default value is -1(kReadBufferSizeUnset) indicating that the system will
289
+ decide the buffer size. Range varies from 0 to INT_MAX. */
263
290
  #define GRPC_ARG_TCP_RECEIVE_BUFFER_SIZE "grpc.tcp_receive_buffer_size"
264
291
  /* Timeout in milliseconds to use for calls to the grpclb load balancer.
265
- If 0 or unset, the balancer calls will have no deadline. */
292
+ If 0 or unset, the balancer calls will have no deadline. Defaults to 0 ms. */
266
293
  #define GRPC_ARG_GRPCLB_CALL_TIMEOUT_MS "grpc.grpclb_call_timeout_ms"
267
294
  /* Specifies the xDS bootstrap config as a JSON string.
268
295
  FOR TESTING PURPOSES ONLY -- DO NOT USE IN PRODUCTION.
@@ -277,7 +304,7 @@
277
304
  "grpc.TEST_ONLY_DO_NOT_USE_IN_PROD.xds_bootstrap_config"
278
305
  /* Timeout in milliseconds to wait for the serverlist from the grpclb load
279
306
  balancer before using fallback backend addresses from the resolver.
280
- If 0, enter fallback mode immediately. Default value is 10000. */
307
+ If 0, enter fallback mode immediately. Default value is 10000ms. */
281
308
  #define GRPC_ARG_GRPCLB_FALLBACK_TIMEOUT_MS "grpc.grpclb_fallback_timeout_ms"
282
309
  /* Experimental Arg. Channel args to be used for the control-plane channel
283
310
  * created to the grpclb load balancers. This is a pointer arg whose value is a
@@ -290,9 +317,6 @@
290
317
  over to the next priority. Default value is 10 seconds. */
291
318
  #define GRPC_ARG_PRIORITY_FAILOVER_TIMEOUT_MS \
292
319
  "grpc.priority_failover_timeout_ms"
293
- /** If non-zero, grpc server's cronet compression workaround will be enabled */
294
- #define GRPC_ARG_WORKAROUND_CRONET_COMPRESSION \
295
- "grpc.workaround.cronet_compression"
296
320
  /** String defining the optimization target for a channel.
297
321
  Can be: "latency" - attempt to minimize latency at the cost of throughput
298
322
  "blend" - try to balance latency and throughput
@@ -325,13 +349,15 @@
325
349
  /** Channel arg that carries the bridged objective c object for custom metrics
326
350
  * logging filter. */
327
351
  #define GRPC_ARG_MOBILE_LOG_CONTEXT "grpc.mobile_log_context"
328
- /** If non-zero, client authority filter is disabled for the channel */
352
+ /** If non-zero, client authority filter is disabled for the channel.
353
+ * Boolean valued. Defaults to false. */
329
354
  #define GRPC_ARG_DISABLE_CLIENT_AUTHORITY_FILTER \
330
355
  "grpc.disable_client_authority_filter"
331
356
  /** If set to zero, disables use of http proxies. Enabled by default. */
332
357
  #define GRPC_ARG_ENABLE_HTTP_PROXY "grpc.enable_http_proxy"
333
358
  /** Channel arg to set http proxy per channel. If set, the channel arg
334
- * value will be preferred over the environment variable settings. */
359
+ * value will be preferred over the environment variable settings. String
360
+ * value. */
335
361
  #define GRPC_ARG_HTTP_PROXY "grpc.http_proxy"
336
362
  /** Specifies an HTTP proxy to use for individual addresses.
337
363
  * The proxy must be specified as an IP address, not a DNS name.
@@ -347,7 +373,7 @@
347
373
  agent is surfaced by default. */
348
374
  #define GRPC_ARG_SURFACE_USER_AGENT "grpc.surface_user_agent"
349
375
  /** If set, inhibits health checking (which may be enabled via the
350
- * service config.) */
376
+ * service config.). Boolean valued. Defaults to false. */
351
377
  #define GRPC_ARG_INHIBIT_HEALTH_CHECKING "grpc.inhibit_health_checking"
352
378
  /** If enabled, the channel's DNS resolver queries for SRV records.
353
379
  * This is useful only when using the "grpclb" load balancing policy,
@@ -356,17 +382,17 @@
356
382
  * https://github.com/grpc/proposal/blob/master/A24-lb-policy-config.md
357
383
  * https://github.com/grpc/proposal/blob/master/A26-grpclb-selection.md
358
384
  * Note that this works only with the "ares" DNS resolver; it isn't supported
359
- * by the "native" DNS resolver. */
385
+ * by the "native" DNS resolver. Boolean valued. Defaults to false. */
360
386
  #define GRPC_ARG_DNS_ENABLE_SRV_QUERIES "grpc.dns_enable_srv_queries"
361
387
  /** If set, determines an upper bound on the number of milliseconds that the
362
388
  * c-ares based DNS resolver will wait on queries before cancelling them.
363
- * The default value is 120,000. Setting this to "0" will disable the
389
+ * The default value is 120,000ms. Setting this to "0" will disable the
364
390
  * overall timeout entirely. Note that this doesn't include internal c-ares
365
391
  * timeouts/backoff/retry logic, and so the actual DNS resolution may time out
366
392
  * sooner than the value specified here. */
367
393
  #define GRPC_ARG_DNS_ARES_QUERY_TIMEOUT_MS "grpc.dns_ares_query_timeout"
368
394
  /** If set, uses a local subchannel pool within the channel. Otherwise, uses the
369
- * global subchannel pool. */
395
+ * global subchannel pool. Boolean valued. Defaults to false. */
370
396
  #define GRPC_ARG_USE_LOCAL_SUBCHANNEL_POOL "grpc.use_local_subchannel_pool"
371
397
  /** gRPC Objective-C channel pooling domain string. */
372
398
  #define GRPC_ARG_CHANNEL_POOL_DOMAIN "grpc.channel_pooling_domain"
@@ -41,8 +41,9 @@ extern "C" {
41
41
  * Its value is an int from the \a grpc_compression_algorithm enum. */
42
42
  #define GRPC_COMPRESSION_CHANNEL_DEFAULT_ALGORITHM \
43
43
  "grpc.default_compression_algorithm"
44
- /** Default compression level for the channel.
45
- * Its value is an int from the \a grpc_compression_level enum. */
44
+ /** Set the default compression level for the channel.
45
+ * Valid values are defined by the enum type grpc_compression_level, defaults to
46
+ * GRPC_COMPRESS_LEVEL_NONE. */
46
47
  #define GRPC_COMPRESSION_CHANNEL_DEFAULT_LEVEL "grpc.default_compression_level"
47
48
  /** Compression algorithms supported by the channel.
48
49
  * Its value is a bitset (an int). Bits correspond to algorithms in \a