grpc 1.67.0 → 1.72.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 (3236) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +378 -397
  3. data/include/grpc/compression.h +1 -2
  4. data/include/grpc/credentials.h +1 -2
  5. data/include/grpc/event_engine/endpoint_config.h +7 -7
  6. data/include/grpc/event_engine/event_engine.h +56 -14
  7. data/include/grpc/event_engine/extensible.h +2 -2
  8. data/include/grpc/event_engine/internal/memory_allocator_impl.h +4 -4
  9. data/include/grpc/event_engine/memory_allocator.h +3 -4
  10. data/include/grpc/event_engine/memory_request.h +4 -5
  11. data/include/grpc/event_engine/slice.h +3 -4
  12. data/include/grpc/event_engine/slice_buffer.h +6 -7
  13. data/include/grpc/grpc.h +1 -2
  14. data/include/grpc/grpc_audit_logging.h +3 -3
  15. data/include/grpc/grpc_crl_provider.h +4 -4
  16. data/include/grpc/grpc_posix.h +1 -2
  17. data/include/grpc/grpc_security.h +1 -2
  18. data/include/grpc/impl/call.h +2 -2
  19. data/include/grpc/impl/channel_arg_names.h +72 -50
  20. data/include/grpc/impl/grpc_types.h +1 -2
  21. data/include/grpc/impl/slice_type.h +1 -2
  22. data/include/grpc/passive_listener.h +2 -2
  23. data/include/grpc/status.h +1 -1
  24. data/include/grpc/support/alloc.h +1 -2
  25. data/include/grpc/support/atm.h +0 -13
  26. data/include/grpc/support/json.h +17 -18
  27. data/include/grpc/support/log.h +1 -2
  28. data/include/grpc/support/metrics.h +7 -3
  29. data/include/grpc/support/port_platform.h +6 -1
  30. data/include/grpc/support/sync_posix.h +1 -2
  31. data/include/grpc/support/time.h +1 -2
  32. data/include/grpc/support/workaround_list.h +1 -4
  33. data/src/core/call/call_arena_allocator.cc +27 -0
  34. data/src/core/call/call_arena_allocator.h +91 -0
  35. data/src/core/call/call_destination.h +76 -0
  36. data/src/core/call/call_filters.cc +148 -0
  37. data/src/core/call/call_filters.h +1967 -0
  38. data/src/core/call/call_finalization.h +88 -0
  39. data/src/core/call/call_spine.cc +90 -0
  40. data/src/core/call/call_spine.h +644 -0
  41. data/src/core/call/call_state.cc +39 -0
  42. data/src/core/call/call_state.h +1154 -0
  43. data/src/core/call/client_call.cc +458 -0
  44. data/src/core/call/client_call.h +192 -0
  45. data/src/core/call/custom_metadata.h +30 -0
  46. data/src/core/call/interception_chain.cc +155 -0
  47. data/src/core/call/interception_chain.h +282 -0
  48. data/src/core/call/message.cc +44 -0
  49. data/src/core/call/message.h +70 -0
  50. data/src/core/call/metadata.cc +61 -0
  51. data/src/core/call/metadata.h +201 -0
  52. data/src/core/call/metadata_batch.cc +383 -0
  53. data/src/core/call/metadata_batch.h +1668 -0
  54. data/src/core/call/metadata_compression_traits.h +66 -0
  55. data/src/core/call/metadata_info.cc +73 -0
  56. data/src/core/call/metadata_info.h +85 -0
  57. data/src/core/call/parsed_metadata.cc +35 -0
  58. data/src/core/call/parsed_metadata.h +429 -0
  59. data/src/core/call/request_buffer.cc +224 -0
  60. data/src/core/call/request_buffer.h +192 -0
  61. data/src/core/call/security_context.cc +125 -0
  62. data/src/core/call/security_context.h +114 -0
  63. data/src/core/call/server_call.cc +259 -0
  64. data/src/core/call/server_call.h +169 -0
  65. data/src/core/call/simple_slice_based_metadata.h +53 -0
  66. data/src/core/call/status_util.cc +153 -0
  67. data/src/core/call/status_util.h +80 -0
  68. data/src/core/channelz/channel_trace.cc +5 -6
  69. data/src/core/channelz/channel_trace.h +5 -7
  70. data/src/core/channelz/channelz.cc +7 -8
  71. data/src/core/channelz/channelz.h +11 -32
  72. data/src/core/channelz/channelz_registry.cc +6 -14
  73. data/src/core/channelz/channelz_registry.h +4 -5
  74. data/src/core/client_channel/backup_poller.cc +21 -11
  75. data/src/core/client_channel/client_channel.cc +66 -65
  76. data/src/core/client_channel/client_channel.h +10 -7
  77. data/src/core/client_channel/client_channel_args.h +21 -0
  78. data/src/core/client_channel/client_channel_factory.cc +2 -2
  79. data/src/core/client_channel/client_channel_factory.h +1 -2
  80. data/src/core/client_channel/client_channel_filter.cc +91 -175
  81. data/src/core/client_channel/client_channel_filter.h +23 -21
  82. data/src/core/client_channel/client_channel_internal.h +3 -4
  83. data/src/core/client_channel/client_channel_plugin.cc +3 -4
  84. data/src/core/client_channel/client_channel_service_config.cc +3 -4
  85. data/src/core/client_channel/client_channel_service_config.h +9 -11
  86. data/src/core/client_channel/config_selector.h +6 -9
  87. data/src/core/client_channel/connector.h +3 -3
  88. data/src/core/client_channel/direct_channel.cc +6 -6
  89. data/src/core/client_channel/direct_channel.h +1 -1
  90. data/src/core/client_channel/dynamic_filters.cc +10 -9
  91. data/src/core/client_channel/dynamic_filters.h +8 -8
  92. data/src/core/client_channel/global_subchannel_pool.cc +2 -2
  93. data/src/core/client_channel/global_subchannel_pool.h +2 -3
  94. data/src/core/client_channel/lb_metadata.cc +7 -8
  95. data/src/core/client_channel/lb_metadata.h +6 -7
  96. data/src/core/client_channel/load_balanced_call_destination.cc +7 -8
  97. data/src/core/client_channel/load_balanced_call_destination.h +1 -2
  98. data/src/core/client_channel/local_subchannel_pool.cc +2 -3
  99. data/src/core/client_channel/local_subchannel_pool.h +1 -1
  100. data/src/core/client_channel/retry_filter.cc +6 -8
  101. data/src/core/client_channel/retry_filter.h +5 -8
  102. data/src/core/client_channel/retry_filter_legacy_call_data.cc +62 -62
  103. data/src/core/client_channel/retry_filter_legacy_call_data.h +22 -23
  104. data/src/core/client_channel/retry_interceptor.cc +408 -0
  105. data/src/core/client_channel/retry_interceptor.h +157 -0
  106. data/src/core/client_channel/retry_service_config.cc +8 -10
  107. data/src/core/client_channel/retry_service_config.h +20 -9
  108. data/src/core/client_channel/retry_throttle.cc +60 -50
  109. data/src/core/client_channel/retry_throttle.h +16 -11
  110. data/src/core/client_channel/subchannel.cc +62 -99
  111. data/src/core/client_channel/subchannel.h +22 -22
  112. data/src/core/client_channel/subchannel_interface_internal.h +1 -1
  113. data/src/core/client_channel/subchannel_pool_interface.cc +1 -3
  114. data/src/core/client_channel/subchannel_pool_interface.h +2 -3
  115. data/src/core/client_channel/subchannel_stream_client.cc +20 -21
  116. data/src/core/client_channel/subchannel_stream_client.h +13 -15
  117. data/src/core/config/config_vars.cc +152 -0
  118. data/src/core/config/config_vars.h +129 -0
  119. data/src/core/config/config_vars_non_generated.cc +49 -0
  120. data/src/core/config/core_configuration.cc +111 -0
  121. data/src/core/config/core_configuration.h +242 -0
  122. data/src/core/config/load_config.cc +78 -0
  123. data/src/core/config/load_config.h +54 -0
  124. data/src/core/credentials/call/call_credentials.h +157 -0
  125. data/src/core/credentials/call/call_creds_util.cc +97 -0
  126. data/src/core/credentials/call/call_creds_util.h +43 -0
  127. data/src/core/credentials/call/composite/composite_call_credentials.cc +115 -0
  128. data/src/core/credentials/call/composite/composite_call_credentials.h +82 -0
  129. data/src/core/credentials/call/external/aws_external_account_credentials.cc +528 -0
  130. data/src/core/credentials/call/external/aws_external_account_credentials.h +117 -0
  131. data/src/core/credentials/call/external/aws_request_signer.cc +230 -0
  132. data/src/core/credentials/call/external/aws_request_signer.h +72 -0
  133. data/src/core/credentials/call/external/external_account_credentials.cc +641 -0
  134. data/src/core/credentials/call/external/external_account_credentials.h +207 -0
  135. data/src/core/credentials/call/external/file_external_account_credentials.cc +174 -0
  136. data/src/core/credentials/call/external/file_external_account_credentials.h +80 -0
  137. data/src/core/credentials/call/external/url_external_account_credentials.cc +222 -0
  138. data/src/core/credentials/call/external/url_external_account_credentials.h +73 -0
  139. data/src/core/credentials/call/gcp_service_account_identity/gcp_service_account_identity_credentials.cc +196 -0
  140. data/src/core/credentials/call/gcp_service_account_identity/gcp_service_account_identity_credentials.h +90 -0
  141. data/src/core/credentials/call/iam/iam_credentials.cc +78 -0
  142. data/src/core/credentials/call/iam/iam_credentials.h +66 -0
  143. data/src/core/credentials/call/json_util.cc +69 -0
  144. data/src/core/credentials/call/json_util.h +43 -0
  145. data/src/core/credentials/call/jwt/json_token.cc +318 -0
  146. data/src/core/credentials/call/jwt/json_token.h +78 -0
  147. data/src/core/credentials/call/jwt/jwt_credentials.cc +181 -0
  148. data/src/core/credentials/call/jwt/jwt_credentials.h +106 -0
  149. data/src/core/credentials/call/jwt/jwt_verifier.cc +988 -0
  150. data/src/core/credentials/call/jwt/jwt_verifier.h +122 -0
  151. data/src/core/credentials/call/oauth2/oauth2_credentials.cc +654 -0
  152. data/src/core/credentials/call/oauth2/oauth2_credentials.h +197 -0
  153. data/src/core/credentials/call/plugin/plugin_credentials.cc +201 -0
  154. data/src/core/credentials/call/plugin/plugin_credentials.h +123 -0
  155. data/src/core/credentials/call/token_fetcher/token_fetcher_credentials.cc +304 -0
  156. data/src/core/credentials/call/token_fetcher/token_fetcher_credentials.h +181 -0
  157. data/src/core/credentials/transport/alts/alts_credentials.cc +116 -0
  158. data/src/core/credentials/transport/alts/alts_credentials.h +127 -0
  159. data/src/core/credentials/transport/alts/alts_security_connector.cc +303 -0
  160. data/src/core/credentials/transport/alts/alts_security_connector.h +78 -0
  161. data/src/core/credentials/transport/alts/check_gcp_environment.cc +71 -0
  162. data/src/core/credentials/transport/alts/check_gcp_environment.h +57 -0
  163. data/src/core/credentials/transport/alts/check_gcp_environment_linux.cc +67 -0
  164. data/src/core/credentials/transport/alts/check_gcp_environment_no_op.cc +32 -0
  165. data/src/core/credentials/transport/alts/check_gcp_environment_windows.cc +101 -0
  166. data/src/core/credentials/transport/alts/grpc_alts_credentials_client_options.cc +123 -0
  167. data/src/core/credentials/transport/alts/grpc_alts_credentials_options.cc +45 -0
  168. data/src/core/credentials/transport/alts/grpc_alts_credentials_options.h +74 -0
  169. data/src/core/credentials/transport/alts/grpc_alts_credentials_server_options.cc +55 -0
  170. data/src/core/credentials/transport/channel_creds_registry.h +126 -0
  171. data/src/core/credentials/transport/channel_creds_registry_init.cc +245 -0
  172. data/src/core/credentials/transport/composite/composite_channel_credentials.cc +68 -0
  173. data/src/core/credentials/transport/composite/composite_channel_credentials.h +89 -0
  174. data/src/core/credentials/transport/fake/fake_credentials.cc +81 -0
  175. data/src/core/credentials/transport/fake/fake_credentials.h +92 -0
  176. data/src/core/credentials/transport/fake/fake_security_connector.cc +314 -0
  177. data/src/core/credentials/transport/fake/fake_security_connector.h +42 -0
  178. data/src/core/credentials/transport/google_default/credentials_generic.cc +38 -0
  179. data/src/core/credentials/transport/google_default/google_default_credentials.cc +442 -0
  180. data/src/core/credentials/transport/google_default/google_default_credentials.h +101 -0
  181. data/src/core/credentials/transport/insecure/insecure_credentials.cc +71 -0
  182. data/src/core/credentials/transport/insecure/insecure_credentials.h +61 -0
  183. data/src/core/credentials/transport/insecure/insecure_security_connector.cc +118 -0
  184. data/src/core/credentials/transport/insecure/insecure_security_connector.h +102 -0
  185. data/src/core/credentials/transport/local/local_credentials.cc +68 -0
  186. data/src/core/credentials/transport/local/local_credentials.h +77 -0
  187. data/src/core/credentials/transport/local/local_security_connector.cc +306 -0
  188. data/src/core/credentials/transport/local/local_security_connector.h +62 -0
  189. data/src/core/credentials/transport/security_connector.cc +123 -0
  190. data/src/core/credentials/transport/security_connector.h +197 -0
  191. data/src/core/credentials/transport/ssl/ssl_credentials.cc +474 -0
  192. data/src/core/credentials/transport/ssl/ssl_credentials.h +144 -0
  193. data/src/core/credentials/transport/ssl/ssl_security_connector.cc +403 -0
  194. data/src/core/credentials/transport/ssl/ssl_security_connector.h +81 -0
  195. data/src/core/credentials/transport/tls/certificate_provider_factory.h +69 -0
  196. data/src/core/credentials/transport/tls/certificate_provider_registry.cc +50 -0
  197. data/src/core/credentials/transport/tls/certificate_provider_registry.h +75 -0
  198. data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.cc +337 -0
  199. data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.h +215 -0
  200. data/src/core/credentials/transport/tls/grpc_tls_certificate_match.cc +84 -0
  201. data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.cc +490 -0
  202. data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.h +206 -0
  203. data/src/core/credentials/transport/tls/grpc_tls_certificate_verifier.cc +237 -0
  204. data/src/core/credentials/transport/tls/grpc_tls_certificate_verifier.h +169 -0
  205. data/src/core/credentials/transport/tls/grpc_tls_credentials_options.cc +161 -0
  206. data/src/core/credentials/transport/tls/grpc_tls_credentials_options.h +145 -0
  207. data/src/core/credentials/transport/tls/grpc_tls_crl_provider.cc +257 -0
  208. data/src/core/credentials/transport/tls/grpc_tls_crl_provider.h +129 -0
  209. data/src/core/credentials/transport/tls/load_system_roots.h +35 -0
  210. data/src/core/credentials/transport/tls/load_system_roots_fallback.cc +36 -0
  211. data/src/core/credentials/transport/tls/load_system_roots_supported.cc +165 -0
  212. data/src/core/credentials/transport/tls/load_system_roots_supported.h +44 -0
  213. data/src/core/credentials/transport/tls/load_system_roots_windows.cc +85 -0
  214. data/src/core/credentials/transport/tls/ssl_utils.cc +628 -0
  215. data/src/core/credentials/transport/tls/ssl_utils.h +188 -0
  216. data/src/core/credentials/transport/tls/tls_credentials.cc +170 -0
  217. data/src/core/credentials/transport/tls/tls_credentials.h +75 -0
  218. data/src/core/credentials/transport/tls/tls_security_connector.cc +816 -0
  219. data/src/core/credentials/transport/tls/tls_security_connector.h +285 -0
  220. data/src/core/credentials/transport/tls/tls_utils.cc +127 -0
  221. data/src/core/credentials/transport/tls/tls_utils.h +50 -0
  222. data/src/core/credentials/transport/transport_credentials.cc +158 -0
  223. data/src/core/credentials/transport/transport_credentials.h +182 -0
  224. data/src/core/credentials/transport/xds/xds_credentials.cc +231 -0
  225. data/src/core/credentials/transport/xds/xds_credentials.h +110 -0
  226. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +14 -21
  227. data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +7 -8
  228. data/src/core/ext/filters/census/grpc_context.cc +1 -2
  229. data/src/core/ext/filters/channel_idle/idle_filter_state.cc +1 -2
  230. data/src/core/ext/filters/channel_idle/idle_filter_state.h +0 -1
  231. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +25 -24
  232. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h +6 -8
  233. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +19 -23
  234. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +7 -9
  235. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +4 -5
  236. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +4 -7
  237. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +56 -25
  238. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +35 -20
  239. data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.cc +3 -4
  240. data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.h +3 -4
  241. data/src/core/ext/filters/http/client/http_client_filter.cc +13 -13
  242. data/src/core/ext/filters/http/client/http_client_filter.h +5 -6
  243. data/src/core/ext/filters/http/client_authority_filter.cc +15 -19
  244. data/src/core/ext/filters/http/client_authority_filter.h +6 -7
  245. data/src/core/ext/filters/http/http_filters_plugin.cc +1 -2
  246. data/src/core/ext/filters/http/message_compress/compression_filter.cc +43 -33
  247. data/src/core/ext/filters/http/message_compress/compression_filter.h +20 -18
  248. data/src/core/ext/filters/http/server/http_server_filter.cc +15 -15
  249. data/src/core/ext/filters/http/server/http_server_filter.h +4 -5
  250. data/src/core/ext/filters/message_size/message_size_filter.cc +27 -33
  251. data/src/core/ext/filters/message_size/message_size_filter.h +22 -25
  252. data/src/core/ext/filters/rbac/rbac_filter.cc +8 -15
  253. data/src/core/ext/filters/rbac/rbac_filter.h +6 -8
  254. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +17 -11
  255. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +2 -4
  256. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +13 -13
  257. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +6 -8
  258. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc +3 -4
  259. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +5 -7
  260. data/src/core/ext/transport/chttp2/alpn/alpn.cc +1 -2
  261. data/src/core/ext/transport/chttp2/alpn/alpn.h +1 -2
  262. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +24 -29
  263. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +7 -7
  264. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +765 -189
  265. data/src/core/ext/transport/chttp2/server/chttp2_server.h +195 -15
  266. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +7 -7
  267. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +2 -3
  268. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +4 -6
  269. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +1 -2
  270. data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.cc +53 -0
  271. data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.h +70 -0
  272. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +277 -193
  273. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +12 -13
  274. data/src/core/ext/transport/chttp2/transport/context_list_entry.h +4 -5
  275. data/src/core/ext/transport/chttp2/transport/decode_huff.h +4 -4
  276. data/src/core/ext/transport/chttp2/transport/flow_control.cc +4 -6
  277. data/src/core/ext/transport/chttp2/transport/flow_control.h +5 -7
  278. data/src/core/ext/transport/chttp2/transport/frame.cc +109 -70
  279. data/src/core/ext/transport/chttp2/transport/frame.h +52 -7
  280. data/src/core/ext/transport/chttp2/transport/frame_data.cc +19 -13
  281. data/src/core/ext/transport/chttp2/transport/frame_data.h +2 -4
  282. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +11 -13
  283. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +1 -2
  284. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +2 -4
  285. data/src/core/ext/transport/chttp2/transport/frame_ping.h +1 -2
  286. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +10 -8
  287. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +1 -2
  288. data/src/core/ext/transport/chttp2/transport/frame_security.cc +80 -0
  289. data/src/core/ext/transport/chttp2/transport/frame_security.h +44 -0
  290. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +28 -12
  291. data/src/core/ext/transport/chttp2/transport/frame_settings.h +3 -4
  292. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +21 -3
  293. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +1 -2
  294. data/src/core/ext/transport/chttp2/transport/hpack_constants.h +2 -2
  295. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +10 -11
  296. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +8 -10
  297. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +2 -2
  298. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +4 -5
  299. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.cc +2 -4
  300. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +7 -9
  301. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +38 -39
  302. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +10 -13
  303. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +1 -3
  304. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +4 -6
  305. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +22 -12
  306. data/src/core/ext/transport/chttp2/transport/http2_settings.h +14 -8
  307. data/src/core/ext/transport/chttp2/transport/http2_status.h +52 -0
  308. data/src/core/ext/transport/chttp2/transport/internal.h +58 -112
  309. data/src/core/ext/transport/chttp2/transport/legacy_frame.h +1 -0
  310. data/src/core/ext/transport/chttp2/transport/parsing.cc +90 -42
  311. data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.cc +4 -4
  312. data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.h +3 -3
  313. data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +4 -4
  314. data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +5 -7
  315. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +6 -7
  316. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +4 -6
  317. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +5 -3
  318. data/src/core/ext/transport/chttp2/transport/stream_lists.h +65 -0
  319. data/src/core/ext/transport/chttp2/transport/varint.cc +6 -6
  320. data/src/core/ext/transport/chttp2/transport/varint.h +1 -2
  321. data/src/core/ext/transport/chttp2/transport/write_size_policy.cc +2 -2
  322. data/src/core/ext/transport/chttp2/transport/write_size_policy.h +3 -4
  323. data/src/core/ext/transport/chttp2/transport/writing.cc +40 -45
  324. data/src/core/ext/transport/inproc/inproc_transport.cc +8 -11
  325. data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +28 -25
  326. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb.h +35 -4
  327. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.c +25 -18
  328. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.h +10 -4
  329. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb.h +101 -69
  330. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.c +52 -46
  331. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.h +9 -4
  332. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb.h +39 -4
  333. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.c +29 -22
  334. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.h +10 -4
  335. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb.h +154 -19
  336. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.c +111 -90
  337. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.h +24 -4
  338. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb.h +10 -4
  339. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.c +8 -4
  340. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.h +7 -4
  341. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb.h +17 -4
  342. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.c +12 -8
  343. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.h +7 -4
  344. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb.h +5 -4
  345. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.c +4 -1
  346. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.h +6 -4
  347. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb.h +11 -10
  348. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.c +8 -5
  349. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.h +6 -4
  350. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb.h +5 -4
  351. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.c +4 -1
  352. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.h +6 -4
  353. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb.h +165 -134
  354. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.c +88 -83
  355. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.h +7 -4
  356. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb.h +7 -4
  357. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.c +7 -4
  358. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.h +6 -4
  359. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb.h +5 -4
  360. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.c +7 -1
  361. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.h +5 -4
  362. data/src/core/ext/upb-gen/envoy/annotations/resource.upb.h +7 -6
  363. data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.c +10 -6
  364. data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.h +6 -4
  365. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb.h +87 -30
  366. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.c +73 -55
  367. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.h +21 -4
  368. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb.h +397 -220
  369. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.c +197 -172
  370. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.h +28 -4
  371. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb.h +58 -31
  372. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.c +31 -26
  373. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.h +8 -4
  374. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +535 -326
  375. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +259 -230
  376. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.h +30 -4
  377. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb.h +9 -4
  378. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.c +8 -5
  379. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.h +6 -4
  380. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb.h +114 -62
  381. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.c +44 -41
  382. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.h +6 -4
  383. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb.h +116 -26
  384. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c +83 -66
  385. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.h +20 -4
  386. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb.h +73 -33
  387. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c +52 -42
  388. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.h +13 -4
  389. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb.h +9 -4
  390. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.c +8 -5
  391. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.h +6 -4
  392. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +405 -190
  393. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +192 -135
  394. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.h +36 -4
  395. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb.h +100 -58
  396. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.c +57 -48
  397. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.h +12 -4
  398. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb.h +7 -4
  399. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.c +7 -4
  400. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.h +6 -4
  401. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb.h +7 -4
  402. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.c +7 -4
  403. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.h +6 -4
  404. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb.h +10 -4
  405. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.c +8 -4
  406. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.h +7 -4
  407. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb.h +128 -63
  408. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +76 -60
  409. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.h +19 -4
  410. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb.h +192 -104
  411. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.c +89 -78
  412. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.h +14 -4
  413. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb.h +12 -4
  414. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.c +8 -5
  415. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.h +6 -4
  416. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb.h +19 -16
  417. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.c +12 -9
  418. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.h +6 -4
  419. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +304 -118
  420. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +138 -114
  421. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.h +21 -4
  422. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb.h +7 -4
  423. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.c +8 -4
  424. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.h +7 -4
  425. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb.h +12 -4
  426. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.c +9 -5
  427. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.h +7 -4
  428. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb.h +151 -0
  429. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.c +60 -0
  430. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.h +32 -0
  431. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +235 -22
  432. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +71 -19
  433. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.h +13 -4
  434. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb.h +43 -31
  435. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.c +21 -17
  436. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.h +7 -4
  437. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb.h +9 -4
  438. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.c +8 -5
  439. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.h +6 -4
  440. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb.h +45 -16
  441. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.c +25 -19
  442. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.h +9 -4
  443. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb.h +89 -45
  444. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.c +57 -48
  445. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.h +12 -4
  446. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb.h +68 -28
  447. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.c +36 -28
  448. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.h +11 -4
  449. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb.h +7 -4
  450. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.c +7 -4
  451. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.h +6 -4
  452. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb.h +222 -143
  453. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.c +99 -87
  454. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.h +15 -4
  455. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +127 -164
  456. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +67 -79
  457. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.h +11 -5
  458. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +112 -4
  459. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +41 -16
  460. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.h +6 -4
  461. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb.h +11 -4
  462. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.c +10 -6
  463. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.h +7 -4
  464. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb.h +15 -10
  465. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.c +12 -9
  466. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.h +6 -4
  467. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb.h +66 -37
  468. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.c +48 -38
  469. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.h +13 -4
  470. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +53 -5
  471. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.c +41 -29
  472. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.h +15 -4
  473. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +258 -16
  474. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +108 -65
  475. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.h +18 -4
  476. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb.h +102 -56
  477. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.c +34 -29
  478. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.h +8 -4
  479. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +1289 -615
  480. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +582 -465
  481. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.h +67 -4
  482. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb.h +27 -17
  483. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.c +17 -12
  484. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.h +8 -4
  485. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb.h +72 -7
  486. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.c +61 -47
  487. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.h +17 -4
  488. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb.h +9 -4
  489. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.c +11 -7
  490. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.h +7 -4
  491. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb.h +7 -4
  492. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.c +7 -4
  493. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.h +6 -4
  494. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb.h +9 -4
  495. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.c +11 -7
  496. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.h +7 -4
  497. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb.h +7 -4
  498. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.c +7 -4
  499. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.h +6 -4
  500. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb.h +23 -11
  501. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.c +13 -10
  502. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.h +6 -4
  503. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb.h +7 -4
  504. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.c +7 -4
  505. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.h +6 -4
  506. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb.h +26 -19
  507. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.c +19 -15
  508. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.h +7 -4
  509. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb.h +5 -6
  510. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.c +3 -2
  511. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.h +5 -5
  512. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb.h +20 -11
  513. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.c +16 -12
  514. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.h +7 -4
  515. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb.h +23 -20
  516. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.c +17 -14
  517. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.h +6 -4
  518. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb.h +402 -310
  519. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.c +168 -150
  520. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.h +21 -4
  521. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +5 -4
  522. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.c +4 -1
  523. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.h +6 -4
  524. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb.h +17 -4
  525. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.c +18 -11
  526. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.h +10 -4
  527. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb.h +85 -65
  528. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.c +45 -40
  529. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.h +8 -4
  530. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb.h +36 -23
  531. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.c +23 -17
  532. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.h +9 -4
  533. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +40 -29
  534. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c +23 -19
  535. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.h +7 -4
  536. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb.h +55 -38
  537. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.c +23 -19
  538. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.h +7 -4
  539. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +12 -7
  540. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c +13 -9
  541. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.h +7 -4
  542. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +488 -295
  543. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +240 -216
  544. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.h +26 -4
  545. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +7 -4
  546. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.c +7 -4
  547. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.h +6 -4
  548. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +77 -4
  549. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.c +25 -11
  550. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.h +6 -4
  551. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +24 -7
  552. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c +25 -18
  553. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.h +10 -4
  554. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.h +5 -4
  555. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.c +4 -1
  556. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.h +6 -4
  557. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +38 -27
  558. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.c +19 -16
  559. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.h +6 -4
  560. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +7 -4
  561. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.c +7 -4
  562. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.h +6 -4
  563. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb.h +105 -0
  564. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.c +51 -0
  565. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.h +32 -0
  566. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +5 -4
  567. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.c +3 -1
  568. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.h +5 -4
  569. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb.h +143 -88
  570. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c +70 -60
  571. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.h +13 -4
  572. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +17 -4
  573. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.c +18 -13
  574. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.h +8 -4
  575. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +229 -78
  576. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +98 -80
  577. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.h +12 -4
  578. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +49 -11
  579. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.c +17 -11
  580. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.h +7 -4
  581. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb.h +66 -28
  582. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.c +37 -31
  583. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.h +9 -4
  584. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb.h +5 -4
  585. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.c +4 -1
  586. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.h +6 -4
  587. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +440 -127
  588. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +137 -96
  589. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.h +21 -4
  590. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb.h +20 -10
  591. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.c +14 -10
  592. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.h +7 -4
  593. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +107 -65
  594. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.c +58 -51
  595. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.h +10 -4
  596. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb.h +14 -11
  597. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.c +10 -7
  598. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.h +6 -4
  599. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb.h +14 -4
  600. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.c +14 -8
  601. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.h +9 -4
  602. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb.h +142 -0
  603. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.c +55 -0
  604. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.h +32 -0
  605. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb.h +40 -4
  606. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.c +13 -7
  607. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.h +6 -4
  608. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb.h +5 -4
  609. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.c +8 -1
  610. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.h +10 -4
  611. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb.h +18 -10
  612. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.c +11 -7
  613. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.h +7 -4
  614. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb.h +12 -4
  615. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.c +8 -5
  616. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.h +6 -4
  617. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb.h +7 -4
  618. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.c +7 -4
  619. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.h +6 -4
  620. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb.h +7 -4
  621. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.c +7 -4
  622. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.h +6 -4
  623. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb.h +18 -11
  624. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.c +18 -13
  625. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.h +8 -4
  626. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb.h +5 -4
  627. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.c +5 -1
  628. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.h +7 -4
  629. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb.h +14 -4
  630. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.c +12 -8
  631. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.h +7 -4
  632. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb.h +12 -4
  633. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.c +9 -5
  634. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.h +7 -4
  635. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb.h +22 -4
  636. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.c +20 -14
  637. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.h +9 -4
  638. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb.h +18 -4
  639. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.c +19 -10
  640. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.h +12 -4
  641. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb.h +28 -15
  642. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.c +22 -15
  643. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.h +10 -4
  644. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb.h +9 -4
  645. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.c +10 -5
  646. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.h +8 -4
  647. data/src/core/ext/upb-gen/envoy/type/v3/http.upb.h +5 -4
  648. data/src/core/ext/upb-gen/envoy/type/v3/http.upb_minitable.c +3 -1
  649. data/src/core/ext/upb-gen/envoy/type/v3/http.upb_minitable.h +5 -4
  650. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb.h +5 -4
  651. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.c +4 -1
  652. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.h +6 -4
  653. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb.h +5 -4
  654. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.c +5 -1
  655. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.h +7 -4
  656. data/src/core/ext/upb-gen/envoy/type/v3/range.upb.h +5 -4
  657. data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.c +6 -1
  658. data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.h +8 -4
  659. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb.h +9 -4
  660. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.c +9 -5
  661. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.h +7 -4
  662. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb.h +5 -4
  663. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb_minitable.c +3 -1
  664. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb_minitable.h +5 -4
  665. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb.h +5 -4
  666. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.c +4 -1
  667. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.h +6 -4
  668. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb.h +9 -4
  669. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.c +8 -5
  670. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.h +6 -4
  671. data/src/core/ext/upb-gen/google/api/annotations.upb.h +7 -6
  672. data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.c +5 -2
  673. data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.h +5 -4
  674. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h +168 -89
  675. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c +89 -74
  676. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.h +18 -4
  677. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h +162 -84
  678. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c +98 -80
  679. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.h +21 -4
  680. data/src/core/ext/upb-gen/google/api/http.upb.h +69 -55
  681. data/src/core/ext/upb-gen/google/api/http.upb_minitable.c +35 -30
  682. data/src/core/ext/upb-gen/google/api/http.upb_minitable.h +8 -4
  683. data/src/core/ext/upb-gen/google/api/httpbody.upb.h +10 -4
  684. data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.c +7 -4
  685. data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.h +6 -4
  686. data/src/core/ext/upb-gen/google/protobuf/any.upb.h +6 -4
  687. data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.c +4 -1
  688. data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.h +6 -4
  689. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb.h +529 -305
  690. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c +337 -290
  691. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.h +56 -21
  692. data/src/core/ext/upb-gen/google/protobuf/duration.upb.h +6 -4
  693. data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.c +4 -1
  694. data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.h +6 -4
  695. data/src/core/ext/upb-gen/google/protobuf/empty.upb.h +6 -4
  696. data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.c +4 -1
  697. data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.h +6 -4
  698. data/src/core/ext/upb-gen/google/protobuf/struct.upb.h +34 -13
  699. data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.c +20 -14
  700. data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.h +9 -4
  701. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb.h +6 -4
  702. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.c +4 -1
  703. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.h +6 -4
  704. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb.h +6 -4
  705. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.c +12 -1
  706. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.h +14 -4
  707. data/src/core/ext/upb-gen/google/rpc/status.upb.h +10 -4
  708. data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.c +7 -4
  709. data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.h +6 -4
  710. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb.h +21 -13
  711. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.c +9 -5
  712. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.h +7 -4
  713. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +170 -114
  714. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +76 -62
  715. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.h +17 -4
  716. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb.h +10 -4
  717. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c +9 -5
  718. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.h +7 -4
  719. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb.h +6 -4
  720. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.c +5 -1
  721. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.h +7 -4
  722. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb.h +35 -10
  723. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.c +35 -24
  724. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.h +14 -4
  725. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb.h +32 -25
  726. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.c +12 -7
  727. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.h +8 -4
  728. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb.h +125 -74
  729. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.c +50 -39
  730. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.h +14 -4
  731. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb.h +15 -14
  732. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.c +22 -12
  733. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.h +8 -4
  734. data/src/core/ext/upb-gen/udpa/annotations/security.upb.h +7 -6
  735. data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.c +10 -6
  736. data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.h +6 -4
  737. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb.h +5 -4
  738. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.c +4 -1
  739. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.h +5 -4
  740. data/src/core/ext/upb-gen/udpa/annotations/status.upb.h +7 -6
  741. data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.c +10 -6
  742. data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.h +6 -4
  743. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb.h +7 -6
  744. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.c +10 -6
  745. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.h +6 -4
  746. data/src/core/ext/upb-gen/validate/validate.upb.h +457 -374
  747. data/src/core/ext/upb-gen/validate/validate.upb_minitable.c +233 -204
  748. data/src/core/ext/upb-gen/validate/validate.upb_minitable.h +29 -5
  749. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb.h +15 -14
  750. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.c +22 -12
  751. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.h +8 -4
  752. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb.h +7 -6
  753. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.c +10 -6
  754. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.h +6 -4
  755. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb.h +5 -4
  756. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.c +4 -1
  757. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.h +5 -4
  758. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb.h +11 -10
  759. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.c +20 -11
  760. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.h +9 -4
  761. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb.h +7 -6
  762. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.c +10 -6
  763. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.h +6 -4
  764. data/src/core/ext/upb-gen/xds/core/v3/authority.upb.h +5 -4
  765. data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.c +4 -1
  766. data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.h +6 -4
  767. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb.h +7 -4
  768. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.c +7 -4
  769. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.h +6 -4
  770. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb.h +11 -4
  771. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.c +12 -8
  772. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.h +7 -4
  773. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb.h +19 -13
  774. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.c +8 -4
  775. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.h +7 -4
  776. data/src/core/ext/upb-gen/xds/core/v3/extension.upb.h +7 -4
  777. data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.c +7 -4
  778. data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.h +6 -4
  779. data/src/core/ext/upb-gen/xds/core/v3/resource.upb.h +16 -11
  780. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.c +11 -8
  781. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.h +6 -4
  782. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb.h +26 -16
  783. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.c +14 -10
  784. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.h +7 -4
  785. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb.h +7 -4
  786. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.c +7 -4
  787. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.h +6 -4
  788. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb.h +47 -31
  789. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.c +12 -6
  790. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.h +9 -4
  791. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb.h +7 -4
  792. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.c +7 -4
  793. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.h +6 -4
  794. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb.h +14 -11
  795. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.c +10 -7
  796. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.h +6 -4
  797. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb.h +12 -4
  798. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.c +11 -7
  799. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.h +7 -4
  800. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb.h +5 -4
  801. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.c +4 -1
  802. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.h +6 -4
  803. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb.h +20 -7
  804. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.c +13 -9
  805. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.h +7 -4
  806. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb.h +83 -26
  807. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.c +58 -46
  808. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.h +15 -4
  809. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb.h +41 -4
  810. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.c +30 -22
  811. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.h +11 -4
  812. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb.h +7 -4
  813. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.c +8 -4
  814. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.h +7 -4
  815. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb.h +12 -4
  816. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.c +11 -7
  817. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.h +7 -4
  818. data/src/core/ext/upb-gen/xds/type/v3/cel.upb.h +13 -4
  819. data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.c +13 -9
  820. data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.h +7 -4
  821. data/src/core/ext/upb-gen/xds/type/v3/range.upb.h +6 -4
  822. data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.c +6 -1
  823. data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.h +8 -4
  824. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb.h +7 -4
  825. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.c +7 -4
  826. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.h +6 -4
  827. data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.c +2 -1
  828. data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.h +5 -4
  829. data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.c +2 -1
  830. data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.h +5 -4
  831. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.c +2 -1
  832. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.h +5 -4
  833. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.c +13 -11
  834. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.h +5 -4
  835. data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.c +2 -1
  836. data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.h +5 -4
  837. data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.c +2 -1
  838. data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.h +5 -4
  839. data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.c +2 -1
  840. data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.h +5 -4
  841. data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.c +2 -1
  842. data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.h +5 -4
  843. data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.c +2 -1
  844. data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.h +5 -4
  845. data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.c +8 -5
  846. data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.h +5 -4
  847. data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.c +2 -1
  848. data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.h +5 -4
  849. data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.c +2 -1
  850. data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.h +5 -4
  851. data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.c +2 -1
  852. data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.h +5 -4
  853. data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.c +2 -1
  854. data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.h +5 -4
  855. data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +2 -1
  856. data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +5 -4
  857. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +2 -1
  858. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +5 -4
  859. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.c +420 -414
  860. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.h +5 -4
  861. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.c +2 -1
  862. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.h +5 -4
  863. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.c +2 -1
  864. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.h +5 -4
  865. data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.c +2 -1
  866. data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.h +5 -4
  867. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.c +2 -1
  868. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.h +5 -4
  869. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.c +2 -1
  870. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.h +5 -4
  871. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.c +163 -154
  872. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.h +10 -4
  873. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.c +2 -1
  874. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.h +5 -4
  875. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.c +2 -1
  876. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.h +5 -4
  877. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.c +2 -1
  878. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.h +5 -4
  879. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.c +2 -1
  880. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.h +5 -4
  881. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.c +2 -1
  882. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.h +5 -4
  883. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.c +2 -1
  884. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.h +5 -4
  885. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_service.upbdefs.c +2 -1
  886. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_service.upbdefs.h +5 -4
  887. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.c +2 -1
  888. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.h +5 -4
  889. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.c +272 -262
  890. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.h +5 -4
  891. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.c +2 -1
  892. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.h +5 -4
  893. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.c +2 -1
  894. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.h +5 -4
  895. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.c +46 -0
  896. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.h +33 -0
  897. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.c +31 -20
  898. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.h +20 -4
  899. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.c +2 -1
  900. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.h +5 -4
  901. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.c +2 -1
  902. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.h +5 -4
  903. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.c +2 -1
  904. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.h +5 -4
  905. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +2 -1
  906. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +5 -4
  907. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.c +2 -1
  908. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.h +5 -4
  909. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.c +2 -1
  910. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.h +5 -4
  911. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.c +2 -1
  912. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.h +5 -4
  913. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.c +60 -66
  914. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.h +5 -9
  915. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.c +75 -64
  916. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.h +5 -4
  917. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.c +2 -1
  918. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.h +5 -4
  919. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.c +2 -1
  920. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.h +5 -4
  921. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.c +2 -1
  922. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.h +5 -4
  923. data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.c +51 -49
  924. data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.h +5 -4
  925. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.c +119 -101
  926. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.h +10 -4
  927. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.c +2 -1
  928. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.h +5 -4
  929. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.c +919 -899
  930. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.h +15 -4
  931. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.c +2 -1
  932. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.h +5 -4
  933. data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.c +2 -1
  934. data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.h +5 -4
  935. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.c +2 -1
  936. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.h +5 -4
  937. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.c +2 -1
  938. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.h +5 -4
  939. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.c +2 -1
  940. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.h +5 -4
  941. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.c +2 -1
  942. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.h +5 -4
  943. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.c +2 -1
  944. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.h +5 -4
  945. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.c +2 -1
  946. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.h +5 -4
  947. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.c +2 -1
  948. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.h +5 -4
  949. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.c +17 -19
  950. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.h +5 -4
  951. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.c +2 -1
  952. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.h +5 -4
  953. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.c +2 -1
  954. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.h +5 -4
  955. data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.c +2 -1
  956. data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.h +5 -4
  957. data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +2 -1
  958. data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +5 -4
  959. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +2 -1
  960. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +5 -4
  961. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +2 -1
  962. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +5 -4
  963. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.c +2 -1
  964. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.h +5 -4
  965. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +35 -34
  966. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +5 -4
  967. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.c +2 -1
  968. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.h +5 -4
  969. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +2 -1
  970. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +5 -4
  971. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +462 -458
  972. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +5 -4
  973. data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +2 -1
  974. data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +5 -4
  975. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.c +50 -0
  976. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.h +33 -0
  977. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +2 -1
  978. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +5 -4
  979. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +97 -96
  980. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +5 -4
  981. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +2 -1
  982. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +5 -4
  983. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +204 -192
  984. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +5 -4
  985. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +21 -18
  986. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +5 -4
  987. data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.c +2 -1
  988. data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.h +5 -4
  989. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.c +2 -1
  990. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.h +5 -4
  991. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.c +150 -136
  992. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.h +10 -4
  993. data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.c +2 -1
  994. data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.h +5 -4
  995. data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.c +25 -23
  996. data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.h +5 -4
  997. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.c +2 -1
  998. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.h +5 -4
  999. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.c +2 -1
  1000. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.h +5 -4
  1001. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/address.upbdefs.c +41 -0
  1002. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/address.upbdefs.h +33 -0
  1003. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.c +28 -20
  1004. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.h +5 -4
  1005. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.c +2 -1
  1006. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.h +5 -4
  1007. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.c +2 -1
  1008. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.h +5 -4
  1009. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.c +2 -1
  1010. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.h +5 -4
  1011. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.c +2 -1
  1012. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.h +5 -4
  1013. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.c +2 -1
  1014. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.h +5 -4
  1015. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.c +2 -1
  1016. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.h +5 -4
  1017. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.c +2 -1
  1018. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.h +5 -4
  1019. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.c +2 -1
  1020. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.h +5 -4
  1021. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.c +2 -1
  1022. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.h +5 -4
  1023. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.c +2 -1
  1024. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.h +5 -4
  1025. data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.c +2 -1
  1026. data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.h +5 -4
  1027. data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.c +2 -1
  1028. data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.h +5 -4
  1029. data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.c +2 -1
  1030. data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.h +5 -4
  1031. data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.c +2 -1
  1032. data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.h +5 -4
  1033. data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.c +2 -1
  1034. data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.h +5 -4
  1035. data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.c +2 -1
  1036. data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.h +5 -4
  1037. data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.c +2 -1
  1038. data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.h +5 -4
  1039. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.c +2 -1
  1040. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.h +5 -4
  1041. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.c +2 -1
  1042. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.h +5 -4
  1043. data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.c +2 -1
  1044. data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.h +5 -4
  1045. data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.c +2 -1
  1046. data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.h +5 -4
  1047. data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.c +2 -1
  1048. data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.h +5 -4
  1049. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.c +2 -1
  1050. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.h +5 -4
  1051. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.c +2 -1
  1052. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.h +5 -4
  1053. data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.c +2 -1
  1054. data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.h +5 -4
  1055. data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.c +2 -1
  1056. data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.h +5 -4
  1057. data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.c +2 -1
  1058. data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.h +5 -4
  1059. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.c +497 -484
  1060. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.h +5 -4
  1061. data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.c +2 -1
  1062. data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.h +5 -4
  1063. data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.c +2 -1
  1064. data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.h +5 -4
  1065. data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.c +2 -1
  1066. data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.h +5 -4
  1067. data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.c +2 -1
  1068. data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.h +5 -4
  1069. data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.c +2 -1
  1070. data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.h +5 -4
  1071. data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.c +2 -1
  1072. data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.h +5 -4
  1073. data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +2 -1
  1074. data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +5 -4
  1075. data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.c +2 -1
  1076. data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.h +5 -4
  1077. data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.c +2 -1
  1078. data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.h +5 -4
  1079. data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.c +2 -1
  1080. data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.h +5 -4
  1081. data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.c +2 -1
  1082. data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.h +5 -4
  1083. data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.c +2 -1
  1084. data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.h +5 -4
  1085. data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.c +2 -1
  1086. data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.h +5 -4
  1087. data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.c +2 -1
  1088. data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.h +5 -4
  1089. data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.c +2 -1
  1090. data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.h +5 -4
  1091. data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.c +2 -1
  1092. data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.h +5 -4
  1093. data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.c +2 -1
  1094. data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.h +5 -4
  1095. data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.c +2 -1
  1096. data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.h +5 -4
  1097. data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.c +2 -1
  1098. data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.h +5 -4
  1099. data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.c +2 -1
  1100. data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.h +5 -4
  1101. data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.c +2 -1
  1102. data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.h +5 -4
  1103. data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.c +2 -1
  1104. data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.h +5 -4
  1105. data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.c +2 -1
  1106. data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.h +5 -4
  1107. data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.c +2 -1
  1108. data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.h +5 -4
  1109. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.c +2 -1
  1110. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.h +5 -4
  1111. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.c +2 -1
  1112. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.h +5 -4
  1113. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.c +2 -1
  1114. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.h +5 -4
  1115. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.c +2 -1
  1116. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.h +5 -4
  1117. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.c +2 -1
  1118. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.h +5 -4
  1119. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.c +2 -1
  1120. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.h +5 -4
  1121. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.c +2 -1
  1122. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.h +5 -4
  1123. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.c +2 -1
  1124. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.h +5 -4
  1125. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.c +2 -1
  1126. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.h +5 -4
  1127. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.c +2 -1
  1128. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.h +5 -4
  1129. data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.c +2 -1
  1130. data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.h +5 -4
  1131. data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.c +2 -1
  1132. data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h +5 -4
  1133. data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.c +2 -1
  1134. data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h +5 -4
  1135. data/src/core/filter/auth/auth_filters.h +233 -0
  1136. data/src/core/filter/auth/client_auth_filter.cc +310 -0
  1137. data/src/core/filter/auth/server_auth_filter.cc +208 -0
  1138. data/src/core/filter/blackboard.cc +33 -0
  1139. data/src/core/filter/blackboard.h +70 -0
  1140. data/src/core/filter/filter_args.h +112 -0
  1141. data/src/core/handshaker/endpoint_info/endpoint_info_handshaker.cc +4 -5
  1142. data/src/core/handshaker/endpoint_info/endpoint_info_handshaker.h +1 -1
  1143. data/src/core/handshaker/handshaker.cc +8 -22
  1144. data/src/core/handshaker/handshaker.h +8 -10
  1145. data/src/core/handshaker/handshaker_registry.cc +1 -2
  1146. data/src/core/handshaker/handshaker_registry.h +2 -2
  1147. data/src/core/handshaker/http_connect/http_connect_handshaker.cc +17 -16
  1148. data/src/core/handshaker/http_connect/http_connect_handshaker.h +1 -1
  1149. data/src/core/handshaker/http_connect/http_proxy_mapper.cc +38 -41
  1150. data/src/core/handshaker/http_connect/http_proxy_mapper.h +7 -8
  1151. data/src/core/handshaker/http_connect/xds_http_proxy_mapper.cc +57 -0
  1152. data/src/core/handshaker/http_connect/xds_http_proxy_mapper.h +46 -0
  1153. data/src/core/handshaker/proxy_mapper.h +6 -7
  1154. data/src/core/handshaker/proxy_mapper_registry.cc +7 -8
  1155. data/src/core/handshaker/proxy_mapper_registry.h +6 -7
  1156. data/src/core/handshaker/security/secure_endpoint.cc +14 -16
  1157. data/src/core/handshaker/security/secure_endpoint.h +2 -3
  1158. data/src/core/handshaker/security/security_handshaker.cc +19 -27
  1159. data/src/core/handshaker/security/security_handshaker.h +4 -5
  1160. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +16 -15
  1161. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.h +1 -1
  1162. data/src/core/lib/address_utils/parse_address.cc +3 -4
  1163. data/src/core/lib/address_utils/parse_address.h +2 -4
  1164. data/src/core/lib/address_utils/sockaddr_utils.cc +4 -6
  1165. data/src/core/lib/address_utils/sockaddr_utils.h +1 -3
  1166. data/src/core/lib/channel/channel_args.cc +17 -19
  1167. data/src/core/lib/channel/channel_args.h +68 -51
  1168. data/src/core/lib/channel/channel_args_preconditioning.cc +2 -2
  1169. data/src/core/lib/channel/channel_args_preconditioning.h +4 -4
  1170. data/src/core/lib/channel/channel_stack.cc +5 -4
  1171. data/src/core/lib/channel/channel_stack.h +18 -19
  1172. data/src/core/lib/channel/channel_stack_builder.cc +2 -2
  1173. data/src/core/lib/channel/channel_stack_builder.h +3 -4
  1174. data/src/core/lib/channel/channel_stack_builder_impl.cc +6 -8
  1175. data/src/core/lib/channel/channel_stack_builder_impl.h +15 -3
  1176. data/src/core/lib/channel/connected_channel.cc +12 -14
  1177. data/src/core/lib/channel/promise_based_filter.cc +42 -33
  1178. data/src/core/lib/channel/promise_based_filter.h +101 -147
  1179. data/src/core/lib/compression/compression.cc +5 -6
  1180. data/src/core/lib/compression/compression_internal.cc +14 -16
  1181. data/src/core/lib/compression/compression_internal.h +6 -8
  1182. data/src/core/lib/compression/message_compress.cc +3 -6
  1183. data/src/core/lib/debug/trace.cc +5 -6
  1184. data/src/core/lib/debug/trace_flags.cc +6 -6
  1185. data/src/core/lib/debug/trace_flags.h +2 -2
  1186. data/src/core/lib/debug/trace_impl.h +2 -2
  1187. data/src/core/lib/event_engine/ares_resolver.cc +20 -26
  1188. data/src/core/lib/event_engine/ares_resolver.h +13 -20
  1189. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +4 -8
  1190. data/src/core/lib/event_engine/cf_engine/cf_engine.h +3 -5
  1191. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +7 -9
  1192. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +6 -10
  1193. data/src/core/lib/event_engine/cf_engine/cftype_unique_ref.h +2 -4
  1194. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +11 -13
  1195. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.h +5 -9
  1196. data/src/core/lib/event_engine/channel_args_endpoint_config.cc +7 -10
  1197. data/src/core/lib/event_engine/channel_args_endpoint_config.h +7 -9
  1198. data/src/core/lib/event_engine/common_closures.h +5 -7
  1199. data/src/core/lib/event_engine/default_event_engine.cc +69 -41
  1200. data/src/core/lib/event_engine/default_event_engine.h +27 -36
  1201. data/src/core/lib/event_engine/default_event_engine_factory.cc +14 -20
  1202. data/src/core/lib/event_engine/default_event_engine_factory.h +5 -7
  1203. data/src/core/lib/event_engine/event_engine.cc +4 -6
  1204. data/src/core/lib/event_engine/extensions/can_track_errors.h +4 -6
  1205. data/src/core/lib/event_engine/extensions/chaotic_good_extension.h +3 -6
  1206. data/src/core/lib/event_engine/extensions/iomgr_compatible.h +39 -0
  1207. data/src/core/lib/event_engine/extensions/supports_fd.h +22 -7
  1208. data/src/core/lib/event_engine/extensions/supports_win_sockets.h +48 -0
  1209. data/src/core/lib/event_engine/extensions/tcp_trace.h +3 -6
  1210. data/src/core/lib/event_engine/forkable.cc +5 -7
  1211. data/src/core/lib/event_engine/forkable.h +4 -6
  1212. data/src/core/lib/event_engine/grpc_polled_fd.h +5 -8
  1213. data/src/core/lib/event_engine/handle_containers.h +4 -7
  1214. data/src/core/lib/event_engine/memory_allocator_factory.h +5 -8
  1215. data/src/core/lib/event_engine/nameser.h +1 -1
  1216. data/src/core/lib/event_engine/poller.h +4 -6
  1217. data/src/core/lib/event_engine/posix.h +2 -4
  1218. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +14 -62
  1219. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +6 -9
  1220. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +21 -71
  1221. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +6 -9
  1222. data/src/core/lib/event_engine/posix_engine/event_poller.h +5 -8
  1223. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +6 -9
  1224. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h +4 -6
  1225. data/src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h +6 -10
  1226. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +4 -7
  1227. data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +3 -6
  1228. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +7 -10
  1229. data/src/core/lib/event_engine/posix_engine/lockfree_event.h +4 -7
  1230. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +4 -7
  1231. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.h +4 -7
  1232. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +35 -29
  1233. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +10 -13
  1234. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +54 -37
  1235. data/src/core/lib/event_engine/posix_engine/posix_engine.h +18 -20
  1236. data/src/core/lib/event_engine/posix_engine/posix_engine_closure.h +5 -7
  1237. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +10 -14
  1238. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +14 -15
  1239. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +32 -10
  1240. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +7 -6
  1241. data/src/core/lib/event_engine/posix_engine/set_socket_dualstack.cc +64 -0
  1242. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +13 -28
  1243. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +9 -12
  1244. data/src/core/lib/event_engine/posix_engine/timer.cc +8 -10
  1245. data/src/core/lib/event_engine/posix_engine/timer.h +9 -13
  1246. data/src/core/lib/event_engine/posix_engine/timer_heap.cc +4 -7
  1247. data/src/core/lib/event_engine/posix_engine/timer_heap.h +4 -6
  1248. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +8 -11
  1249. data/src/core/lib/event_engine/posix_engine/timer_manager.h +9 -13
  1250. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +9 -15
  1251. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +27 -30
  1252. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +7 -10
  1253. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +4 -7
  1254. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +16 -11
  1255. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h +4 -7
  1256. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +4 -6
  1257. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +4 -7
  1258. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +4 -6
  1259. data/src/core/lib/event_engine/query_extensions.h +4 -6
  1260. data/src/core/lib/event_engine/ref_counted_dns_resolver_interface.h +5 -9
  1261. data/src/core/lib/event_engine/resolved_address.cc +7 -8
  1262. data/src/core/lib/event_engine/resolved_address_internal.h +2 -4
  1263. data/src/core/lib/event_engine/shim.cc +11 -20
  1264. data/src/core/lib/event_engine/shim.h +13 -4
  1265. data/src/core/lib/event_engine/slice.cc +5 -9
  1266. data/src/core/lib/event_engine/slice_buffer.cc +3 -6
  1267. data/src/core/lib/event_engine/tcp_socket_utils.cc +9 -18
  1268. data/src/core/lib/event_engine/tcp_socket_utils.h +8 -10
  1269. data/src/core/lib/event_engine/thread_local.cc +2 -4
  1270. data/src/core/lib/event_engine/thread_local.h +2 -4
  1271. data/src/core/lib/event_engine/thread_pool/thread_count.cc +4 -8
  1272. data/src/core/lib/event_engine/thread_pool/thread_count.h +9 -24
  1273. data/src/core/lib/event_engine/thread_pool/thread_pool.h +4 -8
  1274. data/src/core/lib/event_engine/thread_pool/thread_pool_factory.cc +4 -7
  1275. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +27 -23
  1276. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +11 -14
  1277. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +7 -9
  1278. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +7 -9
  1279. data/src/core/lib/event_engine/time_util.cc +4 -6
  1280. data/src/core/lib/event_engine/time_util.h +3 -6
  1281. data/src/core/lib/event_engine/utils.cc +21 -9
  1282. data/src/core/lib/event_engine/utils.h +12 -8
  1283. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +7 -12
  1284. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.h +6 -10
  1285. data/src/core/lib/event_engine/windows/iocp.cc +6 -9
  1286. data/src/core/lib/event_engine/windows/iocp.h +3 -6
  1287. data/src/core/lib/event_engine/windows/native_windows_dns_resolver.cc +6 -10
  1288. data/src/core/lib/event_engine/windows/native_windows_dns_resolver.h +2 -4
  1289. data/src/core/lib/event_engine/windows/win_socket.cc +17 -9
  1290. data/src/core/lib/event_engine/windows/win_socket.h +9 -9
  1291. data/src/core/lib/event_engine/windows/windows_endpoint.cc +35 -29
  1292. data/src/core/lib/event_engine/windows/windows_endpoint.h +4 -6
  1293. data/src/core/lib/event_engine/windows/windows_engine.cc +55 -15
  1294. data/src/core/lib/event_engine/windows/windows_engine.h +18 -15
  1295. data/src/core/lib/event_engine/windows/windows_listener.cc +9 -13
  1296. data/src/core/lib/event_engine/windows/windows_listener.h +15 -13
  1297. data/src/core/lib/event_engine/work_queue/basic_work_queue.cc +5 -7
  1298. data/src/core/lib/event_engine/work_queue/basic_work_queue.h +5 -9
  1299. data/src/core/lib/event_engine/work_queue/work_queue.h +4 -7
  1300. data/src/core/lib/experiments/config.cc +9 -12
  1301. data/src/core/lib/experiments/config.h +1 -2
  1302. data/src/core/lib/experiments/experiments.cc +442 -174
  1303. data/src/core/lib/experiments/experiments.h +187 -86
  1304. data/src/core/lib/iomgr/buffer_list.cc +4 -5
  1305. data/src/core/lib/iomgr/buffer_list.h +23 -23
  1306. data/src/core/lib/iomgr/call_combiner.cc +2 -4
  1307. data/src/core/lib/iomgr/call_combiner.h +6 -8
  1308. data/src/core/lib/iomgr/cfstream_handle.cc +2 -6
  1309. data/src/core/lib/iomgr/cfstream_handle.h +1 -1
  1310. data/src/core/lib/iomgr/closure.cc +2 -2
  1311. data/src/core/lib/iomgr/closure.h +7 -10
  1312. data/src/core/lib/iomgr/combiner.cc +4 -7
  1313. data/src/core/lib/iomgr/combiner.h +2 -3
  1314. data/src/core/lib/iomgr/endpoint.h +1 -2
  1315. data/src/core/lib/iomgr/endpoint_cfstream.cc +2 -4
  1316. data/src/core/lib/iomgr/endpoint_pair_posix.cc +45 -20
  1317. data/src/core/lib/iomgr/endpoint_pair_windows.cc +44 -10
  1318. data/src/core/lib/iomgr/error.cc +34 -52
  1319. data/src/core/lib/iomgr/error.h +6 -8
  1320. data/src/core/lib/iomgr/error_cfstream.cc +1 -3
  1321. data/src/core/lib/iomgr/ev_apple.cc +3 -4
  1322. data/src/core/lib/iomgr/ev_epoll1_linux.cc +20 -10
  1323. data/src/core/lib/iomgr/ev_poll_posix.cc +16 -5
  1324. data/src/core/lib/iomgr/ev_posix.cc +4 -6
  1325. data/src/core/lib/iomgr/ev_posix.h +1 -2
  1326. data/src/core/lib/iomgr/event_engine_shims/closure.cc +3 -5
  1327. data/src/core/lib/iomgr/event_engine_shims/closure.h +1 -2
  1328. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +11 -14
  1329. data/src/core/lib/iomgr/event_engine_shims/endpoint.h +2 -2
  1330. data/src/core/lib/iomgr/event_engine_shims/tcp_client.cc +2 -4
  1331. data/src/core/lib/iomgr/exec_ctx.cc +5 -12
  1332. data/src/core/lib/iomgr/exec_ctx.h +7 -140
  1333. data/src/core/lib/iomgr/executor.cc +6 -19
  1334. data/src/core/lib/iomgr/executor.h +1 -1
  1335. data/src/core/lib/iomgr/fork_posix.cc +5 -7
  1336. data/src/core/lib/iomgr/fork_windows.cc +2 -2
  1337. data/src/core/lib/iomgr/internal_errqueue.cc +2 -3
  1338. data/src/core/lib/iomgr/iocp_windows.cc +4 -6
  1339. data/src/core/lib/iomgr/iomgr.cc +7 -9
  1340. data/src/core/lib/iomgr/iomgr.h +1 -2
  1341. data/src/core/lib/iomgr/iomgr_internal.cc +1 -2
  1342. data/src/core/lib/iomgr/iomgr_internal.h +1 -2
  1343. data/src/core/lib/iomgr/iomgr_posix.cc +2 -1
  1344. data/src/core/lib/iomgr/iomgr_windows.cc +4 -3
  1345. data/src/core/lib/iomgr/lockfree_event.cc +3 -4
  1346. data/src/core/lib/iomgr/nameser.h +1 -1
  1347. data/src/core/lib/iomgr/polling_entity.cc +5 -11
  1348. data/src/core/lib/iomgr/pollset_set_windows.cc +1 -2
  1349. data/src/core/lib/iomgr/pollset_windows.cc +2 -2
  1350. data/src/core/lib/iomgr/port.h +2 -2
  1351. data/src/core/lib/iomgr/resolve_address.cc +3 -4
  1352. data/src/core/lib/iomgr/resolve_address.h +4 -6
  1353. data/src/core/lib/iomgr/resolve_address_impl.h +1 -2
  1354. data/src/core/lib/iomgr/resolve_address_posix.cc +6 -9
  1355. data/src/core/lib/iomgr/resolve_address_posix.h +2 -2
  1356. data/src/core/lib/iomgr/resolve_address_windows.cc +8 -12
  1357. data/src/core/lib/iomgr/resolve_address_windows.h +2 -2
  1358. data/src/core/lib/iomgr/resolved_address.h +1 -2
  1359. data/src/core/lib/iomgr/sockaddr_utils_posix.cc +3 -5
  1360. data/src/core/lib/iomgr/socket_mutator.cc +1 -1
  1361. data/src/core/lib/iomgr/socket_mutator.h +1 -2
  1362. data/src/core/lib/iomgr/socket_utils.h +1 -2
  1363. data/src/core/lib/iomgr/socket_utils_common_posix.cc +6 -7
  1364. data/src/core/lib/iomgr/socket_utils_linux.cc +1 -1
  1365. data/src/core/lib/iomgr/socket_utils_posix.cc +23 -13
  1366. data/src/core/lib/iomgr/socket_utils_posix.h +12 -2
  1367. data/src/core/lib/iomgr/socket_utils_windows.cc +1 -1
  1368. data/src/core/lib/iomgr/socket_windows.cc +3 -5
  1369. data/src/core/lib/iomgr/socket_windows.h +1 -2
  1370. data/src/core/lib/iomgr/tcp_client_cfstream.cc +13 -16
  1371. data/src/core/lib/iomgr/tcp_client_posix.cc +16 -22
  1372. data/src/core/lib/iomgr/tcp_client_posix.h +1 -1
  1373. data/src/core/lib/iomgr/tcp_client_windows.cc +6 -8
  1374. data/src/core/lib/iomgr/tcp_posix.cc +70 -45
  1375. data/src/core/lib/iomgr/tcp_posix.h +10 -2
  1376. data/src/core/lib/iomgr/tcp_server.h +2 -2
  1377. data/src/core/lib/iomgr/tcp_server_posix.cc +19 -15
  1378. data/src/core/lib/iomgr/tcp_server_utils_posix.h +2 -3
  1379. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +4 -9
  1380. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +4 -6
  1381. data/src/core/lib/iomgr/tcp_server_windows.cc +38 -30
  1382. data/src/core/lib/iomgr/tcp_windows.cc +4 -6
  1383. data/src/core/lib/iomgr/timer.h +2 -2
  1384. data/src/core/lib/iomgr/timer_generic.cc +9 -11
  1385. data/src/core/lib/iomgr/timer_heap.cc +2 -3
  1386. data/src/core/lib/iomgr/timer_manager.cc +5 -15
  1387. data/src/core/lib/iomgr/timer_manager.h +1 -2
  1388. data/src/core/lib/iomgr/unix_sockets_posix.cc +3 -4
  1389. data/src/core/lib/iomgr/unix_sockets_posix.h +3 -4
  1390. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +0 -2
  1391. data/src/core/lib/iomgr/vsock.cc +2 -4
  1392. data/src/core/lib/iomgr/vsock.h +3 -4
  1393. data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +2 -2
  1394. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +13 -6
  1395. data/src/core/lib/promise/activity.cc +4 -4
  1396. data/src/core/lib/promise/activity.h +43 -24
  1397. data/src/core/lib/promise/all_ok.h +71 -4
  1398. data/src/core/lib/promise/arena_promise.h +2 -4
  1399. data/src/core/lib/promise/cancel_callback.h +4 -4
  1400. data/src/core/lib/promise/context.h +7 -8
  1401. data/src/core/lib/promise/detail/basic_seq.h +33 -19
  1402. data/src/core/lib/promise/detail/join_state.h +20 -73
  1403. data/src/core/lib/promise/detail/promise_factory.h +92 -33
  1404. data/src/core/lib/promise/detail/promise_like.h +34 -15
  1405. data/src/core/lib/promise/detail/seq_state.h +285 -500
  1406. data/src/core/lib/promise/detail/status.h +5 -5
  1407. data/src/core/lib/promise/exec_ctx_wakeup_scheduler.h +2 -3
  1408. data/src/core/lib/promise/for_each.h +23 -15
  1409. data/src/core/lib/promise/if.h +56 -28
  1410. data/src/core/lib/promise/interceptor_list.h +12 -14
  1411. data/src/core/lib/promise/latch.h +15 -9
  1412. data/src/core/lib/promise/loop.h +73 -22
  1413. data/src/core/lib/promise/map.h +230 -21
  1414. data/src/core/lib/promise/observable.h +3 -4
  1415. data/src/core/lib/promise/party.cc +119 -84
  1416. data/src/core/lib/promise/party.h +286 -65
  1417. data/src/core/lib/promise/pipe.h +15 -17
  1418. data/src/core/lib/promise/poll.h +40 -23
  1419. data/src/core/lib/promise/prioritized_race.h +17 -23
  1420. data/src/core/lib/promise/promise.h +8 -10
  1421. data/src/core/lib/promise/race.h +6 -14
  1422. data/src/core/lib/promise/seq.h +58 -45
  1423. data/src/core/lib/promise/sleep.cc +6 -6
  1424. data/src/core/lib/promise/sleep.h +19 -6
  1425. data/src/core/lib/promise/status_flag.h +51 -17
  1426. data/src/core/lib/promise/try_join.h +124 -10
  1427. data/src/core/lib/promise/try_seq.h +84 -59
  1428. data/src/core/lib/resource_quota/api.cc +4 -6
  1429. data/src/core/lib/resource_quota/api.h +2 -3
  1430. data/src/core/lib/resource_quota/arena.cc +3 -4
  1431. data/src/core/lib/resource_quota/arena.h +91 -5
  1432. data/src/core/lib/resource_quota/connection_quota.cc +2 -2
  1433. data/src/core/lib/resource_quota/connection_quota.h +9 -6
  1434. data/src/core/lib/resource_quota/memory_quota.cc +73 -60
  1435. data/src/core/lib/resource_quota/memory_quota.h +25 -17
  1436. data/src/core/lib/resource_quota/periodic_update.cc +4 -4
  1437. data/src/core/lib/resource_quota/periodic_update.h +2 -4
  1438. data/src/core/lib/resource_quota/resource_quota.h +7 -8
  1439. data/src/core/lib/resource_quota/thread_quota.cc +2 -2
  1440. data/src/core/lib/resource_quota/thread_quota.h +5 -6
  1441. data/src/core/lib/security/authorization/audit_logging.cc +5 -6
  1442. data/src/core/lib/security/authorization/audit_logging.h +5 -6
  1443. data/src/core/lib/security/authorization/authorization_engine.h +3 -3
  1444. data/src/core/lib/security/authorization/authorization_policy_provider.h +3 -4
  1445. data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +1 -1
  1446. data/src/core/lib/security/authorization/evaluate_args.cc +8 -10
  1447. data/src/core/lib/security/authorization/evaluate_args.h +7 -8
  1448. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +2 -3
  1449. data/src/core/lib/security/authorization/grpc_authorization_engine.h +2 -3
  1450. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +6 -11
  1451. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +9 -10
  1452. data/src/core/lib/security/authorization/matchers.cc +2 -4
  1453. data/src/core/lib/security/authorization/matchers.h +5 -7
  1454. data/src/core/lib/security/authorization/rbac_policy.cc +3 -3
  1455. data/src/core/lib/security/authorization/rbac_policy.h +6 -8
  1456. data/src/core/lib/security/authorization/stdout_logger.cc +4 -4
  1457. data/src/core/lib/security/authorization/stdout_logger.h +4 -4
  1458. data/src/core/lib/slice/percent_encoding.cc +2 -4
  1459. data/src/core/lib/slice/slice.cc +4 -6
  1460. data/src/core/lib/slice/slice.h +11 -7
  1461. data/src/core/lib/slice/slice_buffer.cc +7 -8
  1462. data/src/core/lib/slice/slice_buffer.h +5 -6
  1463. data/src/core/lib/slice/slice_internal.h +3 -5
  1464. data/src/core/lib/slice/slice_refcount.h +2 -3
  1465. data/src/core/lib/slice/slice_string_helpers.h +1 -2
  1466. data/src/core/lib/surface/byte_buffer.cc +1 -2
  1467. data/src/core/lib/surface/byte_buffer_reader.cc +3 -5
  1468. data/src/core/lib/surface/call.cc +42 -46
  1469. data/src/core/lib/surface/call.h +10 -11
  1470. data/src/core/lib/surface/call_log_batch.cc +3 -5
  1471. data/src/core/lib/surface/call_test_only.h +1 -2
  1472. data/src/core/lib/surface/call_utils.cc +21 -64
  1473. data/src/core/lib/surface/call_utils.h +70 -26
  1474. data/src/core/lib/surface/channel.cc +7 -16
  1475. data/src/core/lib/surface/channel.h +16 -17
  1476. data/src/core/lib/surface/channel_create.cc +2 -3
  1477. data/src/core/lib/surface/channel_create.h +2 -3
  1478. data/src/core/lib/surface/channel_init.cc +5 -7
  1479. data/src/core/lib/surface/channel_init.h +6 -8
  1480. data/src/core/lib/surface/completion_queue.cc +99 -80
  1481. data/src/core/lib/surface/completion_queue.h +4 -5
  1482. data/src/core/lib/surface/completion_queue_factory.cc +1 -2
  1483. data/src/core/lib/surface/connection_context.cc +77 -0
  1484. data/src/core/lib/surface/connection_context.h +156 -0
  1485. data/src/core/lib/surface/event_string.cc +9 -3
  1486. data/src/core/lib/surface/event_string.h +2 -2
  1487. data/src/core/lib/surface/filter_stack_call.cc +60 -51
  1488. data/src/core/lib/surface/filter_stack_call.h +18 -20
  1489. data/src/core/lib/surface/init.cc +46 -21
  1490. data/src/core/lib/surface/init.h +5 -0
  1491. data/src/core/lib/surface/init_internally.h +13 -2
  1492. data/src/core/lib/surface/lame_client.cc +11 -12
  1493. data/src/core/lib/surface/lame_client.h +4 -5
  1494. data/src/core/lib/surface/legacy_channel.cc +47 -42
  1495. data/src/core/lib/surface/legacy_channel.h +8 -9
  1496. data/src/core/lib/surface/metadata_array.cc +1 -2
  1497. data/src/core/lib/surface/validate_metadata.cc +3 -4
  1498. data/src/core/lib/surface/validate_metadata.h +2 -4
  1499. data/src/core/lib/surface/version.cc +2 -2
  1500. data/src/core/lib/transport/bdp_estimator.cc +2 -3
  1501. data/src/core/lib/transport/bdp_estimator.h +3 -5
  1502. data/src/core/lib/transport/call_final_info.cc +2 -2
  1503. data/src/core/lib/transport/call_final_info.h +3 -3
  1504. data/src/core/lib/transport/connectivity_state.cc +11 -13
  1505. data/src/core/lib/transport/connectivity_state.h +7 -10
  1506. data/src/core/lib/transport/error_utils.cc +68 -15
  1507. data/src/core/lib/transport/error_utils.h +6 -7
  1508. data/src/core/lib/transport/status_conversion.cc +16 -14
  1509. data/src/core/lib/transport/status_conversion.h +6 -5
  1510. data/src/core/lib/transport/timeout_encoding.cc +22 -22
  1511. data/src/core/lib/transport/timeout_encoding.h +4 -5
  1512. data/src/core/lib/transport/transport.cc +4 -7
  1513. data/src/core/lib/transport/transport.h +24 -21
  1514. data/src/core/lib/transport/transport_framing_endpoint_extension.h +47 -0
  1515. data/src/core/lib/transport/transport_op_string.cc +5 -6
  1516. data/src/core/load_balancing/address_filtering.cc +2 -4
  1517. data/src/core/load_balancing/address_filtering.h +4 -5
  1518. data/src/core/load_balancing/backend_metric_data.h +2 -2
  1519. data/src/core/load_balancing/backend_metric_parser.cc +22 -30
  1520. data/src/core/load_balancing/backend_metric_parser.h +1 -3
  1521. data/src/core/load_balancing/child_policy_handler.cc +5 -6
  1522. data/src/core/load_balancing/child_policy_handler.h +4 -5
  1523. data/src/core/load_balancing/delegating_helper.h +7 -8
  1524. data/src/core/load_balancing/endpoint_list.cc +18 -10
  1525. data/src/core/load_balancing/endpoint_list.h +26 -21
  1526. data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +12 -11
  1527. data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +5 -6
  1528. data/src/core/load_balancing/grpclb/grpclb.cc +42 -62
  1529. data/src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc +1 -2
  1530. data/src/core/load_balancing/grpclb/grpclb_client_stats.cc +2 -3
  1531. data/src/core/load_balancing/grpclb/grpclb_client_stats.h +5 -7
  1532. data/src/core/load_balancing/grpclb/load_balancer_api.cc +4 -6
  1533. data/src/core/load_balancing/grpclb/load_balancer_api.h +4 -6
  1534. data/src/core/load_balancing/health_check_client.cc +36 -68
  1535. data/src/core/load_balancing/health_check_client.h +3 -3
  1536. data/src/core/load_balancing/health_check_client_internal.h +15 -16
  1537. data/src/core/load_balancing/lb_policy.cc +4 -6
  1538. data/src/core/load_balancing/lb_policy.h +17 -27
  1539. data/src/core/load_balancing/lb_policy_factory.h +4 -5
  1540. data/src/core/load_balancing/lb_policy_registry.cc +13 -12
  1541. data/src/core/load_balancing/lb_policy_registry.h +4 -5
  1542. data/src/core/load_balancing/oob_backend_metric.cc +14 -16
  1543. data/src/core/load_balancing/oob_backend_metric.h +3 -3
  1544. data/src/core/load_balancing/oob_backend_metric_internal.h +8 -9
  1545. data/src/core/load_balancing/outlier_detection/outlier_detection.cc +88 -94
  1546. data/src/core/load_balancing/outlier_detection/outlier_detection.h +6 -7
  1547. data/src/core/load_balancing/pick_first/pick_first.cc +78 -997
  1548. data/src/core/load_balancing/priority/priority.cc +20 -27
  1549. data/src/core/load_balancing/ring_hash/ring_hash.cc +223 -173
  1550. data/src/core/load_balancing/ring_hash/ring_hash.h +7 -15
  1551. data/src/core/load_balancing/rls/rls.cc +159 -256
  1552. data/src/core/load_balancing/rls/rls.h +97 -1
  1553. data/src/core/load_balancing/round_robin/round_robin.cc +23 -34
  1554. data/src/core/load_balancing/subchannel_interface.h +13 -6
  1555. data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc +8 -8
  1556. data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h +4 -5
  1557. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +35 -48
  1558. data/src/core/load_balancing/weighted_target/weighted_target.cc +19 -29
  1559. data/src/core/load_balancing/xds/cds.cc +37 -45
  1560. data/src/core/load_balancing/xds/xds_cluster_impl.cc +58 -64
  1561. data/src/core/load_balancing/xds/xds_cluster_manager.cc +20 -30
  1562. data/src/core/load_balancing/xds/xds_override_host.cc +59 -108
  1563. data/src/core/load_balancing/xds/xds_override_host.h +3 -4
  1564. data/src/core/load_balancing/xds/xds_wrr_locality.cc +21 -24
  1565. data/src/core/plugin_registry/grpc_plugin_registry.cc +3 -7
  1566. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +3 -3
  1567. data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +25 -30
  1568. data/src/core/resolver/dns/c_ares/dns_resolver_ares.h +2 -3
  1569. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver.h +4 -6
  1570. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +2 -4
  1571. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +8 -11
  1572. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +15 -19
  1573. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +7 -6
  1574. data/src/core/resolver/dns/dns_resolver_plugin.cc +4 -5
  1575. data/src/core/resolver/dns/dns_resolver_plugin.h +1 -1
  1576. data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +19 -26
  1577. data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.h +3 -4
  1578. data/src/core/resolver/dns/event_engine/service_config_helper.cc +3 -5
  1579. data/src/core/resolver/dns/event_engine/service_config_helper.h +2 -2
  1580. data/src/core/resolver/dns/native/dns_resolver.cc +11 -12
  1581. data/src/core/resolver/dns/native/dns_resolver.h +1 -1
  1582. data/src/core/resolver/endpoint_addresses.cc +1 -3
  1583. data/src/core/resolver/endpoint_addresses.h +2 -3
  1584. data/src/core/resolver/fake/fake_resolver.cc +17 -19
  1585. data/src/core/resolver/fake/fake_resolver.h +9 -10
  1586. data/src/core/resolver/google_c2p/google_c2p_resolver.cc +21 -25
  1587. data/src/core/resolver/polling_resolver.cc +8 -13
  1588. data/src/core/resolver/polling_resolver.h +10 -11
  1589. data/src/core/resolver/resolver.h +4 -5
  1590. data/src/core/resolver/resolver_factory.h +4 -5
  1591. data/src/core/resolver/resolver_registry.cc +6 -5
  1592. data/src/core/resolver/resolver_registry.h +4 -5
  1593. data/src/core/resolver/sockaddr/sockaddr_resolver.cc +5 -6
  1594. data/src/core/resolver/xds/xds_config.cc +7 -8
  1595. data/src/core/resolver/xds/xds_config.h +3 -4
  1596. data/src/core/resolver/xds/xds_dependency_manager.cc +200 -191
  1597. data/src/core/resolver/xds/xds_dependency_manager.h +29 -20
  1598. data/src/core/resolver/xds/xds_resolver.cc +98 -141
  1599. data/src/core/resolver/xds/xds_resolver_attributes.h +2 -3
  1600. data/src/core/server/server.cc +376 -92
  1601. data/src/core/server/server.h +228 -82
  1602. data/src/core/server/server_call_tracer_filter.cc +15 -12
  1603. data/src/core/server/server_call_tracer_filter.h +1 -1
  1604. data/src/core/server/server_config_selector.h +6 -7
  1605. data/src/core/server/server_config_selector_filter.cc +17 -22
  1606. data/src/core/server/xds_channel_stack_modifier.cc +3 -3
  1607. data/src/core/server/xds_channel_stack_modifier.h +5 -6
  1608. data/src/core/server/xds_server_config_fetcher.cc +121 -188
  1609. data/src/core/service_config/service_config.h +3 -5
  1610. data/src/core/service_config/service_config_call_data.h +5 -6
  1611. data/src/core/service_config/service_config_channel_arg_filter.cc +16 -26
  1612. data/src/core/service_config/service_config_impl.cc +7 -9
  1613. data/src/core/service_config/service_config_impl.h +4 -6
  1614. data/src/core/service_config/service_config_parser.cc +1 -2
  1615. data/src/core/service_config/service_config_parser.h +2 -4
  1616. data/src/core/telemetry/call_tracer.cc +12 -15
  1617. data/src/core/telemetry/call_tracer.h +13 -13
  1618. data/src/core/telemetry/histogram_view.cc +3 -3
  1619. data/src/core/telemetry/histogram_view.h +1 -2
  1620. data/src/core/telemetry/metrics.cc +47 -27
  1621. data/src/core/telemetry/metrics.h +30 -21
  1622. data/src/core/telemetry/stats.cc +1 -2
  1623. data/src/core/telemetry/stats.h +2 -4
  1624. data/src/core/telemetry/stats_data.cc +187 -2
  1625. data/src/core/telemetry/stats_data.h +124 -4
  1626. data/src/core/telemetry/tcp_tracer.h +92 -87
  1627. data/src/core/transport/auth_context.cc +236 -0
  1628. data/src/core/transport/auth_context.h +140 -0
  1629. data/src/core/tsi/alts/crypt/aes_gcm.cc +5 -8
  1630. data/src/core/tsi/alts/crypt/gsec.cc +2 -3
  1631. data/src/core/tsi/alts/crypt/gsec.h +3 -4
  1632. data/src/core/tsi/alts/frame_protector/alts_counter.cc +1 -2
  1633. data/src/core/tsi/alts/frame_protector/alts_counter.h +3 -4
  1634. data/src/core/tsi/alts/frame_protector/alts_crypter.cc +1 -2
  1635. data/src/core/tsi/alts/frame_protector/alts_crypter.h +2 -3
  1636. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +4 -5
  1637. data/src/core/tsi/alts/frame_protector/alts_frame_protector.h +1 -2
  1638. data/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc +1 -1
  1639. data/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc +1 -1
  1640. data/src/core/tsi/alts/frame_protector/frame_handler.cc +4 -6
  1641. data/src/core/tsi/alts/frame_protector/frame_handler.h +1 -2
  1642. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +14 -15
  1643. data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +2 -3
  1644. data/src/core/tsi/alts/handshaker/alts_shared_resource.h +1 -1
  1645. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +33 -31
  1646. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +1 -1
  1647. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +2 -3
  1648. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +2 -2
  1649. data/src/core/tsi/alts/handshaker/transport_security_common_api.h +3 -3
  1650. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +3 -5
  1651. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h +1 -2
  1652. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +2 -3
  1653. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h +1 -2
  1654. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +3 -5
  1655. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +3 -4
  1656. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h +1 -2
  1657. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +3 -5
  1658. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h +1 -2
  1659. data/src/core/tsi/fake_transport_security.cc +9 -7
  1660. data/src/core/tsi/local_transport_security.cc +4 -6
  1661. data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +4 -5
  1662. data/src/core/tsi/ssl/key_logging/ssl_key_logging.h +8 -10
  1663. data/src/core/tsi/ssl/session_cache/ssl_session.h +4 -5
  1664. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +4 -5
  1665. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +7 -8
  1666. data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +2 -4
  1667. data/src/core/tsi/ssl_transport_security.cc +30 -18
  1668. data/src/core/tsi/ssl_transport_security.h +6 -8
  1669. data/src/core/tsi/ssl_transport_security_utils.cc +1 -3
  1670. data/src/core/tsi/ssl_transport_security_utils.h +3 -5
  1671. data/src/core/tsi/ssl_types.h +1 -2
  1672. data/src/core/tsi/transport_security.cc +2 -3
  1673. data/src/core/tsi/transport_security.h +1 -2
  1674. data/src/core/tsi/transport_security_interface.h +3 -4
  1675. data/src/core/util/alloc.cc +2 -5
  1676. data/src/core/util/atomic_utils.h +47 -0
  1677. data/src/core/util/avl.h +324 -0
  1678. data/src/core/util/backoff.cc +57 -0
  1679. data/src/core/util/backoff.h +86 -0
  1680. data/src/core/util/bitset.h +224 -0
  1681. data/src/core/util/check_class_size.h +48 -0
  1682. data/src/core/util/chunked_vector.h +256 -0
  1683. data/src/core/util/construct_destruct.h +41 -0
  1684. data/src/core/util/cpp_impl_of.h +49 -0
  1685. data/src/core/util/crash.cc +40 -0
  1686. data/src/core/util/crash.h +36 -0
  1687. data/src/core/util/debug_location.h +106 -0
  1688. data/src/core/util/directory_reader.h +48 -0
  1689. data/src/core/util/down_cast.h +48 -0
  1690. data/src/core/util/dual_ref_counted.h +376 -0
  1691. data/src/core/util/dump_args.cc +54 -0
  1692. data/src/core/util/dump_args.h +114 -0
  1693. data/src/core/util/env.h +52 -0
  1694. data/src/core/util/event_log.cc +87 -0
  1695. data/src/core/util/event_log.h +79 -0
  1696. data/src/core/util/examine_stack.cc +43 -0
  1697. data/src/core/util/examine_stack.h +44 -0
  1698. data/src/core/util/fork.cc +241 -0
  1699. data/src/core/util/fork.h +98 -0
  1700. data/src/core/util/gcp_metadata_query.cc +9 -12
  1701. data/src/core/util/gcp_metadata_query.h +2 -3
  1702. data/src/core/util/gethostname.h +26 -0
  1703. data/src/core/util/gethostname_fallback.cc +30 -0
  1704. data/src/core/util/gethostname_host_name_max.cc +39 -0
  1705. data/src/core/util/gethostname_sysconf.cc +39 -0
  1706. data/src/core/util/glob.h +29 -0
  1707. data/src/core/util/gpr_time.cc +266 -0
  1708. data/src/core/util/grpc_if_nametoindex.h +29 -0
  1709. data/src/core/util/grpc_if_nametoindex_posix.cc +41 -0
  1710. data/src/core/util/grpc_if_nametoindex_unsupported.cc +36 -0
  1711. data/src/core/util/host_port.cc +114 -0
  1712. data/src/core/util/host_port.h +57 -0
  1713. data/src/core/util/http_client/format_request.cc +2 -5
  1714. data/src/core/util/http_client/format_request.h +1 -2
  1715. data/src/core/util/http_client/httpcli.cc +91 -40
  1716. data/src/core/util/http_client/httpcli.h +26 -19
  1717. data/src/core/util/http_client/httpcli_security_connector.cc +14 -17
  1718. data/src/core/util/http_client/httpcli_ssl_credentials.h +2 -3
  1719. data/src/core/util/http_client/parser.cc +2 -4
  1720. data/src/core/util/http_client/parser.h +1 -3
  1721. data/src/core/util/if_list.h +4530 -0
  1722. data/src/core/util/iphone/cpu.cc +1 -2
  1723. data/src/core/util/json/json.h +1 -2
  1724. data/src/core/util/json/json_channel_args.h +2 -2
  1725. data/src/core/util/json/json_object_loader.cc +7 -8
  1726. data/src/core/util/json/json_object_loader.h +20 -21
  1727. data/src/core/util/json/json_reader.cc +6 -9
  1728. data/src/core/util/json/json_reader.h +0 -1
  1729. data/src/core/util/json/json_util.cc +4 -4
  1730. data/src/core/util/json/json_util.h +1 -2
  1731. data/src/core/util/json/json_writer.cc +4 -6
  1732. data/src/core/util/latent_see.cc +100 -70
  1733. data/src/core/util/latent_see.h +45 -20
  1734. data/src/core/util/linux/cpu.cc +4 -6
  1735. data/src/core/util/linux/env.cc +61 -0
  1736. data/src/core/util/load_file.cc +87 -0
  1737. data/src/core/util/load_file.h +33 -0
  1738. data/src/core/util/log.cc +10 -13
  1739. data/src/core/util/lru_cache.h +31 -13
  1740. data/src/core/util/manual_constructor.h +145 -0
  1741. data/src/core/util/match.h +74 -0
  1742. data/src/core/util/matchers.cc +336 -0
  1743. data/src/core/util/matchers.h +162 -0
  1744. data/src/core/util/memory.h +52 -0
  1745. data/src/core/util/mpscq.cc +108 -0
  1746. data/src/core/util/mpscq.h +98 -0
  1747. data/src/core/util/msys/tmpfile.cc +3 -4
  1748. data/src/core/util/no_destruct.h +95 -0
  1749. data/src/core/util/notification.h +66 -0
  1750. data/src/core/util/orphanable.h +153 -0
  1751. data/src/core/util/overload.h +59 -0
  1752. data/src/core/util/packed_table.h +40 -0
  1753. data/src/core/util/per_cpu.cc +34 -0
  1754. data/src/core/util/per_cpu.h +102 -0
  1755. data/src/core/util/posix/cpu.cc +3 -5
  1756. data/src/core/util/posix/directory_reader.cc +82 -0
  1757. data/src/core/util/posix/env.cc +47 -0
  1758. data/src/core/util/posix/stat.cc +54 -0
  1759. data/src/core/util/posix/string.cc +2 -3
  1760. data/src/core/util/posix/sync.cc +2 -5
  1761. data/src/core/util/posix/thd.cc +243 -0
  1762. data/src/core/util/posix/time.cc +3 -5
  1763. data/src/core/util/posix/tmpfile.cc +4 -6
  1764. data/src/core/util/random_early_detection.cc +33 -0
  1765. data/src/core/util/random_early_detection.h +61 -0
  1766. data/src/core/util/ref_counted.h +403 -0
  1767. data/src/core/util/ref_counted_ptr.h +443 -0
  1768. data/src/core/util/ref_counted_string.cc +42 -0
  1769. data/src/core/util/ref_counted_string.h +159 -0
  1770. data/src/core/util/ring_buffer.h +4 -5
  1771. data/src/core/util/single_set_ptr.h +89 -0
  1772. data/src/core/util/sorted_pack.h +89 -0
  1773. data/src/core/util/spinlock.h +1 -2
  1774. data/src/core/util/stat.h +35 -0
  1775. data/src/core/util/status_helper.cc +450 -0
  1776. data/src/core/util/status_helper.h +143 -0
  1777. data/src/core/util/strerror.cc +40 -0
  1778. data/src/core/util/strerror.h +29 -0
  1779. data/src/core/util/string.cc +6 -9
  1780. data/src/core/util/string.h +1 -3
  1781. data/src/core/util/sync.cc +3 -5
  1782. data/src/core/util/sync.h +199 -0
  1783. data/src/core/util/sync_abseil.cc +4 -7
  1784. data/src/core/util/table.h +471 -0
  1785. data/src/core/util/tchar.cc +49 -0
  1786. data/src/core/util/tchar.h +33 -0
  1787. data/src/core/util/thd.h +193 -0
  1788. data/src/core/util/time.cc +174 -204
  1789. data/src/core/util/time.h +385 -0
  1790. data/src/core/util/time_averaged_stats.cc +60 -0
  1791. data/src/core/util/time_averaged_stats.h +79 -0
  1792. data/src/core/util/time_precise.cc +2 -4
  1793. data/src/core/util/time_precise.h +0 -1
  1794. data/src/core/util/time_util.cc +80 -0
  1795. data/src/core/util/time_util.h +41 -0
  1796. data/src/core/util/tmpfile.h +0 -1
  1797. data/src/core/util/type_list.h +88 -0
  1798. data/src/core/util/unique_type_name.h +123 -0
  1799. data/src/core/util/uri.cc +378 -0
  1800. data/src/core/util/uri.h +112 -0
  1801. data/src/core/util/useful.h +13 -15
  1802. data/src/core/util/uuid_v4.cc +37 -0
  1803. data/src/core/util/uuid_v4.h +35 -0
  1804. data/src/core/util/validation_errors.cc +73 -0
  1805. data/src/core/util/validation_errors.h +144 -0
  1806. data/src/core/util/wait_for_single_owner.h +62 -0
  1807. data/src/core/util/windows/cpu.cc +1 -1
  1808. data/src/core/util/windows/directory_reader.cc +79 -0
  1809. data/src/core/util/windows/env.cc +56 -0
  1810. data/src/core/util/windows/stat.cc +50 -0
  1811. data/src/core/util/windows/string.cc +2 -3
  1812. data/src/core/util/windows/string_util.cc +5 -7
  1813. data/src/core/util/windows/sync.cc +1 -3
  1814. data/src/core/util/windows/thd.cc +182 -0
  1815. data/src/core/util/windows/time.cc +1 -4
  1816. data/src/core/util/windows/tmpfile.cc +4 -5
  1817. data/src/core/util/work_serializer.cc +298 -0
  1818. data/src/core/util/work_serializer.h +81 -0
  1819. data/src/core/util/xxhash_inline.h +29 -0
  1820. data/src/core/xds/grpc/certificate_provider_store.cc +16 -22
  1821. data/src/core/xds/grpc/certificate_provider_store.h +12 -13
  1822. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +8 -9
  1823. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.h +7 -8
  1824. data/src/core/xds/grpc/xds_audit_logger_registry.cc +5 -6
  1825. data/src/core/xds/grpc/xds_audit_logger_registry.h +3 -4
  1826. data/src/core/xds/grpc/xds_bootstrap_grpc.cc +23 -24
  1827. data/src/core/xds/grpc/xds_bootstrap_grpc.h +6 -6
  1828. data/src/core/xds/grpc/xds_certificate_provider.cc +18 -19
  1829. data/src/core/xds/grpc/xds_certificate_provider.h +10 -11
  1830. data/src/core/xds/grpc/xds_client_grpc.cc +74 -50
  1831. data/src/core/xds/grpc/xds_client_grpc.h +17 -9
  1832. data/src/core/xds/grpc/xds_cluster.cc +9 -4
  1833. data/src/core/xds/grpc/xds_cluster.h +34 -8
  1834. data/src/core/xds/grpc/xds_cluster_parser.cc +131 -50
  1835. data/src/core/xds/grpc/xds_cluster_parser.h +6 -2
  1836. data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +9 -11
  1837. data/src/core/xds/grpc/xds_cluster_specifier_plugin.h +5 -6
  1838. data/src/core/xds/grpc/xds_common_types.cc +3 -4
  1839. data/src/core/xds/grpc/xds_common_types.h +6 -7
  1840. data/src/core/xds/grpc/xds_common_types_parser.cc +68 -34
  1841. data/src/core/xds/grpc/xds_common_types_parser.h +15 -9
  1842. data/src/core/xds/grpc/xds_endpoint.cc +3 -4
  1843. data/src/core/xds/grpc/xds_endpoint.h +7 -5
  1844. data/src/core/xds/grpc/xds_endpoint_parser.cc +92 -56
  1845. data/src/core/xds/grpc/xds_endpoint_parser.h +1 -2
  1846. data/src/core/xds/grpc/xds_health_status.cc +4 -4
  1847. data/src/core/xds/grpc/xds_health_status.h +4 -4
  1848. data/src/core/xds/grpc/xds_http_fault_filter.cc +24 -28
  1849. data/src/core/xds/grpc/xds_http_fault_filter.h +8 -8
  1850. data/src/core/xds/grpc/xds_http_filter.h +6 -7
  1851. data/src/core/xds/grpc/xds_http_filter_registry.cc +9 -10
  1852. data/src/core/xds/grpc/xds_http_filter_registry.h +6 -7
  1853. data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +12 -13
  1854. data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +6 -6
  1855. data/src/core/xds/grpc/xds_http_rbac_filter.cc +71 -61
  1856. data/src/core/xds/grpc/xds_http_rbac_filter.h +8 -8
  1857. data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +15 -16
  1858. data/src/core/xds/grpc/xds_http_stateful_session_filter.h +8 -8
  1859. data/src/core/xds/grpc/xds_lb_policy_registry.cc +9 -11
  1860. data/src/core/xds/grpc/xds_lb_policy_registry.h +4 -5
  1861. data/src/core/xds/grpc/xds_listener.cc +5 -8
  1862. data/src/core/xds/grpc/xds_listener.h +11 -12
  1863. data/src/core/xds/grpc/xds_listener_parser.cc +62 -58
  1864. data/src/core/xds/grpc/xds_listener_parser.h +3 -3
  1865. data/src/core/xds/grpc/xds_metadata.cc +5 -5
  1866. data/src/core/xds/grpc/xds_metadata.h +34 -3
  1867. data/src/core/xds/grpc/xds_metadata_parser.cc +102 -48
  1868. data/src/core/xds/grpc/xds_metadata_parser.h +1 -2
  1869. data/src/core/xds/grpc/xds_route_config.cc +12 -18
  1870. data/src/core/xds/grpc/xds_route_config.h +12 -13
  1871. data/src/core/xds/grpc/xds_route_config_parser.cc +125 -129
  1872. data/src/core/xds/grpc/xds_route_config_parser.h +8 -11
  1873. data/src/core/xds/grpc/xds_routing.cc +8 -10
  1874. data/src/core/xds/grpc/xds_routing.h +7 -9
  1875. data/src/core/xds/grpc/xds_server_grpc.cc +83 -51
  1876. data/src/core/xds/grpc/xds_server_grpc.h +28 -15
  1877. data/src/core/xds/grpc/xds_server_grpc_interface.h +33 -0
  1878. data/src/core/xds/grpc/xds_transport_grpc.cc +101 -57
  1879. data/src/core/xds/grpc/xds_transport_grpc.h +33 -20
  1880. data/src/core/xds/xds_client/lrs_client.cc +1281 -0
  1881. data/src/core/xds/xds_client/lrs_client.h +394 -0
  1882. data/src/core/xds/xds_client/xds_api.cc +28 -465
  1883. data/src/core/xds/xds_client/xds_api.h +6 -161
  1884. data/src/core/xds/xds_client/xds_backend_metric_propagation.cc +63 -0
  1885. data/src/core/xds/xds_client/xds_backend_metric_propagation.h +59 -0
  1886. data/src/core/xds/xds_client/xds_bootstrap.cc +12 -3
  1887. data/src/core/xds/xds_client/xds_bootstrap.h +25 -3
  1888. data/src/core/xds/xds_client/xds_client.cc +1086 -1296
  1889. data/src/core/xds/xds_client/xds_client.h +170 -115
  1890. data/src/core/xds/xds_client/xds_locality.h +102 -0
  1891. data/src/core/xds/xds_client/xds_metrics.h +2 -2
  1892. data/src/core/xds/xds_client/xds_resource_type.h +7 -10
  1893. data/src/core/xds/xds_client/xds_resource_type_impl.h +15 -11
  1894. data/src/core/xds/xds_client/xds_transport.h +29 -14
  1895. data/src/ruby/ext/grpc/extconf.rb +2 -1
  1896. data/src/ruby/ext/grpc/rb_byte_buffer.c +3 -3
  1897. data/src/ruby/ext/grpc/rb_call.c +5 -5
  1898. data/src/ruby/ext/grpc/rb_call_credentials.c +5 -6
  1899. data/src/ruby/ext/grpc/rb_channel.c +6 -7
  1900. data/src/ruby/ext/grpc/rb_channel_args.c +3 -3
  1901. data/src/ruby/ext/grpc/rb_channel_credentials.c +5 -6
  1902. data/src/ruby/ext/grpc/rb_channel_credentials.h +1 -2
  1903. data/src/ruby/ext/grpc/rb_completion_queue.c +3 -4
  1904. data/src/ruby/ext/grpc/rb_compression_options.c +6 -7
  1905. data/src/ruby/ext/grpc/rb_event_thread.c +4 -5
  1906. data/src/ruby/ext/grpc/rb_grpc.c +3 -4
  1907. data/src/ruby/ext/grpc/rb_grpc.h +2 -3
  1908. data/src/ruby/ext/grpc/rb_server.c +6 -6
  1909. data/src/ruby/ext/grpc/rb_server_credentials.c +3 -3
  1910. data/src/ruby/ext/grpc/rb_server_credentials.h +1 -2
  1911. data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +5 -6
  1912. data/src/ruby/ext/grpc/rb_xds_channel_credentials.h +1 -2
  1913. data/src/ruby/ext/grpc/rb_xds_server_credentials.c +4 -4
  1914. data/src/ruby/ext/grpc/rb_xds_server_credentials.h +1 -2
  1915. data/src/ruby/lib/grpc/version.rb +1 -1
  1916. data/src/ruby/spec/generic/client_stub_spec.rb +20 -20
  1917. data/third_party/abseil-cpp/absl/algorithm/container.h +57 -18
  1918. data/third_party/abseil-cpp/absl/base/attributes.h +84 -0
  1919. data/third_party/abseil-cpp/absl/base/config.h +32 -51
  1920. data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +0 -16
  1921. data/third_party/abseil-cpp/absl/base/internal/nullability_impl.h +3 -1
  1922. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +13 -3
  1923. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +0 -12
  1924. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +4 -4
  1925. data/third_party/abseil-cpp/absl/base/macros.h +48 -0
  1926. data/third_party/abseil-cpp/absl/base/no_destructor.h +35 -40
  1927. data/third_party/abseil-cpp/absl/base/nullability.h +33 -7
  1928. data/third_party/abseil-cpp/absl/base/optimization.h +11 -0
  1929. data/third_party/abseil-cpp/absl/base/options.h +1 -1
  1930. data/third_party/abseil-cpp/absl/base/prefetch.h +1 -1
  1931. data/third_party/abseil-cpp/absl/container/flat_hash_map.h +68 -12
  1932. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +60 -6
  1933. data/third_party/abseil-cpp/absl/container/hash_container_defaults.h +45 -0
  1934. data/third_party/abseil-cpp/absl/container/inlined_vector.h +13 -0
  1935. data/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h +20 -11
  1936. data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +15 -16
  1937. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +34 -1
  1938. data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +68 -1
  1939. data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +50 -0
  1940. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +22 -7
  1941. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +26 -8
  1942. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +39 -35
  1943. data/third_party/abseil-cpp/absl/container/internal/layout.h +190 -74
  1944. data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +8 -6
  1945. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +334 -71
  1946. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +1299 -458
  1947. data/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +19 -17
  1948. data/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.cc +4 -3
  1949. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc +2 -1
  1950. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_arm_combined.cc +12 -8
  1951. data/third_party/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc +1 -1
  1952. data/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +11 -7
  1953. data/third_party/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h +18 -17
  1954. data/third_party/abseil-cpp/absl/debugging/internal/bounded_utf8_length_sequence.h +126 -0
  1955. data/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.cc +258 -0
  1956. data/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.h +55 -0
  1957. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +1057 -86
  1958. data/third_party/abseil-cpp/absl/debugging/internal/demangle.h +3 -0
  1959. data/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.cc +925 -0
  1960. data/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.h +42 -0
  1961. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +43 -16
  1962. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +8 -7
  1963. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +10 -7
  1964. data/third_party/abseil-cpp/absl/debugging/internal/utf8_for_code_point.cc +70 -0
  1965. data/third_party/abseil-cpp/absl/debugging/internal/utf8_for_code_point.h +47 -0
  1966. data/third_party/abseil-cpp/absl/flags/commandlineflag.h +11 -0
  1967. data/third_party/abseil-cpp/absl/flags/flag.h +2 -0
  1968. data/third_party/abseil-cpp/absl/flags/internal/flag.cc +117 -30
  1969. data/third_party/abseil-cpp/absl/flags/internal/flag.h +192 -30
  1970. data/third_party/abseil-cpp/absl/flags/reflection.cc +10 -0
  1971. data/third_party/abseil-cpp/absl/functional/any_invocable.h +13 -3
  1972. data/third_party/abseil-cpp/absl/functional/bind_front.h +3 -2
  1973. data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +7 -7
  1974. data/third_party/abseil-cpp/absl/functional/internal/front_binder.h +9 -9
  1975. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +1 -1
  1976. data/third_party/abseil-cpp/absl/hash/internal/hash.h +13 -3
  1977. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc +60 -28
  1978. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.h +4 -0
  1979. data/third_party/abseil-cpp/absl/log/absl_vlog_is_on.h +3 -3
  1980. data/third_party/abseil-cpp/absl/log/globals.h +28 -15
  1981. data/third_party/abseil-cpp/absl/log/internal/check_op.cc +20 -0
  1982. data/third_party/abseil-cpp/absl/log/internal/check_op.h +63 -21
  1983. data/third_party/abseil-cpp/absl/log/internal/conditions.h +2 -2
  1984. data/third_party/abseil-cpp/absl/log/internal/log_impl.h +23 -23
  1985. data/third_party/abseil-cpp/absl/log/internal/log_message.cc +104 -47
  1986. data/third_party/abseil-cpp/absl/log/internal/log_message.h +23 -4
  1987. data/third_party/abseil-cpp/absl/log/internal/nullstream.h +1 -10
  1988. data/third_party/abseil-cpp/absl/log/internal/strip.h +36 -0
  1989. data/third_party/abseil-cpp/absl/log/log.h +5 -1
  1990. data/third_party/abseil-cpp/absl/log/log_sink.h +11 -4
  1991. data/third_party/abseil-cpp/absl/log/vlog_is_on.h +3 -3
  1992. data/third_party/abseil-cpp/absl/meta/type_traits.h +138 -42
  1993. data/third_party/abseil-cpp/absl/numeric/int128.cc +0 -3
  1994. data/third_party/abseil-cpp/absl/numeric/int128.h +35 -5
  1995. data/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +14 -0
  1996. data/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +18 -0
  1997. data/third_party/abseil-cpp/absl/numeric/internal/bits.h +6 -2
  1998. data/third_party/abseil-cpp/absl/random/beta_distribution.h +8 -8
  1999. data/third_party/abseil-cpp/absl/random/bit_gen_ref.h +9 -7
  2000. data/third_party/abseil-cpp/absl/random/distributions.h +11 -11
  2001. data/third_party/abseil-cpp/absl/random/seed_sequences.h +2 -0
  2002. data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +61 -2
  2003. data/third_party/abseil-cpp/absl/status/status.cc +0 -4
  2004. data/third_party/abseil-cpp/absl/status/status.h +4 -4
  2005. data/third_party/abseil-cpp/absl/status/statusor.h +108 -142
  2006. data/third_party/abseil-cpp/absl/strings/ascii.cc +32 -71
  2007. data/third_party/abseil-cpp/absl/strings/cord.cc +20 -15
  2008. data/third_party/abseil-cpp/absl/strings/cord.h +68 -7
  2009. data/third_party/abseil-cpp/absl/strings/escaping.cc +96 -21
  2010. data/third_party/abseil-cpp/absl/strings/escaping.h +25 -8
  2011. data/third_party/abseil-cpp/absl/strings/has_absl_stringify.h +1 -0
  2012. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h +10 -0
  2013. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +29 -9
  2014. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h +2 -2
  2015. data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.cc +19 -13
  2016. data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.h +23 -13
  2017. data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc +24 -24
  2018. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +12 -7
  2019. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.h +9 -4
  2020. data/third_party/abseil-cpp/absl/strings/internal/escaping.cc +5 -2
  2021. data/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +23 -2
  2022. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +5 -1
  2023. data/third_party/abseil-cpp/absl/strings/numbers.cc +107 -333
  2024. data/third_party/abseil-cpp/absl/strings/numbers.h +12 -151
  2025. data/third_party/abseil-cpp/absl/strings/str_cat.cc +49 -142
  2026. data/third_party/abseil-cpp/absl/strings/str_cat.h +70 -85
  2027. data/third_party/abseil-cpp/absl/strings/str_format.h +1 -1
  2028. data/third_party/abseil-cpp/absl/strings/str_join.h +19 -5
  2029. data/third_party/abseil-cpp/absl/strings/str_split.h +2 -2
  2030. data/third_party/abseil-cpp/absl/strings/string_view.h +3 -2
  2031. data/third_party/abseil-cpp/absl/strings/substitute.cc +4 -0
  2032. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +11 -2
  2033. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.h +5 -0
  2034. data/third_party/abseil-cpp/absl/synchronization/mutex.h +5 -4
  2035. data/third_party/abseil-cpp/absl/time/civil_time.h +2 -2
  2036. data/third_party/abseil-cpp/absl/time/clock.cc +15 -1
  2037. data/third_party/abseil-cpp/absl/time/duration.cc +58 -53
  2038. data/third_party/abseil-cpp/absl/time/format.cc +2 -1
  2039. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +1 -1
  2040. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +0 -29
  2041. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +3 -3
  2042. data/third_party/abseil-cpp/absl/time/time.h +73 -29
  2043. data/third_party/abseil-cpp/absl/types/compare.h +505 -0
  2044. data/third_party/abseil-cpp/absl/types/internal/optional.h +2 -2
  2045. data/third_party/abseil-cpp/absl/types/internal/variant.h +55 -67
  2046. data/third_party/abseil-cpp/absl/types/optional.h +15 -18
  2047. data/third_party/abseil-cpp/absl/types/span.h +3 -2
  2048. data/third_party/abseil-cpp/absl/types/variant.h +19 -24
  2049. data/third_party/abseil-cpp/absl/utility/utility.h +3 -41
  2050. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.cc +243 -0
  2051. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.cc +53 -0
  2052. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.cc +47 -0
  2053. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.cc +42 -0
  2054. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.cc +109 -0
  2055. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.cc +43 -0
  2056. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.cc +424 -0
  2057. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.cc +239 -0
  2058. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.cc +193 -0
  2059. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.cc +32 -0
  2060. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.cc +415 -0
  2061. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.cc +206 -0
  2062. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.cc +224 -0
  2063. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.cc +172 -0
  2064. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.cc +109 -0
  2065. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.cc +355 -0
  2066. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.cc +61 -0
  2067. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.cc +56 -0
  2068. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.cc +63 -0
  2069. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.cc +52 -0
  2070. data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +13 -57
  2071. data/third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.cc +241 -0
  2072. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.cc +932 -0
  2073. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.cc +669 -0
  2074. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.cc +164 -0
  2075. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.cc +276 -0
  2076. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.cc +84 -0
  2077. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.cc +229 -0
  2078. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.cc +434 -0
  2079. data/third_party/boringssl-with-bazel/src/crypto/bcm_support.h +19 -13
  2080. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.cc +658 -0
  2081. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.cc +268 -0
  2082. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.cc +511 -0
  2083. data/third_party/boringssl-with-bazel/src/crypto/bio/errno.cc +50 -0
  2084. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.cc +193 -0
  2085. data/third_party/boringssl-with-bazel/src/crypto/bio/file.cc +292 -0
  2086. data/third_party/boringssl-with-bazel/src/crypto/bio/hexdump.cc +152 -0
  2087. data/third_party/boringssl-with-bazel/src/crypto/bio/internal.h +13 -55
  2088. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.cc +446 -0
  2089. data/third_party/boringssl-with-bazel/src/crypto/bio/printf.cc +59 -0
  2090. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.cc +147 -0
  2091. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.cc +133 -0
  2092. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.cc +169 -0
  2093. data/third_party/boringssl-with-bazel/src/crypto/bn/bn_asn1.cc +57 -0
  2094. data/third_party/boringssl-with-bazel/src/crypto/bn/convert.cc +423 -0
  2095. data/third_party/boringssl-with-bazel/src/crypto/buf/buf.cc +118 -0
  2096. data/third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.cc +53 -0
  2097. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.cc +266 -0
  2098. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.cc +702 -0
  2099. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.cc +912 -0
  2100. data/third_party/boringssl-with-bazel/src/crypto/bytestring/internal.h +13 -13
  2101. data/third_party/boringssl-with-bazel/src/crypto/bytestring/unicode.cc +156 -0
  2102. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.cc +224 -0
  2103. data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +18 -18
  2104. data/third_party/boringssl-with-bazel/src/crypto/cipher/derive_key.cc +110 -0
  2105. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_aesctrhmac.cc +279 -0
  2106. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_aesgcmsiv.cc +845 -0
  2107. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_chacha20poly1305.cc +341 -0
  2108. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_des.cc +198 -0
  2109. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_null.cc +51 -0
  2110. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_rc2.cc +417 -0
  2111. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_rc4.cc +54 -0
  2112. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_tls.cc +599 -0
  2113. data/third_party/boringssl-with-bazel/src/crypto/cipher/get_cipher.cc +85 -0
  2114. data/third_party/boringssl-with-bazel/src/crypto/cipher/internal.h +240 -0
  2115. data/third_party/boringssl-with-bazel/src/crypto/cipher/tls_cbc.cc +476 -0
  2116. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.cc +631 -0
  2117. data/third_party/boringssl-with-bazel/src/crypto/conf/internal.h +13 -13
  2118. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.cc +73 -0
  2119. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.cc +53 -0
  2120. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.cc +60 -0
  2121. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.cc +59 -0
  2122. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_sysreg.cc +92 -0
  2123. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.cc +39 -0
  2124. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.cc +53 -0
  2125. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.cc +150 -0
  2126. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.h +13 -13
  2127. data/third_party/boringssl-with-bazel/src/crypto/cpu_intel.cc +287 -0
  2128. data/third_party/boringssl-with-bazel/src/crypto/crypto.cc +181 -0
  2129. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.cc +2154 -0
  2130. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_64_adx.cc +18 -0
  2131. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +13 -13
  2132. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +13 -13
  2133. data/third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.cc +529 -0
  2134. data/third_party/boringssl-with-bazel/src/crypto/des/des.cc +829 -0
  2135. data/third_party/boringssl-with-bazel/src/crypto/des/internal.h +27 -69
  2136. data/third_party/boringssl-with-bazel/src/crypto/dh/dh_asn1.cc +124 -0
  2137. data/third_party/boringssl-with-bazel/src/crypto/dh/params.cc +442 -0
  2138. data/third_party/boringssl-with-bazel/src/crypto/digest/digest_extra.cc +306 -0
  2139. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.cc +951 -0
  2140. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.cc +379 -0
  2141. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +13 -15
  2142. data/third_party/boringssl-with-bazel/src/crypto/ec/ec_asn1.cc +570 -0
  2143. data/third_party/boringssl-with-bazel/src/crypto/ec/ec_derive.cc +96 -0
  2144. data/third_party/boringssl-with-bazel/src/crypto/ec/hash_to_curve.cc +510 -0
  2145. data/third_party/boringssl-with-bazel/src/crypto/ec/internal.h +78 -0
  2146. data/third_party/boringssl-with-bazel/src/crypto/ecdh/ecdh.cc +73 -0
  2147. data/third_party/boringssl-with-bazel/src/crypto/ecdsa/ecdsa_asn1.cc +357 -0
  2148. data/third_party/boringssl-with-bazel/src/crypto/engine/engine.cc +95 -0
  2149. data/third_party/boringssl-with-bazel/src/crypto/err/err.cc +810 -0
  2150. data/third_party/boringssl-with-bazel/src/crypto/err/internal.h +13 -13
  2151. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.cc +379 -0
  2152. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.cc +471 -0
  2153. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.cc +440 -0
  2154. data/third_party/boringssl-with-bazel/src/crypto/evp/internal.h +13 -55
  2155. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh.cc +153 -0
  2156. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh_asn1.cc +142 -0
  2157. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.cc +279 -0
  2158. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.cc +230 -0
  2159. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.cc +286 -0
  2160. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.cc +103 -0
  2161. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.cc +225 -0
  2162. data/third_party/boringssl-with-bazel/src/crypto/evp/p_hkdf.cc +236 -0
  2163. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.cc +609 -0
  2164. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.cc +198 -0
  2165. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.cc +109 -0
  2166. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.cc +237 -0
  2167. data/third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.cc +98 -0
  2168. data/third_party/boringssl-with-bazel/src/crypto/evp/print.cc +342 -0
  2169. data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.cc +216 -0
  2170. data/third_party/boringssl-with-bazel/src/crypto/evp/sign.cc +114 -0
  2171. data/third_party/boringssl-with-bazel/src/crypto/ex_data.cc +141 -0
  2172. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.cc.inc +191 -0
  2173. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.cc.inc +1281 -0
  2174. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/cbc.cc.inc +130 -0
  2175. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/cfb.cc.inc +166 -0
  2176. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/ctr.cc.inc +100 -0
  2177. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/gcm.cc.inc +604 -0
  2178. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/gcm_nohw.cc.inc +302 -0
  2179. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +419 -70
  2180. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.cc.inc +208 -0
  2181. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.cc.inc +84 -0
  2182. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/ofb.cc.inc +53 -0
  2183. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/polyval.cc.inc +89 -0
  2184. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.cc +282 -0
  2185. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm_interface.h +665 -25
  2186. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/add.cc.inc +269 -0
  2187. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/asm/x86_64-gcc.cc.inc +554 -0
  2188. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.cc.inc +374 -0
  2189. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bytes.cc.inc +225 -0
  2190. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/cmp.cc.inc +159 -0
  2191. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/ctx.cc.inc +191 -0
  2192. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.cc.inc +825 -0
  2193. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.cc.inc +87 -0
  2194. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.cc.inc +1227 -0
  2195. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.cc.inc +300 -0
  2196. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.cc.inc +339 -0
  2197. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/generic.cc.inc +582 -0
  2198. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +25 -134
  2199. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/jacobi.cc.inc +108 -0
  2200. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.cc.inc +430 -0
  2201. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.cc.inc +222 -0
  2202. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.cc.inc +698 -0
  2203. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.cc.inc +980 -0
  2204. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.cc.inc +260 -0
  2205. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.cc.inc +142 -0
  2206. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.h +20 -17
  2207. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.cc.inc +320 -0
  2208. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.cc.inc +459 -0
  2209. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/aead.cc.inc +295 -0
  2210. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.cc.inc +672 -0
  2211. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.cc.inc +1242 -0
  2212. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aesccm.cc.inc +409 -0
  2213. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/internal.h +14 -65
  2214. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cmac/cmac.cc.inc +288 -0
  2215. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h +26 -22
  2216. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.cc.inc +203 -0
  2217. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.cc.inc +443 -0
  2218. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/internal.h +13 -15
  2219. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.cc.inc +250 -0
  2220. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.cc.inc +178 -0
  2221. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/internal.h +13 -55
  2222. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +13 -47
  2223. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digestsign/digestsign.cc.inc +226 -0
  2224. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/builtin_curves.h +91 -91
  2225. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.cc.inc +986 -0
  2226. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.cc.inc +501 -0
  2227. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.cc.inc +439 -0
  2228. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.cc.inc +104 -0
  2229. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +19 -66
  2230. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.cc.inc +306 -0
  2231. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.cc.inc +1163 -0
  2232. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz-table.h +15 -10
  2233. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.cc.inc +741 -0
  2234. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.h +22 -17
  2235. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.cc.inc +749 -0
  2236. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +13 -13
  2237. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.cc.inc +179 -0
  2238. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.cc.inc +284 -0
  2239. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.cc.inc +269 -0
  2240. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/util.cc.inc +255 -0
  2241. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.cc.inc +221 -0
  2242. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.cc.inc +88 -0
  2243. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.cc.inc +278 -0
  2244. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +13 -13
  2245. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.cc +28 -0
  2246. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/hkdf.cc.inc +112 -0
  2247. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.cc.inc +215 -0
  2248. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/keccak/internal.h +70 -0
  2249. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/keccak/keccak.cc.inc +279 -0
  2250. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mldsa/mldsa.cc.inc +1993 -0
  2251. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mlkem/mlkem.cc.inc +1165 -0
  2252. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/ctrdrbg.cc.inc +214 -0
  2253. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +18 -24
  2254. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.cc.inc +483 -0
  2255. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.cc.inc +147 -0
  2256. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +13 -56
  2257. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.cc.inc +379 -0
  2258. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.cc.inc +983 -0
  2259. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.cc.inc +1296 -0
  2260. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.cc.inc +129 -0
  2261. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.cc.inc +1042 -0
  2262. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/internal.h +34 -34
  2263. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.cc.inc +327 -0
  2264. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +43 -57
  2265. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.cc.inc +390 -0
  2266. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.cc.inc +299 -0
  2267. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.cc.inc +473 -0
  2268. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/address.h +119 -0
  2269. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/fors.cc.inc +169 -0
  2270. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/fors.h +58 -0
  2271. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/merkle.cc.inc +161 -0
  2272. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/merkle.h +70 -0
  2273. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/params.h +78 -0
  2274. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/slhdsa.cc.inc +329 -0
  2275. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/thash.cc.inc +173 -0
  2276. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/thash.h +85 -0
  2277. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/wots.cc.inc +171 -0
  2278. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/wots.h +50 -0
  2279. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h +13 -13
  2280. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.cc.inc +180 -0
  2281. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.cc +1095 -0
  2282. data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.cc +2185 -0
  2283. data/third_party/boringssl-with-bazel/src/crypto/hrss/internal.h +13 -13
  2284. data/third_party/boringssl-with-bazel/src/crypto/internal.h +262 -445
  2285. data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +13 -13
  2286. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.cc +869 -0
  2287. data/third_party/boringssl-with-bazel/src/crypto/lhash/internal.h +31 -75
  2288. data/third_party/boringssl-with-bazel/src/crypto/lhash/lhash.cc +309 -0
  2289. data/third_party/boringssl-with-bazel/src/crypto/md4/md4.cc +194 -0
  2290. data/third_party/boringssl-with-bazel/src/crypto/md5/internal.h +37 -0
  2291. data/third_party/boringssl-with-bazel/src/crypto/md5/md5.cc +243 -0
  2292. data/third_party/boringssl-with-bazel/src/crypto/mem.cc +583 -0
  2293. data/third_party/boringssl-with-bazel/src/crypto/mldsa/mldsa.cc +90 -0
  2294. data/third_party/boringssl-with-bazel/src/crypto/mlkem/mlkem.cc +97 -1042
  2295. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.cc +519 -0
  2296. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +14 -56
  2297. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_xref.cc +80 -0
  2298. data/third_party/boringssl-with-bazel/src/crypto/pem/internal.h +44 -0
  2299. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.cc +149 -0
  2300. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.cc +254 -0
  2301. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.cc +741 -0
  2302. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.cc +45 -0
  2303. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.cc +208 -0
  2304. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.cc +141 -0
  2305. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_x509.cc +22 -0
  2306. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_xaux.cc +22 -0
  2307. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/internal.h +13 -13
  2308. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.cc +193 -0
  2309. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.cc +526 -0
  2310. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +13 -54
  2311. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.cc +275 -0
  2312. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.cc +487 -0
  2313. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.cc +1304 -0
  2314. data/third_party/boringssl-with-bazel/src/crypto/poly1305/internal.h +13 -13
  2315. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.cc +314 -0
  2316. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.cc +310 -0
  2317. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.cc +850 -0
  2318. data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +13 -13
  2319. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.cc +262 -0
  2320. data/third_party/boringssl-with-bazel/src/crypto/rand/deterministic.cc +65 -0
  2321. data/third_party/boringssl-with-bazel/src/crypto/rand/fork_detect.cc +194 -0
  2322. data/third_party/boringssl-with-bazel/src/crypto/rand/forkunsafe.cc +44 -0
  2323. data/third_party/boringssl-with-bazel/src/crypto/rand/getentropy.cc +60 -0
  2324. data/third_party/boringssl-with-bazel/src/crypto/rand/getrandom_fillin.h +64 -0
  2325. data/third_party/boringssl-with-bazel/src/crypto/rand/ios.cc +42 -0
  2326. data/third_party/boringssl-with-bazel/src/crypto/rand/passive.cc +178 -0
  2327. data/third_party/boringssl-with-bazel/src/crypto/rand/rand.cc +77 -0
  2328. data/third_party/boringssl-with-bazel/src/crypto/rand/sysrand_internal.h +37 -0
  2329. data/third_party/boringssl-with-bazel/src/crypto/rand/trusty.cc +46 -0
  2330. data/third_party/boringssl-with-bazel/src/crypto/rand/urandom.cc +328 -0
  2331. data/third_party/boringssl-with-bazel/src/crypto/rand/windows.cc +102 -0
  2332. data/third_party/boringssl-with-bazel/src/crypto/rc4/rc4.cc +56 -0
  2333. data/third_party/boringssl-with-bazel/src/crypto/refcount.cc +59 -0
  2334. data/third_party/boringssl-with-bazel/src/crypto/rsa/internal.h +36 -0
  2335. data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_asn1.cc +283 -0
  2336. data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_crypt.cc +531 -0
  2337. data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_extra.cc +19 -0
  2338. data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_print.cc +27 -0
  2339. data/third_party/boringssl-with-bazel/src/crypto/sha/sha1.cc +52 -0
  2340. data/third_party/boringssl-with-bazel/src/crypto/sha/sha256.cc +87 -0
  2341. data/third_party/boringssl-with-bazel/src/crypto/sha/sha512.cc +104 -0
  2342. data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.cc +79 -0
  2343. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/slhdsa.cc +113 -0
  2344. data/third_party/boringssl-with-bazel/src/crypto/spake2plus/internal.h +204 -0
  2345. data/third_party/boringssl-with-bazel/src/crypto/spake2plus/spake2plus.cc +501 -0
  2346. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.cc +496 -0
  2347. data/third_party/boringssl-with-bazel/src/crypto/thread.cc +68 -0
  2348. data/third_party/boringssl-with-bazel/src/crypto/thread_none.cc +51 -0
  2349. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.cc +151 -0
  2350. data/third_party/boringssl-with-bazel/src/crypto/thread_win.cc +240 -0
  2351. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +13 -13
  2352. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.cc +1656 -0
  2353. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.cc +685 -0
  2354. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.cc +1263 -0
  2355. data/third_party/boringssl-with-bazel/src/crypto/x509/a_digest.cc +52 -0
  2356. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.cc +97 -0
  2357. data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.cc +74 -0
  2358. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.cc +136 -0
  2359. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.cc +542 -0
  2360. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.cc +355 -0
  2361. data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.cc +227 -0
  2362. data/third_party/boringssl-with-bazel/src/crypto/x509/ext_dat.h +13 -55
  2363. data/third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.cc +37 -0
  2364. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +13 -57
  2365. data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.cc +185 -0
  2366. data/third_party/boringssl-with-bazel/src/crypto/x509/policy.cc +796 -0
  2367. data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.cc +364 -0
  2368. data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.cc +103 -0
  2369. data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.cc +203 -0
  2370. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.cc +287 -0
  2371. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.cc +79 -0
  2372. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akey.cc +181 -0
  2373. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akeya.cc +31 -0
  2374. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_alt.cc +593 -0
  2375. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bcons.cc +95 -0
  2376. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bitst.cc +102 -0
  2377. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_conf.cc +374 -0
  2378. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_cpols.cc +444 -0
  2379. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_crld.cc +557 -0
  2380. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_enum.cc +73 -0
  2381. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_extku.cc +114 -0
  2382. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_genn.cc +228 -0
  2383. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ia5.cc +79 -0
  2384. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_info.cc +164 -0
  2385. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_int.cc +81 -0
  2386. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_lib.cc +304 -0
  2387. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ncons.cc +514 -0
  2388. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ocsp.cc +89 -0
  2389. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pcons.cc +101 -0
  2390. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pmaps.cc +109 -0
  2391. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_prn.cc +183 -0
  2392. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_purp.cc +590 -0
  2393. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_skey.cc +131 -0
  2394. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_utl.cc +1342 -0
  2395. data/third_party/boringssl-with-bazel/src/crypto/x509/x509.cc +47 -0
  2396. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.cc +186 -0
  2397. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.cc +238 -0
  2398. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.cc +66 -0
  2399. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_def.cc +44 -0
  2400. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.cc +139 -0
  2401. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.cc +554 -0
  2402. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.cc +164 -0
  2403. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.cc +257 -0
  2404. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.cc +198 -0
  2405. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.cc +118 -0
  2406. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.cc +147 -0
  2407. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.cc +249 -0
  2408. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.cc +1600 -0
  2409. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.cc +440 -0
  2410. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.cc +235 -0
  2411. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.cc +365 -0
  2412. data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.cc +67 -0
  2413. data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.cc +91 -0
  2414. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.cc +107 -0
  2415. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.cc +318 -0
  2416. data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.cc +55 -0
  2417. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.cc +342 -0
  2418. data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.cc +36 -0
  2419. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.cc +492 -0
  2420. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.cc +170 -0
  2421. data/third_party/boringssl-with-bazel/src/crypto/x509/x_req.cc +74 -0
  2422. data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.cc +51 -0
  2423. data/third_party/boringssl-with-bazel/src/crypto/x509/x_spki.cc +34 -0
  2424. data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.cc +28 -0
  2425. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.cc +506 -0
  2426. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.cc +169 -0
  2427. data/third_party/boringssl-with-bazel/src/gen/crypto/err_data.cc +1529 -0
  2428. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +13 -13
  2429. data/third_party/boringssl-with-bazel/src/include/openssl/aes.h +13 -47
  2430. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +16 -76
  2431. data/third_party/boringssl-with-bazel/src/include/openssl/asm_base.h +14 -14
  2432. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +23 -62
  2433. data/third_party/boringssl-with-bazel/src/include/openssl/asn1_mac.h +13 -13
  2434. data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +248 -328
  2435. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +24 -55
  2436. data/third_party/boringssl-with-bazel/src/include/openssl/base64.h +13 -55
  2437. data/third_party/boringssl-with-bazel/src/include/openssl/bcm_public.h +82 -0
  2438. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +13 -55
  2439. data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +13 -13
  2440. data/third_party/boringssl-with-bazel/src/include/openssl/blowfish.h +13 -55
  2441. data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +14 -121
  2442. data/third_party/boringssl-with-bazel/src/include/openssl/buf.h +13 -55
  2443. data/third_party/boringssl-with-bazel/src/include/openssl/buffer.h +13 -13
  2444. data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +31 -16
  2445. data/third_party/boringssl-with-bazel/src/include/openssl/cast.h +13 -55
  2446. data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +13 -13
  2447. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +31 -59
  2448. data/third_party/boringssl-with-bazel/src/include/openssl/cmac.h +13 -13
  2449. data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +13 -55
  2450. data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +13 -13
  2451. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +25 -14
  2452. data/third_party/boringssl-with-bazel/src/include/openssl/ctrdrbg.h +13 -13
  2453. data/third_party/boringssl-with-bazel/src/include/openssl/curve25519.h +13 -13
  2454. data/third_party/boringssl-with-bazel/src/include/openssl/des.h +13 -55
  2455. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +17 -55
  2456. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +19 -56
  2457. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +17 -58
  2458. data/third_party/boringssl-with-bazel/src/include/openssl/dtls1.h +13 -13
  2459. data/third_party/boringssl-with-bazel/src/include/openssl/e_os2.h +13 -13
  2460. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +14 -66
  2461. data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +31 -72
  2462. data/third_party/boringssl-with-bazel/src/include/openssl/ecdh.h +14 -65
  2463. data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +13 -51
  2464. data/third_party/boringssl-with-bazel/src/include/openssl/engine.h +13 -13
  2465. data/third_party/boringssl-with-bazel/src/include/openssl/err.h +13 -107
  2466. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +14 -56
  2467. data/third_party/boringssl-with-bazel/src/include/openssl/evp_errors.h +13 -55
  2468. data/third_party/boringssl-with-bazel/src/include/openssl/ex_data.h +13 -107
  2469. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/kyber.h +13 -13
  2470. data/third_party/boringssl-with-bazel/src/include/openssl/hkdf.h +13 -13
  2471. data/third_party/boringssl-with-bazel/src/include/openssl/hmac.h +13 -55
  2472. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +13 -13
  2473. data/third_party/boringssl-with-bazel/src/include/openssl/hrss.h +13 -13
  2474. data/third_party/boringssl-with-bazel/src/include/openssl/is_boringssl.h +13 -13
  2475. data/third_party/boringssl-with-bazel/src/include/openssl/kdf.h +13 -13
  2476. data/third_party/boringssl-with-bazel/src/include/openssl/lhash.h +13 -55
  2477. data/third_party/boringssl-with-bazel/src/include/openssl/md4.h +13 -55
  2478. data/third_party/boringssl-with-bazel/src/include/openssl/md5.h +13 -55
  2479. data/third_party/boringssl-with-bazel/src/include/openssl/mem.h +13 -55
  2480. data/third_party/boringssl-with-bazel/src/include/openssl/mldsa.h +20 -26
  2481. data/third_party/boringssl-with-bazel/src/include/openssl/mlkem.h +13 -37
  2482. data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +27 -69
  2483. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +13 -55
  2484. data/third_party/boringssl-with-bazel/src/include/openssl/obj_mac.h +13 -13
  2485. data/third_party/boringssl-with-bazel/src/include/openssl/objects.h +13 -13
  2486. data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +13 -13
  2487. data/third_party/boringssl-with-bazel/src/include/openssl/opensslv.h +13 -13
  2488. data/third_party/boringssl-with-bazel/src/include/openssl/ossl_typ.h +13 -13
  2489. data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +22 -60
  2490. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs12.h +13 -13
  2491. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +13 -13
  2492. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +13 -55
  2493. data/third_party/boringssl-with-bazel/src/include/openssl/poly1305.h +13 -13
  2494. data/third_party/boringssl-with-bazel/src/include/openssl/pool.h +13 -13
  2495. data/third_party/boringssl-with-bazel/src/include/openssl/posix_time.h +13 -13
  2496. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +13 -13
  2497. data/third_party/boringssl-with-bazel/src/include/openssl/rc4.h +13 -55
  2498. data/third_party/boringssl-with-bazel/src/include/openssl/ripemd.h +13 -55
  2499. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +23 -63
  2500. data/third_party/boringssl-with-bazel/src/include/openssl/safestack.h +13 -13
  2501. data/third_party/boringssl-with-bazel/src/include/openssl/service_indicator.h +13 -13
  2502. data/third_party/boringssl-with-bazel/src/include/openssl/sha.h +15 -95
  2503. data/third_party/boringssl-with-bazel/src/include/openssl/siphash.h +13 -13
  2504. data/third_party/boringssl-with-bazel/src/include/openssl/slhdsa.h +174 -0
  2505. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +24 -32
  2506. data/third_party/boringssl-with-bazel/src/include/openssl/srtp.h +13 -13
  2507. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +358 -290
  2508. data/third_party/boringssl-with-bazel/src/include/openssl/ssl3.h +15 -114
  2509. data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +13 -55
  2510. data/third_party/boringssl-with-bazel/src/include/openssl/target.h +23 -13
  2511. data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +15 -57
  2512. data/third_party/boringssl-with-bazel/src/include/openssl/time.h +13 -13
  2513. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +27 -156
  2514. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +15 -15
  2515. data/third_party/boringssl-with-bazel/src/include/openssl/type_check.h +13 -55
  2516. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +14 -61
  2517. data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +13 -13
  2518. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +13 -13
  2519. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3_errors.h +13 -53
  2520. data/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc +15 -14
  2521. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +680 -434
  2522. data/third_party/boringssl-with-bazel/src/ssl/d1_lib.cc +129 -174
  2523. data/third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc +176 -131
  2524. data/third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc +21 -127
  2525. data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +107 -104
  2526. data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +311 -312
  2527. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +54 -47
  2528. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +673 -475
  2529. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +66 -73
  2530. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +61 -153
  2531. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +199 -332
  2532. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +89 -213
  2533. data/third_party/boringssl-with-bazel/src/ssl/internal.h +961 -536
  2534. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +47 -157
  2535. data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +29 -159
  2536. data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +18 -112
  2537. data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +103 -196
  2538. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +52 -145
  2539. data/third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc +15 -20
  2540. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +117 -157
  2541. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +229 -365
  2542. data/third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc +218 -32
  2543. data/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc +13 -109
  2544. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +34 -33
  2545. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +194 -350
  2546. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +38 -83
  2547. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +101 -236
  2548. data/third_party/boringssl-with-bazel/src/ssl/ssl_stat.cc +17 -91
  2549. data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +109 -157
  2550. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +44 -30
  2551. data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +66 -195
  2552. data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +45 -176
  2553. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +58 -42
  2554. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +147 -95
  2555. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +251 -180
  2556. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +237 -108
  2557. data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +64 -117
  2558. data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +52 -134
  2559. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_32.h +6 -0
  2560. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64.h +6 -0
  2561. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_adx.h +4 -1
  2562. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h +1 -1
  2563. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64.h +3 -0
  2564. data/third_party/upb/upb/base/internal/log2.h +3 -1
  2565. data/third_party/upb/upb/base/string_view.h +10 -0
  2566. data/third_party/upb/upb/hash/common.c +5 -1
  2567. data/third_party/upb/upb/json/decode.c +59 -13
  2568. data/third_party/upb/upb/json/decode.h +25 -3
  2569. data/third_party/upb/upb/json/encode.c +2 -2
  2570. data/third_party/upb/upb/lex/round_trip.c +10 -0
  2571. data/third_party/upb/upb/mem/alloc.h +5 -0
  2572. data/third_party/upb/upb/mem/arena.c +306 -141
  2573. data/third_party/upb/upb/mem/arena.h +56 -11
  2574. data/third_party/upb/upb/mem/arena.hpp +9 -21
  2575. data/third_party/upb/upb/mem/internal/arena.h +4 -6
  2576. data/third_party/upb/upb/message/accessors.c +2 -4
  2577. data/third_party/upb/upb/message/accessors.h +219 -379
  2578. data/third_party/upb/upb/message/compat.c +11 -14
  2579. data/third_party/upb/upb/message/compat.h +4 -3
  2580. data/third_party/upb/upb/message/copy.c +46 -37
  2581. data/third_party/upb/upb/message/internal/accessors.h +717 -36
  2582. data/third_party/upb/upb/message/internal/extension.c +29 -25
  2583. data/third_party/upb/upb/message/internal/extension.h +21 -5
  2584. data/third_party/upb/upb/message/internal/iterator.c +58 -0
  2585. data/third_party/upb/upb/message/internal/iterator.h +29 -0
  2586. data/third_party/upb/upb/message/internal/map.h +2 -3
  2587. data/third_party/upb/upb/message/internal/map_sorter.h +3 -2
  2588. data/third_party/upb/upb/message/internal/message.c +57 -39
  2589. data/third_party/upb/upb/message/internal/message.h +162 -31
  2590. data/third_party/upb/upb/message/map_sorter.c +20 -8
  2591. data/third_party/upb/upb/message/merge.c +38 -0
  2592. data/third_party/upb/upb/message/merge.h +26 -0
  2593. data/third_party/upb/upb/message/message.c +90 -38
  2594. data/third_party/upb/upb/message/message.h +64 -12
  2595. data/third_party/upb/upb/message/value.h +35 -0
  2596. data/third_party/upb/upb/mini_descriptor/build_enum.c +1 -1
  2597. data/third_party/upb/upb/mini_descriptor/decode.c +104 -138
  2598. data/third_party/upb/upb/mini_descriptor/decode.h +4 -3
  2599. data/third_party/upb/upb/mini_descriptor/internal/encode.hpp +1 -1
  2600. data/third_party/upb/upb/mini_descriptor/link.c +7 -3
  2601. data/third_party/upb/upb/mini_table/extension_registry.c +41 -11
  2602. data/third_party/upb/upb/mini_table/extension_registry.h +30 -6
  2603. data/third_party/upb/upb/mini_table/internal/extension.h +9 -0
  2604. data/third_party/upb/upb/mini_table/internal/message.c +21 -1
  2605. data/third_party/upb/upb/mini_table/internal/message.h +40 -20
  2606. data/third_party/upb/upb/mini_table/internal/sub.h +5 -0
  2607. data/third_party/upb/upb/mini_table/message.c +21 -13
  2608. data/third_party/upb/upb/mini_table/message.h +11 -1
  2609. data/third_party/upb/upb/port/atomic.h +134 -7
  2610. data/third_party/upb/upb/port/def.inc +229 -37
  2611. data/third_party/upb/upb/port/undef.inc +17 -0
  2612. data/third_party/upb/upb/reflection/common.h +1 -11
  2613. data/third_party/upb/upb/reflection/def.hpp +13 -1
  2614. data/third_party/upb/upb/reflection/def_pool.c +10 -3
  2615. data/third_party/upb/upb/reflection/descriptor_bootstrap.h +19 -0
  2616. data/third_party/upb/upb/reflection/field_def.c +11 -22
  2617. data/third_party/upb/upb/reflection/field_def.h +1 -0
  2618. data/third_party/upb/upb/reflection/file_def.c +12 -5
  2619. data/third_party/upb/upb/reflection/internal/def_builder.c +1 -1
  2620. data/third_party/upb/upb/reflection/internal/upb_edition_defaults.h +1 -1
  2621. data/third_party/upb/upb/reflection/message.c +27 -19
  2622. data/third_party/upb/upb/reflection/message.h +5 -3
  2623. data/third_party/upb/upb/text/encode.c +51 -406
  2624. data/third_party/upb/upb/text/encode.h +1 -11
  2625. data/third_party/upb/upb/text/internal/encode.c +199 -0
  2626. data/third_party/upb/upb/text/internal/encode.h +244 -0
  2627. data/third_party/upb/upb/text/options.h +22 -0
  2628. data/third_party/upb/upb/wire/decode.c +130 -83
  2629. data/third_party/upb/upb/wire/decode.h +8 -3
  2630. data/third_party/upb/upb/wire/encode.c +113 -55
  2631. data/third_party/upb/upb/wire/encode.h +5 -0
  2632. data/third_party/upb/upb/wire/eps_copy_input_stream.h +18 -20
  2633. data/third_party/upb/upb/wire/internal/decode_fast.c +3 -0
  2634. data/third_party/upb/upb/wire/internal/decoder.h +4 -11
  2635. data/third_party/utf8_range/utf8_range.c +15 -275
  2636. data/third_party/utf8_range/utf8_range_neon.inc +117 -0
  2637. data/third_party/utf8_range/utf8_range_sse.inc +272 -0
  2638. data/third_party/zlib/deflate.c +40 -15
  2639. data/third_party/zlib/deflate.h +33 -2
  2640. data/third_party/zlib/gzguts.h +2 -6
  2641. data/third_party/zlib/inflate.c +1 -1
  2642. data/third_party/zlib/inftrees.c +3 -3
  2643. data/third_party/zlib/inftrees.h +2 -2
  2644. data/third_party/zlib/trees.c +18 -4
  2645. data/third_party/zlib/zconf.h +1 -9
  2646. data/third_party/zlib/zlib.h +12 -12
  2647. data/third_party/zlib/zutil.h +4 -25
  2648. metadata +648 -599
  2649. data/include/grpc/grpc_cronet.h +0 -37
  2650. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb.h +0 -419
  2651. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.c +0 -84
  2652. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.h +0 -30
  2653. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb.h +0 -400
  2654. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.c +0 -118
  2655. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.h +0 -33
  2656. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.c +0 -107
  2657. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.h +0 -32
  2658. data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.c +0 -66
  2659. data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.h +0 -47
  2660. data/src/core/lib/avl/avl.h +0 -325
  2661. data/src/core/lib/backoff/backoff.cc +0 -44
  2662. data/src/core/lib/backoff/backoff.h +0 -87
  2663. data/src/core/lib/backoff/random_early_detection.cc +0 -33
  2664. data/src/core/lib/backoff/random_early_detection.h +0 -62
  2665. data/src/core/lib/channel/call_finalization.h +0 -88
  2666. data/src/core/lib/channel/status_util.cc +0 -155
  2667. data/src/core/lib/channel/status_util.h +0 -80
  2668. data/src/core/lib/config/config_vars.cc +0 -152
  2669. data/src/core/lib/config/config_vars.h +0 -129
  2670. data/src/core/lib/config/config_vars_non_generated.cc +0 -49
  2671. data/src/core/lib/config/core_configuration.cc +0 -111
  2672. data/src/core/lib/config/core_configuration.h +0 -243
  2673. data/src/core/lib/config/load_config.cc +0 -79
  2674. data/src/core/lib/config/load_config.h +0 -55
  2675. data/src/core/lib/debug/event_log.cc +0 -87
  2676. data/src/core/lib/debug/event_log.h +0 -81
  2677. data/src/core/lib/gprpp/atomic_utils.h +0 -47
  2678. data/src/core/lib/gprpp/bitset.h +0 -225
  2679. data/src/core/lib/gprpp/chunked_vector.h +0 -257
  2680. data/src/core/lib/gprpp/construct_destruct.h +0 -40
  2681. data/src/core/lib/gprpp/cpp_impl_of.h +0 -49
  2682. data/src/core/lib/gprpp/crash.cc +0 -41
  2683. data/src/core/lib/gprpp/crash.h +0 -37
  2684. data/src/core/lib/gprpp/debug_location.h +0 -106
  2685. data/src/core/lib/gprpp/directory_reader.h +0 -48
  2686. data/src/core/lib/gprpp/down_cast.h +0 -48
  2687. data/src/core/lib/gprpp/dual_ref_counted.h +0 -377
  2688. data/src/core/lib/gprpp/dump_args.cc +0 -54
  2689. data/src/core/lib/gprpp/dump_args.h +0 -117
  2690. data/src/core/lib/gprpp/env.h +0 -53
  2691. data/src/core/lib/gprpp/examine_stack.cc +0 -43
  2692. data/src/core/lib/gprpp/examine_stack.h +0 -45
  2693. data/src/core/lib/gprpp/fork.cc +0 -241
  2694. data/src/core/lib/gprpp/fork.h +0 -98
  2695. data/src/core/lib/gprpp/glob.h +0 -29
  2696. data/src/core/lib/gprpp/host_port.cc +0 -115
  2697. data/src/core/lib/gprpp/host_port.h +0 -57
  2698. data/src/core/lib/gprpp/if_list.h +0 -4530
  2699. data/src/core/lib/gprpp/linux/env.cc +0 -62
  2700. data/src/core/lib/gprpp/load_file.cc +0 -76
  2701. data/src/core/lib/gprpp/load_file.h +0 -34
  2702. data/src/core/lib/gprpp/manual_constructor.h +0 -146
  2703. data/src/core/lib/gprpp/match.h +0 -75
  2704. data/src/core/lib/gprpp/memory.h +0 -52
  2705. data/src/core/lib/gprpp/mpscq.cc +0 -108
  2706. data/src/core/lib/gprpp/mpscq.h +0 -99
  2707. data/src/core/lib/gprpp/no_destruct.h +0 -95
  2708. data/src/core/lib/gprpp/notification.h +0 -67
  2709. data/src/core/lib/gprpp/orphanable.h +0 -153
  2710. data/src/core/lib/gprpp/overload.h +0 -59
  2711. data/src/core/lib/gprpp/packed_table.h +0 -40
  2712. data/src/core/lib/gprpp/per_cpu.cc +0 -34
  2713. data/src/core/lib/gprpp/per_cpu.h +0 -103
  2714. data/src/core/lib/gprpp/posix/directory_reader.cc +0 -82
  2715. data/src/core/lib/gprpp/posix/env.cc +0 -47
  2716. data/src/core/lib/gprpp/posix/stat.cc +0 -55
  2717. data/src/core/lib/gprpp/posix/thd.cc +0 -246
  2718. data/src/core/lib/gprpp/ref_counted.h +0 -403
  2719. data/src/core/lib/gprpp/ref_counted_ptr.h +0 -445
  2720. data/src/core/lib/gprpp/ref_counted_string.cc +0 -43
  2721. data/src/core/lib/gprpp/ref_counted_string.h +0 -161
  2722. data/src/core/lib/gprpp/single_set_ptr.h +0 -89
  2723. data/src/core/lib/gprpp/sorted_pack.h +0 -89
  2724. data/src/core/lib/gprpp/stat.h +0 -36
  2725. data/src/core/lib/gprpp/status_helper.cc +0 -433
  2726. data/src/core/lib/gprpp/status_helper.h +0 -162
  2727. data/src/core/lib/gprpp/strerror.cc +0 -41
  2728. data/src/core/lib/gprpp/strerror.h +0 -29
  2729. data/src/core/lib/gprpp/sync.h +0 -199
  2730. data/src/core/lib/gprpp/table.h +0 -488
  2731. data/src/core/lib/gprpp/tchar.cc +0 -49
  2732. data/src/core/lib/gprpp/tchar.h +0 -33
  2733. data/src/core/lib/gprpp/thd.h +0 -194
  2734. data/src/core/lib/gprpp/time.cc +0 -241
  2735. data/src/core/lib/gprpp/time.h +0 -379
  2736. data/src/core/lib/gprpp/time_averaged_stats.cc +0 -60
  2737. data/src/core/lib/gprpp/time_averaged_stats.h +0 -79
  2738. data/src/core/lib/gprpp/time_util.cc +0 -81
  2739. data/src/core/lib/gprpp/time_util.h +0 -41
  2740. data/src/core/lib/gprpp/type_list.h +0 -32
  2741. data/src/core/lib/gprpp/unique_type_name.h +0 -124
  2742. data/src/core/lib/gprpp/uuid_v4.cc +0 -37
  2743. data/src/core/lib/gprpp/uuid_v4.h +0 -36
  2744. data/src/core/lib/gprpp/validation_errors.cc +0 -74
  2745. data/src/core/lib/gprpp/validation_errors.h +0 -145
  2746. data/src/core/lib/gprpp/windows/directory_reader.cc +0 -79
  2747. data/src/core/lib/gprpp/windows/env.cc +0 -56
  2748. data/src/core/lib/gprpp/windows/stat.cc +0 -51
  2749. data/src/core/lib/gprpp/windows/thd.cc +0 -184
  2750. data/src/core/lib/gprpp/work_serializer.cc +0 -543
  2751. data/src/core/lib/gprpp/work_serializer.h +0 -106
  2752. data/src/core/lib/gprpp/xxhash_inline.h +0 -29
  2753. data/src/core/lib/iomgr/gethostname.h +0 -26
  2754. data/src/core/lib/iomgr/gethostname_fallback.cc +0 -30
  2755. data/src/core/lib/iomgr/gethostname_host_name_max.cc +0 -40
  2756. data/src/core/lib/iomgr/gethostname_sysconf.cc +0 -40
  2757. data/src/core/lib/iomgr/grpc_if_nametoindex.h +0 -30
  2758. data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +0 -42
  2759. data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +0 -37
  2760. data/src/core/lib/matchers/matchers.cc +0 -330
  2761. data/src/core/lib/matchers/matchers.h +0 -163
  2762. data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +0 -70
  2763. data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +0 -50
  2764. data/src/core/lib/security/certificate_provider/certificate_provider_registry.h +0 -76
  2765. data/src/core/lib/security/context/security_context.cc +0 -333
  2766. data/src/core/lib/security/context/security_context.h +0 -204
  2767. data/src/core/lib/security/credentials/alts/alts_credentials.cc +0 -116
  2768. data/src/core/lib/security/credentials/alts/alts_credentials.h +0 -123
  2769. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +0 -72
  2770. data/src/core/lib/security/credentials/alts/check_gcp_environment.h +0 -57
  2771. data/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc +0 -68
  2772. data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +0 -33
  2773. data/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +0 -102
  2774. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +0 -124
  2775. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +0 -45
  2776. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h +0 -74
  2777. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc +0 -55
  2778. data/src/core/lib/security/credentials/call_creds_util.cc +0 -96
  2779. data/src/core/lib/security/credentials/call_creds_util.h +0 -43
  2780. data/src/core/lib/security/credentials/channel_creds_registry.h +0 -127
  2781. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +0 -242
  2782. data/src/core/lib/security/credentials/composite/composite_credentials.cc +0 -169
  2783. data/src/core/lib/security/credentials/composite/composite_credentials.h +0 -135
  2784. data/src/core/lib/security/credentials/credentials.cc +0 -163
  2785. data/src/core/lib/security/credentials/credentials.h +0 -299
  2786. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +0 -531
  2787. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +0 -116
  2788. data/src/core/lib/security/credentials/external/aws_request_signer.cc +0 -231
  2789. data/src/core/lib/security/credentials/external/aws_request_signer.h +0 -72
  2790. data/src/core/lib/security/credentials/external/external_account_credentials.cc +0 -644
  2791. data/src/core/lib/security/credentials/external/external_account_credentials.h +0 -209
  2792. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +0 -176
  2793. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +0 -79
  2794. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +0 -223
  2795. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +0 -72
  2796. data/src/core/lib/security/credentials/fake/fake_credentials.cc +0 -105
  2797. data/src/core/lib/security/credentials/fake/fake_credentials.h +0 -125
  2798. data/src/core/lib/security/credentials/gcp_service_account_identity/gcp_service_account_identity_credentials.cc +0 -196
  2799. data/src/core/lib/security/credentials/gcp_service_account_identity/gcp_service_account_identity_credentials.h +0 -90
  2800. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +0 -39
  2801. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +0 -433
  2802. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +0 -99
  2803. data/src/core/lib/security/credentials/iam/iam_credentials.cc +0 -80
  2804. data/src/core/lib/security/credentials/iam/iam_credentials.h +0 -67
  2805. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +0 -71
  2806. data/src/core/lib/security/credentials/insecure/insecure_credentials.h +0 -61
  2807. data/src/core/lib/security/credentials/jwt/json_token.cc +0 -321
  2808. data/src/core/lib/security/credentials/jwt/json_token.h +0 -79
  2809. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +0 -184
  2810. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +0 -108
  2811. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +0 -991
  2812. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +0 -123
  2813. data/src/core/lib/security/credentials/local/local_credentials.cc +0 -68
  2814. data/src/core/lib/security/credentials/local/local_credentials.h +0 -77
  2815. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +0 -655
  2816. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +0 -198
  2817. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +0 -203
  2818. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +0 -125
  2819. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +0 -476
  2820. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +0 -146
  2821. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +0 -338
  2822. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +0 -216
  2823. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_match.cc +0 -86
  2824. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +0 -412
  2825. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +0 -204
  2826. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +0 -239
  2827. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +0 -170
  2828. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +0 -162
  2829. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +0 -145
  2830. data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.cc +0 -260
  2831. data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.h +0 -132
  2832. data/src/core/lib/security/credentials/tls/tls_credentials.cc +0 -171
  2833. data/src/core/lib/security/credentials/tls/tls_credentials.h +0 -73
  2834. data/src/core/lib/security/credentials/tls/tls_utils.cc +0 -128
  2835. data/src/core/lib/security/credentials/tls/tls_utils.h +0 -50
  2836. data/src/core/lib/security/credentials/token_fetcher/token_fetcher_credentials.cc +0 -298
  2837. data/src/core/lib/security/credentials/token_fetcher/token_fetcher_credentials.h +0 -176
  2838. data/src/core/lib/security/credentials/xds/xds_credentials.cc +0 -231
  2839. data/src/core/lib/security/credentials/xds/xds_credentials.h +0 -112
  2840. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +0 -305
  2841. data/src/core/lib/security/security_connector/alts/alts_security_connector.h +0 -78
  2842. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +0 -316
  2843. data/src/core/lib/security/security_connector/fake/fake_security_connector.h +0 -42
  2844. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +0 -120
  2845. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +0 -103
  2846. data/src/core/lib/security/security_connector/load_system_roots.h +0 -35
  2847. data/src/core/lib/security/security_connector/load_system_roots_fallback.cc +0 -36
  2848. data/src/core/lib/security/security_connector/load_system_roots_supported.cc +0 -167
  2849. data/src/core/lib/security/security_connector/load_system_roots_supported.h +0 -44
  2850. data/src/core/lib/security/security_connector/load_system_roots_windows.cc +0 -86
  2851. data/src/core/lib/security/security_connector/local/local_security_connector.cc +0 -302
  2852. data/src/core/lib/security/security_connector/local/local_security_connector.h +0 -62
  2853. data/src/core/lib/security/security_connector/security_connector.cc +0 -125
  2854. data/src/core/lib/security/security_connector/security_connector.h +0 -198
  2855. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +0 -405
  2856. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +0 -82
  2857. data/src/core/lib/security/security_connector/ssl_utils.cc +0 -630
  2858. data/src/core/lib/security/security_connector/ssl_utils.h +0 -190
  2859. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +0 -818
  2860. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +0 -286
  2861. data/src/core/lib/security/transport/auth_filters.h +0 -145
  2862. data/src/core/lib/security/transport/client_auth_filter.cc +0 -221
  2863. data/src/core/lib/security/transport/server_auth_filter.cc +0 -216
  2864. data/src/core/lib/security/util/json_util.cc +0 -70
  2865. data/src/core/lib/security/util/json_util.h +0 -43
  2866. data/src/core/lib/surface/client_call.cc +0 -429
  2867. data/src/core/lib/surface/client_call.h +0 -179
  2868. data/src/core/lib/surface/server_call.cc +0 -223
  2869. data/src/core/lib/surface/server_call.h +0 -168
  2870. data/src/core/lib/transport/call_arena_allocator.cc +0 -27
  2871. data/src/core/lib/transport/call_arena_allocator.h +0 -92
  2872. data/src/core/lib/transport/call_destination.h +0 -76
  2873. data/src/core/lib/transport/call_filters.cc +0 -254
  2874. data/src/core/lib/transport/call_filters.h +0 -1532
  2875. data/src/core/lib/transport/call_spine.cc +0 -132
  2876. data/src/core/lib/transport/call_spine.h +0 -418
  2877. data/src/core/lib/transport/call_state.cc +0 -39
  2878. data/src/core/lib/transport/call_state.h +0 -957
  2879. data/src/core/lib/transport/custom_metadata.h +0 -30
  2880. data/src/core/lib/transport/http2_errors.h +0 -41
  2881. data/src/core/lib/transport/interception_chain.cc +0 -147
  2882. data/src/core/lib/transport/interception_chain.h +0 -244
  2883. data/src/core/lib/transport/message.cc +0 -44
  2884. data/src/core/lib/transport/message.h +0 -61
  2885. data/src/core/lib/transport/metadata.cc +0 -61
  2886. data/src/core/lib/transport/metadata.h +0 -113
  2887. data/src/core/lib/transport/metadata_batch.cc +0 -376
  2888. data/src/core/lib/transport/metadata_batch.h +0 -1601
  2889. data/src/core/lib/transport/metadata_compression_traits.h +0 -67
  2890. data/src/core/lib/transport/metadata_info.cc +0 -55
  2891. data/src/core/lib/transport/metadata_info.h +0 -85
  2892. data/src/core/lib/transport/parsed_metadata.cc +0 -35
  2893. data/src/core/lib/transport/parsed_metadata.h +0 -431
  2894. data/src/core/lib/transport/simple_slice_based_metadata.h +0 -54
  2895. data/src/core/lib/uri/uri_parser.cc +0 -371
  2896. data/src/core/lib/uri/uri_parser.h +0 -101
  2897. data/src/core/resolver/binder/binder_resolver.cc +0 -153
  2898. data/src/core/util/atm.cc +0 -35
  2899. data/src/core/xds/xds_client/xds_client_stats.cc +0 -164
  2900. data/src/core/xds/xds_client/xds_client_stats.h +0 -258
  2901. data/third_party/abseil-cpp/absl/strings/internal/has_absl_stringify.h +0 -44
  2902. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +0 -284
  2903. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +0 -95
  2904. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c +0 -89
  2905. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.c +0 -84
  2906. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c +0 -151
  2907. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.c +0 -85
  2908. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c +0 -465
  2909. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +0 -279
  2910. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +0 -235
  2911. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.c +0 -74
  2912. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.c +0 -457
  2913. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +0 -245
  2914. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +0 -259
  2915. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +0 -214
  2916. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +0 -183
  2917. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +0 -397
  2918. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.c +0 -103
  2919. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +0 -98
  2920. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c +0 -105
  2921. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c +0 -94
  2922. data/third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.c +0 -241
  2923. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +0 -973
  2924. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +0 -708
  2925. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +0 -212
  2926. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c +0 -317
  2927. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c +0 -126
  2928. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c +0 -268
  2929. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +0 -479
  2930. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +0 -726
  2931. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +0 -309
  2932. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.c +0 -544
  2933. data/third_party/boringssl-with-bazel/src/crypto/bio/errno.c +0 -92
  2934. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +0 -235
  2935. data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +0 -334
  2936. data/third_party/boringssl-with-bazel/src/crypto/bio/hexdump.c +0 -192
  2937. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.c +0 -480
  2938. data/third_party/boringssl-with-bazel/src/crypto/bio/printf.c +0 -102
  2939. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.c +0 -189
  2940. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +0 -133
  2941. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +0 -169
  2942. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/bn_asn1.c +0 -57
  2943. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/convert.c +0 -465
  2944. data/third_party/boringssl-with-bazel/src/crypto/buf/buf.c +0 -158
  2945. data/third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.c +0 -53
  2946. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c +0 -266
  2947. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.c +0 -718
  2948. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +0 -911
  2949. data/third_party/boringssl-with-bazel/src/crypto/bytestring/unicode.c +0 -156
  2950. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +0 -224
  2951. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/cipher_extra.c +0 -127
  2952. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/derive_key.c +0 -152
  2953. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesctrhmac.c +0 -284
  2954. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesgcmsiv.c +0 -841
  2955. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c +0 -348
  2956. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_des.c +0 -228
  2957. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.c +0 -90
  2958. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc2.c +0 -455
  2959. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.c +0 -94
  2960. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +0 -598
  2961. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +0 -280
  2962. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +0 -514
  2963. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +0 -672
  2964. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.c +0 -75
  2965. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.c +0 -55
  2966. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.c +0 -62
  2967. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.c +0 -61
  2968. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_sysreg.c +0 -93
  2969. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.c +0 -41
  2970. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c +0 -54
  2971. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.c +0 -151
  2972. data/third_party/boringssl-with-bazel/src/crypto/cpu_intel.c +0 -326
  2973. data/third_party/boringssl-with-bazel/src/crypto/crypto.c +0 -188
  2974. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +0 -2157
  2975. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_64_adx.c +0 -18
  2976. data/third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c +0 -523
  2977. data/third_party/boringssl-with-bazel/src/crypto/des/des.c +0 -871
  2978. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c +0 -165
  2979. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c +0 -480
  2980. data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +0 -266
  2981. data/third_party/boringssl-with-bazel/src/crypto/dilithium/dilithium.c +0 -1539
  2982. data/third_party/boringssl-with-bazel/src/crypto/dilithium/internal.h +0 -58
  2983. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +0 -997
  2984. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +0 -419
  2985. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +0 -572
  2986. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_derive.c +0 -96
  2987. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +0 -508
  2988. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +0 -78
  2989. data/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/ecdh_extra.c +0 -124
  2990. data/third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/ecdsa_asn1.c +0 -411
  2991. data/third_party/boringssl-with-bazel/src/crypto/engine/engine.c +0 -91
  2992. data/third_party/boringssl-with-bazel/src/crypto/err/err.c +0 -903
  2993. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +0 -430
  2994. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +0 -547
  2995. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c +0 -483
  2996. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh.c +0 -137
  2997. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh_asn1.c +0 -120
  2998. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c +0 -338
  2999. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c +0 -274
  3000. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c +0 -332
  3001. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.c +0 -100
  3002. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.c +0 -224
  3003. data/third_party/boringssl-with-bazel/src/crypto/evp/p_hkdf.c +0 -232
  3004. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c +0 -646
  3005. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.c +0 -241
  3006. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.c +0 -106
  3007. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.c +0 -236
  3008. data/third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.c +0 -146
  3009. data/third_party/boringssl-with-bazel/src/crypto/evp/print.c +0 -381
  3010. data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.c +0 -209
  3011. data/third_party/boringssl-with-bazel/src/crypto/evp/sign.c +0 -156
  3012. data/third_party/boringssl-with-bazel/src/crypto/ex_data.c +0 -236
  3013. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.c.inc +0 -127
  3014. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.c.inc +0 -1281
  3015. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.c.inc +0 -242
  3016. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.c.inc +0 -124
  3017. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +0 -279
  3018. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/add.c.inc +0 -310
  3019. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/asm/x86_64-gcc.c.inc +0 -541
  3020. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.c.inc +0 -428
  3021. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bytes.c.inc +0 -267
  3022. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/cmp.c.inc +0 -201
  3023. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/ctx.c.inc +0 -234
  3024. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c.inc +0 -876
  3025. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.c.inc +0 -87
  3026. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c.inc +0 -1320
  3027. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.c.inc +0 -397
  3028. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.c.inc +0 -331
  3029. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/generic.c.inc +0 -624
  3030. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/jacobi.c.inc +0 -146
  3031. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.c.inc +0 -532
  3032. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.c.inc +0 -222
  3033. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.c.inc +0 -744
  3034. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.c.inc +0 -1077
  3035. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.c.inc +0 -354
  3036. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.c.inc +0 -137
  3037. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.c.inc +0 -363
  3038. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.c.inc +0 -499
  3039. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/aead.c.inc +0 -287
  3040. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c.inc +0 -717
  3041. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c.inc +0 -1464
  3042. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aesccm.c.inc +0 -446
  3043. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cmac/cmac.c.inc +0 -322
  3044. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.c.inc +0 -245
  3045. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.c.inc +0 -489
  3046. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c.inc +0 -288
  3047. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c.inc +0 -304
  3048. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digestsign/digestsign.c.inc +0 -267
  3049. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c.inc +0 -1043
  3050. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c.inc +0 -561
  3051. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c.inc +0 -491
  3052. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.c.inc +0 -104
  3053. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c.inc +0 -359
  3054. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c.inc +0 -1163
  3055. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.c.inc +0 -734
  3056. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c.inc +0 -749
  3057. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c.inc +0 -173
  3058. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.c.inc +0 -336
  3059. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c.inc +0 -269
  3060. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/util.c.inc +0 -255
  3061. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c.inc +0 -264
  3062. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.c.inc +0 -130
  3063. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c.inc +0 -317
  3064. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c +0 -29
  3065. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/hkdf.c.inc +0 -112
  3066. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.c.inc +0 -256
  3067. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c.inc +0 -240
  3068. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/internal.h +0 -37
  3069. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c.inc +0 -284
  3070. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c.inc +0 -164
  3071. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c.inc +0 -200
  3072. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c.inc +0 -196
  3073. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c.inc +0 -743
  3074. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.c.inc +0 -302
  3075. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +0 -428
  3076. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c.inc +0 -87
  3077. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/polyval.c.inc +0 -90
  3078. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/ctrdrbg.c.inc +0 -220
  3079. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c.inc +0 -479
  3080. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.c.inc +0 -241
  3081. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.c.inc +0 -420
  3082. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c.inc +0 -1038
  3083. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c.inc +0 -1351
  3084. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c.inc +0 -121
  3085. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c.inc +0 -1038
  3086. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.c.inc +0 -328
  3087. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c.inc +0 -439
  3088. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c.inc +0 -359
  3089. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c.inc +0 -543
  3090. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.c.inc +0 -218
  3091. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +0 -1092
  3092. data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c +0 -2234
  3093. data/third_party/boringssl-with-bazel/src/crypto/keccak/internal.h +0 -70
  3094. data/third_party/boringssl-with-bazel/src/crypto/keccak/keccak.c +0 -279
  3095. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +0 -845
  3096. data/third_party/boringssl-with-bazel/src/crypto/lhash/lhash.c +0 -350
  3097. data/third_party/boringssl-with-bazel/src/crypto/mem.c +0 -613
  3098. data/third_party/boringssl-with-bazel/src/crypto/mldsa/internal.h +0 -73
  3099. data/third_party/boringssl-with-bazel/src/crypto/mldsa/mldsa.c +0 -1687
  3100. data/third_party/boringssl-with-bazel/src/crypto/mlkem/internal.h +0 -90
  3101. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +0 -564
  3102. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_xref.c +0 -122
  3103. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.c +0 -243
  3104. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.c +0 -294
  3105. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +0 -789
  3106. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.c +0 -87
  3107. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c +0 -250
  3108. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c +0 -183
  3109. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_x509.c +0 -64
  3110. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_xaux.c +0 -64
  3111. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.c +0 -193
  3112. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +0 -523
  3113. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.c +0 -316
  3114. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +0 -527
  3115. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +0 -1352
  3116. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c +0 -314
  3117. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.c +0 -308
  3118. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.c +0 -847
  3119. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.c +0 -261
  3120. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c +0 -65
  3121. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/fork_detect.c +0 -195
  3122. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c +0 -44
  3123. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/getentropy.c +0 -60
  3124. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/getrandom_fillin.h +0 -64
  3125. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/ios.c +0 -42
  3126. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c +0 -174
  3127. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +0 -77
  3128. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/sysrand_internal.h +0 -37
  3129. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/trusty.c +0 -46
  3130. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/urandom.c +0 -328
  3131. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c +0 -102
  3132. data/third_party/boringssl-with-bazel/src/crypto/rc4/rc4.c +0 -98
  3133. data/third_party/boringssl-with-bazel/src/crypto/refcount.c +0 -59
  3134. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/internal.h +0 -79
  3135. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_asn1.c +0 -324
  3136. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_crypt.c +0 -570
  3137. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_print.c +0 -22
  3138. data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c +0 -79
  3139. data/third_party/boringssl-with-bazel/src/crypto/spx/address.c +0 -101
  3140. data/third_party/boringssl-with-bazel/src/crypto/spx/address.h +0 -50
  3141. data/third_party/boringssl-with-bazel/src/crypto/spx/fors.c +0 -133
  3142. data/third_party/boringssl-with-bazel/src/crypto/spx/fors.h +0 -54
  3143. data/third_party/boringssl-with-bazel/src/crypto/spx/merkle.c +0 -150
  3144. data/third_party/boringssl-with-bazel/src/crypto/spx/merkle.h +0 -61
  3145. data/third_party/boringssl-with-bazel/src/crypto/spx/params.h +0 -71
  3146. data/third_party/boringssl-with-bazel/src/crypto/spx/spx.c +0 -140
  3147. data/third_party/boringssl-with-bazel/src/crypto/spx/spx_util.c +0 -53
  3148. data/third_party/boringssl-with-bazel/src/crypto/spx/spx_util.h +0 -44
  3149. data/third_party/boringssl-with-bazel/src/crypto/spx/thash.c +0 -136
  3150. data/third_party/boringssl-with-bazel/src/crypto/spx/thash.h +0 -70
  3151. data/third_party/boringssl-with-bazel/src/crypto/spx/wots.c +0 -135
  3152. data/third_party/boringssl-with-bazel/src/crypto/spx/wots.h +0 -45
  3153. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +0 -534
  3154. data/third_party/boringssl-with-bazel/src/crypto/thread.c +0 -110
  3155. data/third_party/boringssl-with-bazel/src/crypto/thread_none.c +0 -51
  3156. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +0 -150
  3157. data/third_party/boringssl-with-bazel/src/crypto/thread_win.c +0 -236
  3158. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +0 -1668
  3159. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +0 -687
  3160. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +0 -1267
  3161. data/third_party/boringssl-with-bazel/src/crypto/x509/a_digest.c +0 -94
  3162. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.c +0 -136
  3163. data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.c +0 -116
  3164. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +0 -178
  3165. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +0 -585
  3166. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +0 -400
  3167. data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.c +0 -269
  3168. data/third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.c +0 -79
  3169. data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.c +0 -227
  3170. data/third_party/boringssl-with-bazel/src/crypto/x509/policy.c +0 -786
  3171. data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c +0 -401
  3172. data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c +0 -145
  3173. data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +0 -245
  3174. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +0 -329
  3175. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.c +0 -121
  3176. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akey.c +0 -221
  3177. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akeya.c +0 -73
  3178. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_alt.c +0 -634
  3179. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bcons.c +0 -135
  3180. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bitst.c +0 -141
  3181. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_conf.c +0 -416
  3182. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_cpols.c +0 -482
  3183. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_crld.c +0 -598
  3184. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_enum.c +0 -112
  3185. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_extku.c +0 -154
  3186. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_genn.c +0 -270
  3187. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ia5.c +0 -122
  3188. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_info.c +0 -211
  3189. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_int.c +0 -121
  3190. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_lib.c +0 -344
  3191. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ncons.c +0 -555
  3192. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ocsp.c +0 -81
  3193. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pcons.c +0 -142
  3194. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pmaps.c +0 -150
  3195. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_prn.c +0 -224
  3196. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_purp.c +0 -624
  3197. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_skey.c +0 -170
  3198. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_utl.c +0 -1390
  3199. data/third_party/boringssl-with-bazel/src/crypto/x509/x509.c +0 -89
  3200. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +0 -227
  3201. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +0 -280
  3202. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.c +0 -108
  3203. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_def.c +0 -86
  3204. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c +0 -181
  3205. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +0 -599
  3206. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c +0 -206
  3207. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +0 -299
  3208. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +0 -240
  3209. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +0 -160
  3210. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.c +0 -189
  3211. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +0 -291
  3212. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +0 -1638
  3213. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +0 -440
  3214. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +0 -277
  3215. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +0 -407
  3216. data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.c +0 -109
  3217. data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.c +0 -133
  3218. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +0 -149
  3219. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c +0 -356
  3220. data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +0 -97
  3221. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +0 -384
  3222. data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.c +0 -78
  3223. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +0 -527
  3224. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +0 -210
  3225. data/third_party/boringssl-with-bazel/src/crypto/x509/x_req.c +0 -116
  3226. data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c +0 -93
  3227. data/third_party/boringssl-with-bazel/src/crypto/x509/x_spki.c +0 -79
  3228. data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +0 -70
  3229. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +0 -544
  3230. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +0 -209
  3231. data/third_party/boringssl-with-bazel/src/gen/crypto/err_data.c +0 -1514
  3232. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/dilithium.h +0 -129
  3233. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/spx.h +0 -90
  3234. data/third_party/upb/upb/message/internal/compare_unknown.c +0 -289
  3235. data/third_party/upb/upb/message/internal/compare_unknown.h +0 -49
  3236. /data/src/core/{lib/gprpp → util}/glob.cc +0 -0
@@ -1,1601 +0,0 @@
1
- //
2
- //
3
- // Copyright 2015 gRPC authors.
4
- //
5
- // Licensed under the Apache License, Version 2.0 (the "License");
6
- // you may not use this file except in compliance with the License.
7
- // You may obtain a copy of the License at
8
- //
9
- // http://www.apache.org/licenses/LICENSE-2.0
10
- //
11
- // Unless required by applicable law or agreed to in writing, software
12
- // distributed under the License is distributed on an "AS IS" BASIS,
13
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- // See the License for the specific language governing permissions and
15
- // limitations under the License.
16
- //
17
- //
18
-
19
- #ifndef GRPC_SRC_CORE_LIB_TRANSPORT_METADATA_BATCH_H
20
- #define GRPC_SRC_CORE_LIB_TRANSPORT_METADATA_BATCH_H
21
-
22
- #include <stdlib.h>
23
-
24
- #include <cstdint>
25
- #include <string>
26
- #include <type_traits>
27
- #include <utility>
28
-
29
- #include "absl/container/inlined_vector.h"
30
- #include "absl/functional/function_ref.h"
31
- #include "absl/log/check.h"
32
- #include "absl/meta/type_traits.h"
33
- #include "absl/strings/numbers.h"
34
- #include "absl/strings/string_view.h"
35
- #include "absl/types/optional.h"
36
-
37
- #include <grpc/impl/compression_types.h>
38
- #include <grpc/status.h>
39
- #include <grpc/support/port_platform.h>
40
-
41
- #include "src/core/lib/compression/compression_internal.h"
42
- #include "src/core/lib/experiments/experiments.h"
43
- #include "src/core/lib/gprpp/chunked_vector.h"
44
- #include "src/core/lib/gprpp/if_list.h"
45
- #include "src/core/lib/gprpp/packed_table.h"
46
- #include "src/core/lib/gprpp/time.h"
47
- #include "src/core/lib/gprpp/type_list.h"
48
- #include "src/core/lib/promise/poll.h"
49
- #include "src/core/lib/slice/slice.h"
50
- #include "src/core/lib/transport/custom_metadata.h"
51
- #include "src/core/lib/transport/metadata_compression_traits.h"
52
- #include "src/core/lib/transport/parsed_metadata.h"
53
- #include "src/core/lib/transport/simple_slice_based_metadata.h"
54
-
55
- namespace grpc_core {
56
-
57
- ///////////////////////////////////////////////////////////////////////////////
58
- // Metadata traits
59
-
60
- // Given a metadata key and a value, return the encoded size.
61
- // Defaults to calling the key's Encode() method and then calculating the size
62
- // of that, but can be overridden for specific keys if there's a better way of
63
- // doing this.
64
- // May return 0 if the size is unknown/unknowable.
65
- template <typename Key>
66
- size_t EncodedSizeOfKey(Key, const typename Key::ValueType& value) {
67
- return Key::Encode(value).size();
68
- }
69
-
70
- // grpc-timeout metadata trait.
71
- // ValueType is defined as Timestamp - an absolute timestamp (i.e. a
72
- // deadline!), that is converted to a duration by transports before being
73
- // sent.
74
- // TODO(ctiller): Move this elsewhere. During the transition we need to be able
75
- // to name this in MetadataMap, but ultimately once the transition is done we
76
- // should not need to.
77
- struct GrpcTimeoutMetadata {
78
- static constexpr bool kRepeatable = false;
79
- static constexpr bool kTransferOnTrailersOnly = false;
80
- using ValueType = Timestamp;
81
- using MementoType = Duration;
82
- using CompressionTraits = TimeoutCompressor;
83
- static absl::string_view key() { return "grpc-timeout"; }
84
- static MementoType ParseMemento(Slice value,
85
- bool will_keep_past_request_lifetime,
86
- MetadataParseErrorFn on_error);
87
- static ValueType MementoToValue(MementoType timeout);
88
- static Slice Encode(ValueType x);
89
- static std::string DisplayValue(ValueType x) { return x.ToString(); }
90
- static std::string DisplayMemento(MementoType x) { return x.ToString(); }
91
- };
92
-
93
- // TE metadata trait.
94
- struct TeMetadata {
95
- static constexpr bool kRepeatable = false;
96
- static constexpr bool kTransferOnTrailersOnly = false;
97
- // HTTP2 says that TE can either be empty or "trailers".
98
- // Empty means this trait is not included, "trailers" means kTrailers, and
99
- // kInvalid is used to remember an invalid value.
100
- enum ValueType : uint8_t {
101
- kTrailers,
102
- kInvalid,
103
- };
104
- using MementoType = ValueType;
105
- using CompressionTraits = KnownValueCompressor<ValueType, kTrailers>;
106
- static absl::string_view key() { return "te"; }
107
- static MementoType ParseMemento(Slice value,
108
- bool will_keep_past_request_lifetime,
109
- MetadataParseErrorFn on_error);
110
- static ValueType MementoToValue(MementoType te) { return te; }
111
- static StaticSlice Encode(ValueType x) {
112
- CHECK(x == kTrailers);
113
- return StaticSlice::FromStaticString("trailers");
114
- }
115
- static const char* DisplayValue(ValueType te);
116
- static const char* DisplayMemento(MementoType te) { return DisplayValue(te); }
117
- };
118
-
119
- inline size_t EncodedSizeOfKey(TeMetadata, TeMetadata::ValueType x) {
120
- return x == TeMetadata::kTrailers ? 8 : 0;
121
- }
122
-
123
- // content-type metadata trait.
124
- struct ContentTypeMetadata {
125
- static constexpr bool kRepeatable = false;
126
- static constexpr bool kTransferOnTrailersOnly = true;
127
- // gRPC says that content-type can be application/grpc[;something]
128
- // Core has only ever verified the prefix.
129
- // IF we want to start verifying more, we can expand this type.
130
- enum ValueType : uint8_t {
131
- kApplicationGrpc,
132
- kEmpty,
133
- kInvalid,
134
- };
135
- using MementoType = ValueType;
136
- using CompressionTraits = KnownValueCompressor<ValueType, kApplicationGrpc>;
137
- static absl::string_view key() { return "content-type"; }
138
- static MementoType ParseMemento(Slice value,
139
- bool will_keep_past_request_lifetime,
140
- MetadataParseErrorFn on_error);
141
- static ValueType MementoToValue(MementoType content_type) {
142
- return content_type;
143
- }
144
-
145
- static StaticSlice Encode(ValueType x);
146
- static const char* DisplayValue(ValueType content_type);
147
- static const char* DisplayMemento(ValueType content_type) {
148
- return DisplayValue(content_type);
149
- }
150
- };
151
-
152
- // scheme metadata trait.
153
- struct HttpSchemeMetadata {
154
- static constexpr bool kRepeatable = false;
155
- static constexpr bool kTransferOnTrailersOnly = false;
156
- enum ValueType : uint8_t {
157
- kHttp,
158
- kHttps,
159
- kInvalid,
160
- };
161
- using MementoType = ValueType;
162
- using CompressionTraits = HttpSchemeCompressor;
163
- static absl::string_view key() { return ":scheme"; }
164
- static MementoType ParseMemento(Slice value, bool,
165
- MetadataParseErrorFn on_error) {
166
- return Parse(value.as_string_view(), on_error);
167
- }
168
- static ValueType Parse(absl::string_view value,
169
- MetadataParseErrorFn on_error);
170
- static ValueType MementoToValue(MementoType content_type) {
171
- return content_type;
172
- }
173
- static StaticSlice Encode(ValueType x);
174
- static const char* DisplayValue(ValueType content_type);
175
- static const char* DisplayMemento(MementoType content_type) {
176
- return DisplayValue(content_type);
177
- }
178
- };
179
-
180
- size_t EncodedSizeOfKey(HttpSchemeMetadata, HttpSchemeMetadata::ValueType x);
181
-
182
- // method metadata trait.
183
- struct HttpMethodMetadata {
184
- static constexpr bool kRepeatable = false;
185
- static constexpr bool kTransferOnTrailersOnly = false;
186
- enum ValueType : uint8_t {
187
- kPost,
188
- kGet,
189
- kPut,
190
- kInvalid,
191
- };
192
- using MementoType = ValueType;
193
- using CompressionTraits = HttpMethodCompressor;
194
- static absl::string_view key() { return ":method"; }
195
- static MementoType ParseMemento(Slice value,
196
- bool will_keep_past_request_lifetime,
197
- MetadataParseErrorFn on_error);
198
- static ValueType MementoToValue(MementoType content_type) {
199
- return content_type;
200
- }
201
- static StaticSlice Encode(ValueType x);
202
- static const char* DisplayValue(ValueType content_type);
203
- static const char* DisplayMemento(MementoType content_type) {
204
- return DisplayValue(content_type);
205
- }
206
- };
207
-
208
- // Base type for metadata pertaining to a single compression algorithm
209
- // (e.g., "grpc-encoding").
210
- struct CompressionAlgorithmBasedMetadata {
211
- using ValueType = grpc_compression_algorithm;
212
- using MementoType = ValueType;
213
- static MementoType ParseMemento(Slice value,
214
- bool will_keep_past_request_lifetime,
215
- MetadataParseErrorFn on_error);
216
- static ValueType MementoToValue(MementoType x) { return x; }
217
- static Slice Encode(ValueType x) {
218
- CHECK(x != GRPC_COMPRESS_ALGORITHMS_COUNT);
219
- return Slice::FromStaticString(CompressionAlgorithmAsString(x));
220
- }
221
- static const char* DisplayValue(ValueType x) {
222
- if (const char* p = CompressionAlgorithmAsString(x)) {
223
- return p;
224
- } else {
225
- return "<discarded-invalid-value>";
226
- }
227
- }
228
- static const char* DisplayMemento(MementoType x) { return DisplayValue(x); }
229
- };
230
-
231
- // grpc-encoding metadata trait.
232
- struct GrpcEncodingMetadata : public CompressionAlgorithmBasedMetadata {
233
- static constexpr bool kRepeatable = false;
234
- static constexpr bool kTransferOnTrailersOnly = false;
235
- using CompressionTraits =
236
- SmallIntegralValuesCompressor<GRPC_COMPRESS_ALGORITHMS_COUNT>;
237
- static absl::string_view key() { return "grpc-encoding"; }
238
- };
239
-
240
- // grpc-internal-encoding-request metadata trait.
241
- struct GrpcInternalEncodingRequest : public CompressionAlgorithmBasedMetadata {
242
- static constexpr bool kRepeatable = false;
243
- static constexpr bool kTransferOnTrailersOnly = false;
244
- using CompressionTraits = NoCompressionCompressor;
245
- static absl::string_view key() { return "grpc-internal-encoding-request"; }
246
- };
247
-
248
- // grpc-accept-encoding metadata trait.
249
- struct GrpcAcceptEncodingMetadata {
250
- static constexpr bool kRepeatable = false;
251
- static constexpr bool kTransferOnTrailersOnly = false;
252
- static absl::string_view key() { return "grpc-accept-encoding"; }
253
- using ValueType = CompressionAlgorithmSet;
254
- using MementoType = ValueType;
255
- using CompressionTraits = StableValueCompressor;
256
- static MementoType ParseMemento(Slice value, bool, MetadataParseErrorFn) {
257
- return CompressionAlgorithmSet::FromString(value.as_string_view());
258
- }
259
- static ValueType MementoToValue(MementoType x) { return x; }
260
- static Slice Encode(ValueType x) { return x.ToSlice(); }
261
- static absl::string_view DisplayValue(ValueType x) { return x.ToString(); }
262
- static absl::string_view DisplayMemento(MementoType x) {
263
- return DisplayValue(x);
264
- }
265
- };
266
-
267
- // user-agent metadata trait.
268
- struct UserAgentMetadata : public SimpleSliceBasedMetadata {
269
- static constexpr bool kRepeatable = false;
270
- static constexpr bool kTransferOnTrailersOnly = false;
271
- using CompressionTraits = StableValueCompressor;
272
- static absl::string_view key() { return "user-agent"; }
273
- };
274
-
275
- // grpc-message metadata trait.
276
- struct GrpcMessageMetadata : public SimpleSliceBasedMetadata {
277
- static constexpr bool kRepeatable = false;
278
- static constexpr bool kTransferOnTrailersOnly = false;
279
- using CompressionTraits = NoCompressionCompressor;
280
- static absl::string_view key() { return "grpc-message"; }
281
- };
282
-
283
- // host metadata trait.
284
- struct HostMetadata : public SimpleSliceBasedMetadata {
285
- static constexpr bool kRepeatable = false;
286
- static constexpr bool kTransferOnTrailersOnly = false;
287
- using CompressionTraits = NoCompressionCompressor;
288
- static absl::string_view key() { return "host"; }
289
- };
290
-
291
- // endpoint-load-metrics-bin metadata trait.
292
- struct EndpointLoadMetricsBinMetadata : public SimpleSliceBasedMetadata {
293
- static constexpr bool kRepeatable = false;
294
- static constexpr bool kTransferOnTrailersOnly = false;
295
- using CompressionTraits = NoCompressionCompressor;
296
- static absl::string_view key() { return "endpoint-load-metrics-bin"; }
297
- };
298
-
299
- // grpc-server-stats-bin metadata trait.
300
- struct GrpcServerStatsBinMetadata : public SimpleSliceBasedMetadata {
301
- static constexpr bool kRepeatable = false;
302
- static constexpr bool kTransferOnTrailersOnly = false;
303
- using CompressionTraits = NoCompressionCompressor;
304
- static absl::string_view key() { return "grpc-server-stats-bin"; }
305
- };
306
-
307
- // grpc-trace-bin metadata trait.
308
- struct GrpcTraceBinMetadata : public SimpleSliceBasedMetadata {
309
- static constexpr bool kRepeatable = false;
310
- static constexpr bool kTransferOnTrailersOnly = false;
311
- using CompressionTraits = FrequentKeyWithNoValueCompressionCompressor;
312
- static absl::string_view key() { return "grpc-trace-bin"; }
313
- };
314
-
315
- // grpc-tags-bin metadata trait.
316
- struct GrpcTagsBinMetadata : public SimpleSliceBasedMetadata {
317
- static constexpr bool kRepeatable = false;
318
- static constexpr bool kTransferOnTrailersOnly = false;
319
- using CompressionTraits = FrequentKeyWithNoValueCompressionCompressor;
320
- static absl::string_view key() { return "grpc-tags-bin"; }
321
- };
322
-
323
- // XEnvoyPeerMetadata
324
- struct XEnvoyPeerMetadata : public SimpleSliceBasedMetadata {
325
- static constexpr bool kRepeatable = false;
326
- static constexpr bool kTransferOnTrailersOnly = true;
327
- using CompressionTraits = StableValueCompressor;
328
- static absl::string_view key() { return "x-envoy-peer-metadata"; }
329
- };
330
-
331
- // :authority metadata trait.
332
- struct HttpAuthorityMetadata : public SimpleSliceBasedMetadata {
333
- static constexpr bool kRepeatable = false;
334
- static constexpr bool kTransferOnTrailersOnly = false;
335
- using CompressionTraits = SmallSetOfValuesCompressor;
336
- static absl::string_view key() { return ":authority"; }
337
- };
338
-
339
- // :path metadata trait.
340
- struct HttpPathMetadata : public SimpleSliceBasedMetadata {
341
- static constexpr bool kRepeatable = false;
342
- static constexpr bool kTransferOnTrailersOnly = false;
343
- using CompressionTraits = SmallSetOfValuesCompressor;
344
- static absl::string_view key() { return ":path"; }
345
- };
346
-
347
- // We separate SimpleIntBasedMetadata into two pieces: one that does not
348
- // depend on the invalid value, and one that does. This allows the compiler to
349
- // easily see the functions that are shared, and helps reduce code bloat here.
350
- template <typename Int>
351
- struct SimpleIntBasedMetadataBase {
352
- using ValueType = Int;
353
- using MementoType = Int;
354
- static ValueType MementoToValue(MementoType value) { return value; }
355
- static Slice Encode(ValueType x) { return Slice::FromInt64(x); }
356
- static Int DisplayValue(ValueType x) { return x; }
357
- static Int DisplayMemento(MementoType x) { return x; }
358
- };
359
-
360
- template <typename Int, Int kInvalidValue>
361
- struct SimpleIntBasedMetadata : public SimpleIntBasedMetadataBase<Int> {
362
- static constexpr Int invalid_value() { return kInvalidValue; }
363
- static Int ParseMemento(Slice value, bool, MetadataParseErrorFn on_error) {
364
- Int out;
365
- if (!absl::SimpleAtoi(value.as_string_view(), &out)) {
366
- on_error("not an integer", value);
367
- out = kInvalidValue;
368
- }
369
- return out;
370
- }
371
- };
372
-
373
- // grpc-status metadata trait.
374
- struct GrpcStatusMetadata
375
- : public SimpleIntBasedMetadata<grpc_status_code, GRPC_STATUS_UNKNOWN> {
376
- static constexpr bool kRepeatable = false;
377
- static constexpr bool kTransferOnTrailersOnly = false;
378
- using CompressionTraits = SmallIntegralValuesCompressor<16>;
379
- static absl::string_view key() { return "grpc-status"; }
380
- };
381
-
382
- // grpc-previous-rpc-attempts metadata trait.
383
- struct GrpcPreviousRpcAttemptsMetadata
384
- : public SimpleIntBasedMetadata<uint32_t, 0> {
385
- static constexpr bool kRepeatable = false;
386
- static constexpr bool kTransferOnTrailersOnly = false;
387
- using CompressionTraits = NoCompressionCompressor;
388
- static absl::string_view key() { return "grpc-previous-rpc-attempts"; }
389
- };
390
-
391
- // grpc-retry-pushback-ms metadata trait.
392
- struct GrpcRetryPushbackMsMetadata {
393
- static constexpr bool kRepeatable = false;
394
- static constexpr bool kTransferOnTrailersOnly = false;
395
- static absl::string_view key() { return "grpc-retry-pushback-ms"; }
396
- using ValueType = Duration;
397
- using MementoType = Duration;
398
- using CompressionTraits = NoCompressionCompressor;
399
- static ValueType MementoToValue(MementoType x) { return x; }
400
- static Slice Encode(Duration x) { return Slice::FromInt64(x.millis()); }
401
- static int64_t DisplayValue(Duration x) { return x.millis(); }
402
- static int64_t DisplayMemento(Duration x) { return DisplayValue(x); }
403
- static Duration ParseMemento(Slice value,
404
- bool will_keep_past_request_lifetime,
405
- MetadataParseErrorFn on_error);
406
- };
407
-
408
- // :status metadata trait.
409
- // TODO(ctiller): consider moving to uint16_t
410
- struct HttpStatusMetadata : public SimpleIntBasedMetadata<uint32_t, 0> {
411
- static constexpr bool kRepeatable = false;
412
- static constexpr bool kTransferOnTrailersOnly = true;
413
- using CompressionTraits = HttpStatusCompressor;
414
- static absl::string_view key() { return ":status"; }
415
- };
416
-
417
- // "secret" metadata trait used to pass load balancing token between filters.
418
- // This should not be exposed outside of gRPC core.
419
- class GrpcLbClientStats;
420
-
421
- struct GrpcLbClientStatsMetadata {
422
- static constexpr bool kRepeatable = false;
423
- static constexpr bool kTransferOnTrailersOnly = false;
424
- static absl::string_view key() { return "grpclb_client_stats"; }
425
- using ValueType = GrpcLbClientStats*;
426
- using MementoType = ValueType;
427
- using CompressionTraits = NoCompressionCompressor;
428
- static ValueType MementoToValue(MementoType value) { return value; }
429
- static Slice Encode(ValueType) { abort(); }
430
- static const char* DisplayValue(ValueType) { return "<internal-lb-stats>"; }
431
- static const char* DisplayMemento(MementoType) {
432
- return "<internal-lb-stats>";
433
- }
434
- static MementoType ParseMemento(Slice, bool, MetadataParseErrorFn error) {
435
- error("not a valid value for grpclb_client_stats", Slice());
436
- return nullptr;
437
- }
438
- };
439
-
440
- inline size_t EncodedSizeOfKey(GrpcLbClientStatsMetadata,
441
- GrpcLbClientStatsMetadata::ValueType) {
442
- return 0;
443
- }
444
-
445
- // lb-token metadata
446
- struct LbTokenMetadata : public SimpleSliceBasedMetadata {
447
- static constexpr bool kRepeatable = false;
448
- static constexpr bool kTransferOnTrailersOnly = false;
449
- using CompressionTraits = NoCompressionCompressor;
450
- static absl::string_view key() { return "lb-token"; }
451
- };
452
-
453
- // lb-cost-bin metadata
454
- struct LbCostBinMetadata {
455
- static constexpr bool kRepeatable = true;
456
- static constexpr bool kTransferOnTrailersOnly = false;
457
- static absl::string_view key() { return "lb-cost-bin"; }
458
- struct ValueType {
459
- double cost;
460
- std::string name;
461
- };
462
- using MementoType = ValueType;
463
- using CompressionTraits = NoCompressionCompressor;
464
- static ValueType MementoToValue(MementoType value) { return value; }
465
- static Slice Encode(const ValueType& x);
466
- static std::string DisplayValue(ValueType x);
467
- static std::string DisplayMemento(MementoType x) { return DisplayValue(x); }
468
- static MementoType ParseMemento(Slice value,
469
- bool will_keep_past_request_lifetime,
470
- MetadataParseErrorFn on_error);
471
- };
472
-
473
- // Annotation added by a transport to note whether a failed request was never
474
- // placed on the wire, or never seen by a server.
475
- struct GrpcStreamNetworkState {
476
- static absl::string_view DebugKey() { return "GrpcStreamNetworkState"; }
477
- static constexpr bool kRepeatable = false;
478
- static constexpr bool kTransferOnTrailersOnly = false;
479
- enum ValueType : uint8_t {
480
- kNotSentOnWire,
481
- kNotSeenByServer,
482
- };
483
- static std::string DisplayValue(ValueType x);
484
- };
485
-
486
- // Annotation added by a server transport to note the peer making a request.
487
- struct PeerString {
488
- static absl::string_view DebugKey() { return "PeerString"; }
489
- static constexpr bool kRepeatable = false;
490
- using ValueType = Slice;
491
- static std::string DisplayValue(const ValueType& x);
492
- };
493
-
494
- // Annotation added by various systems to describe the reason for a failure.
495
- struct GrpcStatusContext {
496
- static absl::string_view DebugKey() { return "GrpcStatusContext"; }
497
- static constexpr bool kRepeatable = true;
498
- using ValueType = std::string;
499
- static const std::string& DisplayValue(const std::string& x);
500
- };
501
-
502
- // Annotation added by a transport to note that the status came from the wire.
503
- struct GrpcStatusFromWire {
504
- static absl::string_view DebugKey() { return "GrpcStatusFromWire"; }
505
- static constexpr bool kRepeatable = false;
506
- using ValueType = bool;
507
- static absl::string_view DisplayValue(bool x) { return x ? "true" : "false"; }
508
- };
509
-
510
- // Annotation to denote that this call qualifies for cancelled=1 for the
511
- // RECV_CLOSE_ON_SERVER op
512
- struct GrpcCallWasCancelled {
513
- static absl::string_view DebugKey() { return "GrpcCallWasCancelled"; }
514
- static constexpr bool kRepeatable = false;
515
- using ValueType = bool;
516
- static absl::string_view DisplayValue(bool x) { return x ? "true" : "false"; }
517
- };
518
-
519
- // Annotation added by client surface code to denote wait-for-ready state
520
- struct WaitForReady {
521
- struct ValueType {
522
- bool value = false;
523
- bool explicitly_set = false;
524
- };
525
- static absl::string_view DebugKey() { return "WaitForReady"; }
526
- static constexpr bool kRepeatable = false;
527
- static std::string DisplayValue(ValueType x);
528
- };
529
-
530
- // Annotation added by retry code to indicate a transparent retry.
531
- struct IsTransparentRetry {
532
- static absl::string_view DebugKey() { return "IsTransparentRetry"; }
533
- static constexpr bool kRepeatable = false;
534
- using ValueType = bool;
535
- static std::string DisplayValue(ValueType x) { return x ? "true" : "false"; }
536
- };
537
-
538
- // Annotation added by a transport to note that server trailing metadata
539
- // is a Trailers-Only response.
540
- struct GrpcTrailersOnly {
541
- static absl::string_view DebugKey() { return "GrpcTrailersOnly"; }
542
- static constexpr bool kRepeatable = false;
543
- using ValueType = bool;
544
- static absl::string_view DisplayValue(bool x) { return x ? "true" : "false"; }
545
- };
546
-
547
- // On the client-side, the value is a uintptr_t with a value of 1 if the call
548
- // has a registered/known method, or 0, if it's not known. On the server side,
549
- // the value is a (ChannelRegisteredMethod*).
550
- struct GrpcRegisteredMethod {
551
- static absl::string_view DebugKey() { return "GrpcRegisteredMethod"; }
552
- static constexpr bool kRepeatable = false;
553
- using ValueType = void*;
554
- static std::string DisplayValue(void* x);
555
- };
556
-
557
- // Annotation added by filters to inform the transport to tarpit this
558
- // response: add some random delay to thwart certain kinds of attacks.
559
- struct GrpcTarPit {
560
- static absl::string_view DebugKey() { return "GrpcTarPit"; }
561
- static constexpr bool kRepeatable = false;
562
- using ValueType = Empty;
563
- static absl::string_view DisplayValue(Empty) { return "tarpit"; }
564
- };
565
-
566
- namespace metadata_detail {
567
-
568
- // Build a key/value formatted debug string.
569
- // Output looks like 'key1: value1, key2: value2'
570
- // The string is expected to be readable, but not necessarily parsable.
571
- class DebugStringBuilder {
572
- public:
573
- // Add one key/value pair to the output if it is allow listed.
574
- // Redact only the value if it is not allow listed.
575
- void AddAfterRedaction(absl::string_view key, absl::string_view value);
576
-
577
- // Finalize the output and return the string.
578
- // Subsequent Add calls are UB.
579
- std::string TakeOutput() { return std::move(out_); }
580
-
581
- private:
582
- bool IsAllowListed(absl::string_view key) const;
583
- void Add(absl::string_view key, absl::string_view value);
584
- std::string out_;
585
- };
586
-
587
- // IsEncodable: Given a trait, determine if that trait is encodable, or is
588
- // just a value attached to a MetadataMap. We use the presence of the key()
589
- // static method to determine if a trait is encodable or not - encodable
590
- // traits have string names, and non-encodable traits do not.
591
- template <typename Trait, typename Ignored = void>
592
- struct IsEncodableTrait {
593
- static const bool value = false;
594
- };
595
-
596
- template <typename Trait>
597
- struct IsEncodableTrait<Trait, absl::void_t<decltype(Trait::key())>> {
598
- static const bool value = true;
599
- };
600
-
601
- template <typename MustBeVoid, typename... Traits>
602
- struct EncodableTraits;
603
-
604
- template <typename Trait, typename... Traits>
605
- struct EncodableTraits<absl::enable_if_t<IsEncodableTrait<Trait>::value, void>,
606
- Trait, Traits...> {
607
- using List =
608
- typename EncodableTraits<void,
609
- Traits...>::List::template PushFront<Trait>;
610
- };
611
-
612
- template <typename Trait, typename... Traits>
613
- struct EncodableTraits<absl::enable_if_t<!IsEncodableTrait<Trait>::value, void>,
614
- Trait, Traits...> {
615
- using List = typename EncodableTraits<void, Traits...>::List;
616
- };
617
-
618
- template <>
619
- struct EncodableTraits<void> {
620
- using List = Typelist<>;
621
- };
622
-
623
- template <typename Trait>
624
- struct EncodableNameLookupKeyComparison {
625
- bool operator()(absl::string_view key) { return key == Trait::key(); }
626
- };
627
-
628
- template <typename Trait, typename Op>
629
- struct EncodableNameLookupOnFound {
630
- auto operator()(Op* op) { return op->Found(Trait()); }
631
- };
632
-
633
- template <typename... Traits>
634
- struct EncodableNameLookup {
635
- template <typename Op>
636
- static auto Lookup(absl::string_view key, Op* op) {
637
- return IfList(
638
- key, op, [key](Op* op) { return op->NotFound(key); },
639
- EncodableNameLookupKeyComparison<Traits>()...,
640
- EncodableNameLookupOnFound<Traits, Op>()...);
641
- }
642
- };
643
-
644
- template <typename... Traits>
645
- using NameLookup = typename EncodableTraits<
646
- void, Traits...>::List::template Instantiate<EncodableNameLookup>;
647
-
648
- // Helper to take a slice to a memento to a value.
649
- // By splitting this part out we can scale code size as the number of
650
- // (memento, value) types, rather than as the number of traits.
651
- template <typename ParseMementoFn, typename MementoToValueFn>
652
- struct ParseValue {
653
- template <ParseMementoFn parse_memento, MementoToValueFn memento_to_value>
654
- static GPR_ATTRIBUTE_NOINLINE auto Parse(Slice* value,
655
- MetadataParseErrorFn on_error)
656
- -> decltype(memento_to_value(parse_memento(std::move(*value), false,
657
- on_error))) {
658
- return memento_to_value(parse_memento(std::move(*value), false, on_error));
659
- }
660
- };
661
-
662
- // This is an "Op" type for NameLookup.
663
- // Used for MetadataMap::Parse, its Found/NotFound methods turn a slice into a
664
- // ParsedMetadata object.
665
- template <typename Container>
666
- class ParseHelper {
667
- public:
668
- ParseHelper(Slice value, bool will_keep_past_request_lifetime,
669
- MetadataParseErrorFn on_error, size_t transport_size)
670
- : value_(std::move(value)),
671
- will_keep_past_request_lifetime_(will_keep_past_request_lifetime),
672
- on_error_(on_error),
673
- transport_size_(transport_size) {}
674
-
675
- template <typename Trait>
676
- GPR_ATTRIBUTE_NOINLINE ParsedMetadata<Container> Found(Trait trait) {
677
- return ParsedMetadata<Container>(
678
- trait,
679
- ParseValueToMemento<typename Trait::MementoType, Trait::ParseMemento>(),
680
- static_cast<uint32_t>(transport_size_));
681
- }
682
-
683
- GPR_ATTRIBUTE_NOINLINE ParsedMetadata<Container> NotFound(
684
- absl::string_view key) {
685
- return ParsedMetadata<Container>(
686
- typename ParsedMetadata<Container>::FromSlicePair{},
687
- Slice::FromCopiedString(key),
688
- will_keep_past_request_lifetime_ ? value_.TakeUniquelyOwned()
689
- : std::move(value_),
690
- transport_size_);
691
- }
692
-
693
- private:
694
- template <typename T, T (*parse_memento)(Slice, bool, MetadataParseErrorFn)>
695
- GPR_ATTRIBUTE_NOINLINE T ParseValueToMemento() {
696
- return parse_memento(std::move(value_), will_keep_past_request_lifetime_,
697
- on_error_);
698
- }
699
-
700
- Slice value_;
701
- const bool will_keep_past_request_lifetime_;
702
- MetadataParseErrorFn on_error_;
703
- const size_t transport_size_;
704
- };
705
-
706
- // This is an "Op" type for NameLookup.
707
- // Used for MetadataMap::Append, its Found/NotFound methods turn a slice into
708
- // a value and add it to a container.
709
- template <typename Container>
710
- class AppendHelper {
711
- public:
712
- AppendHelper(Container* container, Slice value, MetadataParseErrorFn on_error)
713
- : container_(container), value_(std::move(value)), on_error_(on_error) {}
714
-
715
- template <typename Trait>
716
- GPR_ATTRIBUTE_NOINLINE void Found(Trait trait) {
717
- container_->Set(
718
- trait, ParseValue<decltype(Trait::ParseMemento),
719
- decltype(Trait::MementoToValue)>::
720
- template Parse<Trait::ParseMemento, Trait::MementoToValue>(
721
- &value_, on_error_));
722
- }
723
-
724
- GPR_ATTRIBUTE_NOINLINE void NotFound(absl::string_view key) {
725
- container_->unknown_.Append(key, std::move(value_));
726
- }
727
-
728
- private:
729
- Container* const container_;
730
- Slice value_;
731
- MetadataParseErrorFn on_error_;
732
- };
733
-
734
- // This is an "Op" type for NameLookup.
735
- // Used for MetadataMap::Remove, its Found/NotFound methods remove a key from
736
- // the container.
737
- template <typename Container>
738
- class RemoveHelper {
739
- public:
740
- explicit RemoveHelper(Container* container) : container_(container) {}
741
-
742
- template <typename Trait>
743
- GPR_ATTRIBUTE_NOINLINE void Found(Trait trait) {
744
- container_->Remove(trait);
745
- }
746
-
747
- GPR_ATTRIBUTE_NOINLINE void NotFound(absl::string_view key) {
748
- container_->unknown_.Remove(key);
749
- }
750
-
751
- private:
752
- Container* const container_;
753
- };
754
-
755
- // This is an "Op" type for NameLookup.
756
- // Used for MetadataMap::GetStringValue, its Found/NotFound methods generated
757
- // a string value from the container.
758
- template <typename Container>
759
- class GetStringValueHelper {
760
- public:
761
- explicit GetStringValueHelper(const Container* container,
762
- std::string* backing)
763
- : container_(container), backing_(backing) {}
764
-
765
- template <typename Trait>
766
- GPR_ATTRIBUTE_NOINLINE absl::enable_if_t<
767
- Trait::kRepeatable == false &&
768
- std::is_same<Slice, typename Trait::ValueType>::value,
769
- absl::optional<absl::string_view>>
770
- Found(Trait) {
771
- const auto* value = container_->get_pointer(Trait());
772
- if (value == nullptr) return absl::nullopt;
773
- return value->as_string_view();
774
- }
775
-
776
- template <typename Trait>
777
- GPR_ATTRIBUTE_NOINLINE absl::enable_if_t<
778
- Trait::kRepeatable == true &&
779
- !std::is_same<Slice, typename Trait::ValueType>::value,
780
- absl::optional<absl::string_view>>
781
- Found(Trait) {
782
- const auto* value = container_->get_pointer(Trait());
783
- if (value == nullptr) return absl::nullopt;
784
- backing_->clear();
785
- for (const auto& v : *value) {
786
- if (!backing_->empty()) backing_->push_back(',');
787
- auto new_segment = Trait::Encode(v);
788
- backing_->append(new_segment.begin(), new_segment.end());
789
- }
790
- return *backing_;
791
- }
792
-
793
- template <typename Trait>
794
- GPR_ATTRIBUTE_NOINLINE absl::enable_if_t<
795
- Trait::kRepeatable == false &&
796
- !std::is_same<Slice, typename Trait::ValueType>::value,
797
- absl::optional<absl::string_view>>
798
- Found(Trait) {
799
- const auto* value = container_->get_pointer(Trait());
800
- if (value == nullptr) return absl::nullopt;
801
- *backing_ = std::string(Trait::Encode(*value).as_string_view());
802
- return *backing_;
803
- }
804
-
805
- GPR_ATTRIBUTE_NOINLINE absl::optional<absl::string_view> NotFound(
806
- absl::string_view key) {
807
- return container_->unknown_.GetStringValue(key, backing_);
808
- }
809
-
810
- private:
811
- const Container* const container_;
812
- std::string* backing_;
813
- };
814
-
815
- // Sink for key value logs
816
- using LogFn = absl::FunctionRef<void(absl::string_view, absl::string_view)>;
817
-
818
- template <typename T>
819
- struct AdaptDisplayValueToLog {
820
- static std::string ToString(const T& value) { return std::to_string(value); }
821
- };
822
-
823
- template <>
824
- struct AdaptDisplayValueToLog<std::string> {
825
- static std::string ToString(const std::string& value) { return value; }
826
- };
827
-
828
- template <>
829
- struct AdaptDisplayValueToLog<const std::string&> {
830
- static std::string ToString(const std::string& value) { return value; }
831
- };
832
-
833
- template <>
834
- struct AdaptDisplayValueToLog<absl::string_view> {
835
- static std::string ToString(absl::string_view value) {
836
- return std::string(value);
837
- }
838
- };
839
-
840
- template <>
841
- struct AdaptDisplayValueToLog<Slice> {
842
- static std::string ToString(Slice value) {
843
- return std::string(value.as_string_view());
844
- }
845
- };
846
-
847
- template <>
848
- struct AdaptDisplayValueToLog<const char*> {
849
- static std::string ToString(const char* value) { return std::string(value); }
850
- };
851
-
852
- template <>
853
- struct AdaptDisplayValueToLog<StaticSlice> {
854
- static absl::string_view ToString(StaticSlice value) {
855
- return value.as_string_view();
856
- }
857
- };
858
-
859
- template <typename T, typename U, typename V>
860
- GPR_ATTRIBUTE_NOINLINE void LogKeyValueTo(absl::string_view key, const T& value,
861
- V (*display_value)(U), LogFn log_fn) {
862
- log_fn(key, AdaptDisplayValueToLog<V>::ToString(display_value(value)));
863
- }
864
-
865
- // Generate a strong type for metadata values per trait.
866
- template <typename Which, typename Ignored = void>
867
- struct Value;
868
-
869
- template <typename Which>
870
- struct Value<Which, absl::enable_if_t<Which::kRepeatable == false &&
871
- IsEncodableTrait<Which>::value,
872
- void>> {
873
- Value() = default;
874
- explicit Value(const typename Which::ValueType& value) : value(value) {}
875
- explicit Value(typename Which::ValueType&& value)
876
- : value(std::forward<typename Which::ValueType>(value)) {}
877
- Value(const Value&) = delete;
878
- Value& operator=(const Value&) = delete;
879
- Value(Value&&) noexcept = default;
880
- Value& operator=(Value&& other) noexcept {
881
- value = std::move(other.value);
882
- return *this;
883
- }
884
- template <typename Encoder>
885
- void EncodeTo(Encoder* encoder) const {
886
- encoder->Encode(Which(), value);
887
- }
888
- template <typename Encoder>
889
- void VisitWith(Encoder* encoder) const {
890
- return EncodeTo(encoder);
891
- }
892
- void LogTo(LogFn log_fn) const {
893
- LogKeyValueTo(Which::key(), value, Which::DisplayValue, log_fn);
894
- }
895
- using StorageType = typename Which::ValueType;
896
- GPR_NO_UNIQUE_ADDRESS StorageType value;
897
- };
898
-
899
- template <typename Which>
900
- struct Value<Which, absl::enable_if_t<Which::kRepeatable == false &&
901
- !IsEncodableTrait<Which>::value,
902
- void>> {
903
- Value() = default;
904
- explicit Value(const typename Which::ValueType& value) : value(value) {}
905
- explicit Value(typename Which::ValueType&& value)
906
- : value(std::forward<typename Which::ValueType>(value)) {}
907
- Value(const Value&) = delete;
908
- Value& operator=(const Value&) = delete;
909
- Value(Value&&) noexcept = default;
910
- Value& operator=(Value&& other) noexcept {
911
- value = std::move(other.value);
912
- return *this;
913
- }
914
- template <typename Encoder>
915
- void EncodeTo(Encoder*) const {}
916
- template <typename Encoder>
917
- void VisitWith(Encoder* encoder) const {
918
- encoder->Encode(Which(), value);
919
- }
920
- void LogTo(LogFn log_fn) const {
921
- LogKeyValueTo(Which::DebugKey(), value, Which::DisplayValue, log_fn);
922
- }
923
- using StorageType = typename Which::ValueType;
924
- GPR_NO_UNIQUE_ADDRESS StorageType value;
925
- };
926
-
927
- template <typename Which>
928
- struct Value<Which, absl::enable_if_t<Which::kRepeatable == true &&
929
- IsEncodableTrait<Which>::value,
930
- void>> {
931
- Value() = default;
932
- explicit Value(const typename Which::ValueType& value) {
933
- this->value.push_back(value);
934
- }
935
- explicit Value(typename Which::ValueType&& value) {
936
- this->value.emplace_back(std::forward<typename Which::ValueType>(value));
937
- }
938
- Value(const Value&) = delete;
939
- Value& operator=(const Value&) = delete;
940
- Value(Value&& other) noexcept : value(std::move(other.value)) {}
941
- Value& operator=(Value&& other) noexcept {
942
- value = std::move(other.value);
943
- return *this;
944
- }
945
- template <typename Encoder>
946
- void EncodeTo(Encoder* encoder) const {
947
- for (const auto& v : value) {
948
- encoder->Encode(Which(), v);
949
- }
950
- }
951
- template <typename Encoder>
952
- void VisitWith(Encoder* encoder) const {
953
- return EncodeTo(encoder);
954
- }
955
- void LogTo(LogFn log_fn) const {
956
- for (const auto& v : value) {
957
- LogKeyValueTo(Which::key(), v, Which::Encode, log_fn);
958
- }
959
- }
960
- using StorageType = absl::InlinedVector<typename Which::ValueType, 1>;
961
- StorageType value;
962
- };
963
-
964
- template <typename Which>
965
- struct Value<Which, absl::enable_if_t<Which::kRepeatable == true &&
966
- !IsEncodableTrait<Which>::value,
967
- void>> {
968
- Value() = default;
969
- explicit Value(const typename Which::ValueType& value) {
970
- this->value.push_back(value);
971
- }
972
- explicit Value(typename Which::ValueType&& value) {
973
- this->value.emplace_back(std::forward<typename Which::ValueType>(value));
974
- }
975
- Value(const Value&) = delete;
976
- Value& operator=(const Value&) = delete;
977
- Value(Value&& other) noexcept : value(std::move(other.value)) {}
978
- Value& operator=(Value&& other) noexcept {
979
- value = std::move(other.value);
980
- return *this;
981
- }
982
- template <typename Encoder>
983
- void EncodeTo(Encoder*) const {}
984
- template <typename Encoder>
985
- void VisitWith(Encoder* encoder) const {
986
- for (const auto& v : value) {
987
- encoder->Encode(Which(), v);
988
- }
989
- }
990
- void LogTo(LogFn log_fn) const {
991
- for (const auto& v : value) {
992
- LogKeyValueTo(Which::DebugKey(), v, Which::DisplayValue, log_fn);
993
- }
994
- }
995
- using StorageType = absl::InlinedVector<typename Which::ValueType, 1>;
996
- StorageType value;
997
- };
998
-
999
- // Encoder to copy some metadata
1000
- template <typename Output>
1001
- class CopySink {
1002
- public:
1003
- explicit CopySink(Output* dst) : dst_(dst) {}
1004
-
1005
- template <class T, class V>
1006
- void Encode(T trait, V value) {
1007
- dst_->Set(trait, value);
1008
- }
1009
-
1010
- template <class T>
1011
- void Encode(T trait, const Slice& value) {
1012
- dst_->Set(trait, std::move(value.AsOwned()));
1013
- }
1014
-
1015
- void Encode(const Slice& key, const Slice& value) {
1016
- dst_->unknown_.Append(key.as_string_view(), value.Ref());
1017
- }
1018
-
1019
- private:
1020
- Output* dst_;
1021
- };
1022
-
1023
- // Callable for the ForEach in Encode() -- for each value, call the
1024
- // appropriate encoder method.
1025
- template <typename Encoder>
1026
- struct EncodeWrapper {
1027
- Encoder* encoder;
1028
- template <typename Which>
1029
- void operator()(const Value<Which>& which) {
1030
- which.EncodeTo(encoder);
1031
- }
1032
- };
1033
-
1034
- // Callable for the table ForEach in ForEach() -- for each value, call the
1035
- // appropriate visitor method.
1036
- template <typename Encoder>
1037
- struct ForEachWrapper {
1038
- Encoder* encoder;
1039
- template <typename Which>
1040
- void operator()(const Value<Which>& which) {
1041
- which.VisitWith(encoder);
1042
- }
1043
- };
1044
-
1045
- // Callable for the ForEach in Log()
1046
- struct LogWrapper {
1047
- LogFn log_fn;
1048
- template <typename Which>
1049
- void operator()(const Value<Which>& which) {
1050
- which.LogTo(log_fn);
1051
- }
1052
- };
1053
-
1054
- // Callable for the table FilterIn -- for each value, call the
1055
- // appropriate filter method to determine of the value should be kept or
1056
- // removed.
1057
- template <typename Filterer>
1058
- struct FilterWrapper {
1059
- Filterer filter_fn;
1060
-
1061
- template <typename Which,
1062
- absl::enable_if_t<IsEncodableTrait<Which>::value, bool> = true>
1063
- bool operator()(const Value<Which>& /*which*/) {
1064
- return filter_fn(Which());
1065
- }
1066
-
1067
- template <typename Which,
1068
- absl::enable_if_t<!IsEncodableTrait<Which>::value, bool> = true>
1069
- bool operator()(const Value<Which>& /*which*/) {
1070
- return true;
1071
- }
1072
- };
1073
-
1074
- // Encoder to compute TransportSize
1075
- class TransportSizeEncoder {
1076
- public:
1077
- void Encode(const Slice& key, const Slice& value) {
1078
- size_ += key.length() + value.length() + 32;
1079
- }
1080
-
1081
- template <typename Which>
1082
- void Encode(Which, const typename Which::ValueType& value) {
1083
- Add(Which(), value);
1084
- }
1085
-
1086
- void Encode(ContentTypeMetadata,
1087
- const typename ContentTypeMetadata::ValueType& value) {
1088
- if (value == ContentTypeMetadata::kInvalid) return;
1089
- Add(ContentTypeMetadata(), value);
1090
- }
1091
-
1092
- size_t size() const { return size_; }
1093
-
1094
- private:
1095
- template <typename Which>
1096
- void Add(Which, const typename Which::ValueType& value) {
1097
- size_ += Which::key().length() + Which::Encode(value).length() + 32;
1098
- }
1099
-
1100
- uint32_t size_ = 0;
1101
- };
1102
-
1103
- // Handle unknown (non-trait-based) fields in the metadata map.
1104
- class UnknownMap {
1105
- public:
1106
- using BackingType = std::vector<std::pair<Slice, Slice>>;
1107
-
1108
- void Append(absl::string_view key, Slice value);
1109
- void Remove(absl::string_view key);
1110
- absl::optional<absl::string_view> GetStringValue(absl::string_view key,
1111
- std::string* backing) const;
1112
-
1113
- BackingType::const_iterator begin() const { return unknown_.cbegin(); }
1114
- BackingType::const_iterator end() const { return unknown_.cend(); }
1115
-
1116
- template <typename Filterer>
1117
- void Filter(Filterer* filter_fn) {
1118
- unknown_.erase(
1119
- std::remove_if(unknown_.begin(), unknown_.end(),
1120
- [&](auto& pair) {
1121
- return !(*filter_fn)(pair.first.as_string_view());
1122
- }),
1123
- unknown_.end());
1124
- }
1125
-
1126
- bool empty() const { return unknown_.empty(); }
1127
- size_t size() const { return unknown_.size(); }
1128
- void Clear() { unknown_.clear(); }
1129
-
1130
- private:
1131
- // Backing store for added metadata.
1132
- BackingType unknown_;
1133
- };
1134
-
1135
- // Given a factory template Factory, construct a type that derives from
1136
- // Factory<MetadataTrait, MetadataTrait::CompressionTraits> for all
1137
- // MetadataTraits. Useful for transports in defining the stateful parts of their
1138
- // compression algorithm.
1139
- template <template <typename, typename> class Factory,
1140
- typename... MetadataTraits>
1141
- struct StatefulCompressor;
1142
-
1143
- template <template <typename, typename> class Factory, typename MetadataTrait,
1144
- bool kEncodable = IsEncodableTrait<MetadataTrait>::value>
1145
- struct SpecificStatefulCompressor;
1146
-
1147
- template <template <typename, typename> class Factory, typename MetadataTrait>
1148
- struct SpecificStatefulCompressor<Factory, MetadataTrait, true>
1149
- : public Factory<MetadataTrait, typename MetadataTrait::CompressionTraits> {
1150
- };
1151
-
1152
- template <template <typename, typename> class Factory, typename MetadataTrait>
1153
- struct SpecificStatefulCompressor<Factory, MetadataTrait, false> {};
1154
-
1155
- template <template <typename, typename> class Factory, typename MetadataTrait,
1156
- typename... MetadataTraits>
1157
- struct StatefulCompressor<Factory, MetadataTrait, MetadataTraits...>
1158
- : public SpecificStatefulCompressor<Factory, MetadataTrait>,
1159
- public StatefulCompressor<Factory, MetadataTraits...> {};
1160
-
1161
- template <template <typename, typename> class Factory>
1162
- struct StatefulCompressor<Factory> {};
1163
-
1164
- } // namespace metadata_detail
1165
-
1166
- // Helper function for encoders
1167
- // Given a metadata trait, convert the value to a slice.
1168
- template <typename Which>
1169
- absl::enable_if_t<std::is_same<typename Which::ValueType, Slice>::value,
1170
- const Slice&>
1171
- MetadataValueAsSlice(const Slice& slice) {
1172
- return slice;
1173
- }
1174
-
1175
- template <typename Which>
1176
- absl::enable_if_t<!std::is_same<typename Which::ValueType, Slice>::value, Slice>
1177
- MetadataValueAsSlice(typename Which::ValueType value) {
1178
- return Slice(Which::Encode(value));
1179
- }
1180
-
1181
- // MetadataMap encodes the mapping of metadata keys to metadata values.
1182
- //
1183
- // MetadataMap takes a derived class and list of traits. Each of these trait
1184
- // objects defines one metadata field that is used by core, and so should have
1185
- // more specialized handling than just using the generic APIs.
1186
- //
1187
- // MetadataMap is the backing type for some derived type via the curiously
1188
- // recursive template pattern. This is because many types consumed by
1189
- // MetadataMap require the container type to operate on, and many of those
1190
- // types are instantiated one per trait. A naive implementation without the
1191
- // Derived type would, for traits A,B,C, then instantiate for some
1192
- // T<Container, Trait>:
1193
- // - T<MetadataMap<A,B,C>, A>,
1194
- // - T<MetadataMap<A,B,C>, B>,
1195
- // - T<MetadataMap<A,B,C>, C>.
1196
- // Since these types ultimately need to be recorded in the .dynstr segment
1197
- // for dynamic linkers (if gRPC is linked as a static library) this would
1198
- // create O(N^2) bytes of symbols even in stripped libraries. To avoid this
1199
- // we use the derived type (e.g. grpc_metadata_batch right now) to capture
1200
- // the container type, and we would write T<grpc_metadata_batch, A>, etc...
1201
- // Note that now the container type uses a number of bytes that is independent
1202
- // of the number of traits, and so we return to a linear symbol table growth
1203
- // function.
1204
- //
1205
- // Each trait object has one of two possible signatures, depending on whether
1206
- // that traits field is encodable or not.
1207
- // Non-encodable traits are carried in a MetadataMap, but are never passed to
1208
- // the application nor serialized to wire.
1209
- //
1210
- // Encodable traits have the following signature:
1211
- // // Traits for the "grpc-xyz" metadata field:
1212
- // struct GrpcXyzMetadata {
1213
- // // Can this metadata field be repeated?
1214
- // static constexpr bool kRepeatable = ...;
1215
- // // Should this metadata be transferred from server headers to trailers on
1216
- // // Trailers-Only response?
1217
- // static constexpr bool kTransferOnTrailersOnly = ...;
1218
- // // The type that's stored on MetadataBatch
1219
- // using ValueType = ...;
1220
- // // The type that's stored in compression/decompression tables
1221
- // using MementoType = ...;
1222
- // // The string key for this metadata type (for transports that require it)
1223
- // static absl::string_view key() { return "grpc-xyz"; }
1224
- // // Parse a memento from a slice
1225
- // // Takes ownership of value
1226
- // // If will_keep_past_request_lifetime is true, expect that the returned
1227
- // // memento will be kept for a long time, and so try not to keep a ref to
1228
- // // the input slice.
1229
- // // Calls fn in the case of an error that should be reported to the user
1230
- // static MementoType ParseMemento(
1231
- // Slice value,
1232
- // bool will_keep_past_request_lifetime,
1233
- // MementoParseErrorFn fn) {
1234
- // ...
1235
- // }
1236
- // // Convert a memento to a value
1237
- // static ValueType MementoToValue(MementoType memento) { ... }
1238
- // // Convert a value to its canonical text wire format (the format that
1239
- // // ParseMemento will accept!)
1240
- // static Slice Encode(const ValueType& value);
1241
- // // Convert a value to something that can be passed to StrCat and
1242
- // displayed
1243
- // // for debugging
1244
- // static SomeStrCatableType DisplayValue(ValueType value) { ... }
1245
- // static SomeStrCatableType DisplayMemento(MementoType value) { ... }
1246
- // };
1247
- //
1248
- // Non-encodable traits are determined by missing the key() method, and have
1249
- // the following signature (and by convention omit the Metadata part of the
1250
- // type name):
1251
- // // Traits for the GrpcXyz field:
1252
- // struct GrpcXyz {
1253
- // // The string key that should be used for debug dumps - should not be a
1254
- // // valid http2 key (ie all lower case)
1255
- // static absl::string_view DebugKey() { return "GRPC_XYZ"; }
1256
- // // Can this metadata field be repeated?
1257
- // static constexpr bool kRepeatable = ...;
1258
- // // The type that's stored on MetadataBatch
1259
- // using ValueType = ...;
1260
- // // Convert a value to something that can be passed to StrCat and
1261
- // displayed
1262
- // // for debugging
1263
- // static SomeStrCatableType DisplayValue(ValueType value) { ... }
1264
- // };
1265
- //
1266
- // About parsing and mementos:
1267
- //
1268
- // Many gRPC transports exchange metadata as key/value strings, but also allow
1269
- // for a more efficient representation as a single integer. We can use this
1270
- // integer representation to avoid reparsing too, by storing the parsed value
1271
- // in the compression table. This is what mementos are used for.
1272
- //
1273
- // A trait offers the capability to turn a slice into a memento via
1274
- // ParseMemento. This is exposed to users of MetadataMap via the Parse()
1275
- // method, that returns a ParsedMetadata object. That ParsedMetadata object
1276
- // can in turn be used to set the same value on many different MetadataMaps
1277
- // without having to reparse.
1278
- //
1279
- // Implementation wise, ParsedMetadata is a type erased wrapper around
1280
- // MementoType. When we set a value on MetadataMap, we first turn that memento
1281
- // into a value. For most types, this is going to be a no-op, but for example
1282
- // for grpc-timeout we make the memento the timeout expressed on the wire, but
1283
- // we make the value the timestamp of when the timeout will expire (i.e. the
1284
- // deadline).
1285
- template <class Derived, typename... Traits>
1286
- class MetadataMap {
1287
- public:
1288
- MetadataMap() = default;
1289
- ~MetadataMap();
1290
-
1291
- // Given a compressor factory - template taking <MetadataTrait,
1292
- // CompressionTrait>, StatefulCompressor<Factory> provides a type
1293
- // derived from all Encodable traits in this MetadataMap.
1294
- // This can be used by transports to delegate compression to the appropriate
1295
- // compression algorithm.
1296
- template <template <typename, typename> class Factory>
1297
- using StatefulCompressor =
1298
- metadata_detail::StatefulCompressor<Factory, Traits...>;
1299
-
1300
- MetadataMap(const MetadataMap&) = delete;
1301
- MetadataMap& operator=(const MetadataMap&) = delete;
1302
- MetadataMap(MetadataMap&&) noexcept;
1303
- // We never create MetadataMap directly, instead we create Derived, but we
1304
- // want to be able to move it without redeclaring this.
1305
- // NOLINTNEXTLINE(misc-unconventional-assign-operator)
1306
- Derived& operator=(MetadataMap&&) noexcept;
1307
-
1308
- // Encode this metadata map into some encoder.
1309
- // For each field that is set in the MetadataMap, call
1310
- // encoder->Encode.
1311
- //
1312
- // For fields for which we have traits, this will be a method with
1313
- // the signature:
1314
- // void Encode(TraitsType, typename TraitsType::ValueType value);
1315
- // For fields for which we do not have traits, this will be a method
1316
- // with the signature:
1317
- // void Encode(string_view key, Slice value);
1318
- template <typename Encoder>
1319
- void Encode(Encoder* encoder) const {
1320
- table_.template ForEachIn<metadata_detail::EncodeWrapper<Encoder>,
1321
- Value<Traits>...>(
1322
- metadata_detail::EncodeWrapper<Encoder>{encoder});
1323
- for (const auto& unk : unknown_) {
1324
- encoder->Encode(unk.first, unk.second);
1325
- }
1326
- }
1327
-
1328
- // Like Encode, but also visit the non-encodable fields.
1329
- template <typename Encoder>
1330
- void ForEach(Encoder* encoder) const {
1331
- table_.ForEach(metadata_detail::ForEachWrapper<Encoder>{encoder});
1332
- for (const auto& unk : unknown_) {
1333
- encoder->Encode(unk.first, unk.second);
1334
- }
1335
- }
1336
-
1337
- // Similar to Encode, but targeted at logging: for each metadatum,
1338
- // call f(key, value) as absl::string_views.
1339
- void Log(metadata_detail::LogFn log_fn) const {
1340
- table_.ForEach(metadata_detail::LogWrapper{log_fn});
1341
- for (const auto& unk : unknown_) {
1342
- log_fn(unk.first.as_string_view(), unk.second.as_string_view());
1343
- }
1344
- }
1345
-
1346
- // Filter the metadata map.
1347
- // Iterates over all encodable and unknown headers and calls the filter_fn
1348
- // for each of them. If the function returns true, the header is kept.
1349
- template <typename Filterer>
1350
- void Filter(Filterer filter_fn) {
1351
- table_.template FilterIn<metadata_detail::FilterWrapper<Filterer>,
1352
- Value<Traits>...>(
1353
- metadata_detail::FilterWrapper<Filterer>{filter_fn});
1354
- unknown_.Filter<Filterer>(&filter_fn);
1355
- }
1356
-
1357
- std::string DebugString() const {
1358
- metadata_detail::DebugStringBuilder builder;
1359
- Log([&builder](absl::string_view key, absl::string_view value) {
1360
- builder.AddAfterRedaction(key, value);
1361
- });
1362
- return builder.TakeOutput();
1363
- }
1364
-
1365
- template <typename Sink>
1366
- friend void AbslStringify(Sink& sink, const MetadataMap& map) {
1367
- sink.Append(map.DebugString());
1368
- }
1369
-
1370
- // Get the pointer to the value of some known metadata.
1371
- // Returns nullptr if the metadata is not present.
1372
- // Causes a compilation error if Which is not an element of Traits.
1373
- template <typename Which>
1374
- const typename metadata_detail::Value<Which>::StorageType* get_pointer(
1375
- Which) const {
1376
- if (auto* p = table_.template get<Value<Which>>()) return &p->value;
1377
- return nullptr;
1378
- }
1379
-
1380
- // Get the pointer to the value of some known metadata.
1381
- // Returns nullptr if the metadata is not present.
1382
- // Causes a compilation error if Which is not an element of Traits.
1383
- template <typename Which>
1384
- typename metadata_detail::Value<Which>::StorageType* get_pointer(Which) {
1385
- if (auto* p = table_.template get<Value<Which>>()) return &p->value;
1386
- return nullptr;
1387
- }
1388
-
1389
- // Get the pointer to the value of some known metadata.
1390
- // Adds the default value for the metadata is not present.
1391
- // Causes a compilation error if Which is not an element of Traits.
1392
- template <typename Which>
1393
- typename metadata_detail::Value<Which>::StorageType* GetOrCreatePointer(
1394
- Which) {
1395
- return &table_.template get_or_create<Value<Which>>()->value;
1396
- }
1397
-
1398
- // Get the value of some known metadata.
1399
- // Returns nullopt if the metadata is not present.
1400
- // Causes a compilation error if Which is not an element of Traits.
1401
- template <typename Which>
1402
- absl::optional<typename Which::ValueType> get(Which) const {
1403
- if (auto* p = table_.template get<Value<Which>>()) return p->value;
1404
- return absl::nullopt;
1405
- }
1406
-
1407
- // Set the value of some known metadata.
1408
- // Returns a pointer to the new value.
1409
- template <typename Which, typename... Args>
1410
- absl::enable_if_t<Which::kRepeatable == false, void> Set(Which,
1411
- Args&&... args) {
1412
- table_.template set<Value<Which>>(std::forward<Args>(args)...);
1413
- }
1414
- template <typename Which, typename... Args>
1415
- absl::enable_if_t<Which::kRepeatable == true, void> Set(Which,
1416
- Args&&... args) {
1417
- GetOrCreatePointer(Which())->emplace_back(std::forward<Args>(args)...);
1418
- }
1419
-
1420
- // Remove a specific piece of known metadata.
1421
- template <typename Which>
1422
- void Remove(Which) {
1423
- table_.template clear<Value<Which>>();
1424
- }
1425
-
1426
- // Remove some metadata by name
1427
- void Remove(absl::string_view key) {
1428
- metadata_detail::RemoveHelper<Derived> helper(static_cast<Derived*>(this));
1429
- metadata_detail::NameLookup<Traits...>::Lookup(key, &helper);
1430
- }
1431
-
1432
- void Remove(const char* key) { Remove(absl::string_view(key)); }
1433
-
1434
- // Retrieve some metadata by name
1435
- absl::optional<absl::string_view> GetStringValue(absl::string_view name,
1436
- std::string* buffer) const {
1437
- metadata_detail::GetStringValueHelper<Derived> helper(
1438
- static_cast<const Derived*>(this), buffer);
1439
- return metadata_detail::NameLookup<Traits...>::Lookup(name, &helper);
1440
- }
1441
-
1442
- // Extract a piece of known metadata.
1443
- // Returns nullopt if the metadata was not present, or the value if it was.
1444
- // The same as:
1445
- // auto value = m.get(T());
1446
- // m.Remove(T());
1447
- template <typename Which>
1448
- absl::enable_if_t<Which::kRepeatable == false,
1449
- absl::optional<typename Which::ValueType>>
1450
- Take(Which which) {
1451
- if (auto* p = get_pointer(which)) {
1452
- absl::optional<typename Which::ValueType> value(std::move(*p));
1453
- Remove(which);
1454
- return value;
1455
- }
1456
- return {};
1457
- }
1458
-
1459
- // Extract repeated known metadata.
1460
- // Returns an empty vector if the metadata was not present.
1461
- template <typename Which>
1462
- absl::enable_if_t<Which::kRepeatable == true,
1463
- typename metadata_detail::Value<Which>::StorageType>
1464
- Take(Which which) {
1465
- if (auto* p = get_pointer(which)) {
1466
- typename Value<Which>::StorageType value = std::move(*p);
1467
- Remove(which);
1468
- return value;
1469
- }
1470
- return {};
1471
- }
1472
-
1473
- // Parse metadata from a key/value pair, and return an object representing
1474
- // that result.
1475
- static ParsedMetadata<Derived> Parse(absl::string_view key, Slice value,
1476
- bool will_keep_past_request_lifetime,
1477
- uint32_t transport_size,
1478
- MetadataParseErrorFn on_error) {
1479
- metadata_detail::ParseHelper<Derived> helper(
1480
- value.TakeOwned(), will_keep_past_request_lifetime, on_error,
1481
- transport_size);
1482
- return metadata_detail::NameLookup<Traits...>::Lookup(key, &helper);
1483
- }
1484
-
1485
- // Set a value from a parsed metadata object.
1486
- void Set(const ParsedMetadata<Derived>& m) {
1487
- m.SetOnContainer(static_cast<Derived*>(this));
1488
- }
1489
-
1490
- // Append a key/value pair - takes ownership of value
1491
- void Append(absl::string_view key, Slice value,
1492
- MetadataParseErrorFn on_error) {
1493
- metadata_detail::AppendHelper<Derived> helper(static_cast<Derived*>(this),
1494
- value.TakeOwned(), on_error);
1495
- metadata_detail::NameLookup<Traits...>::Lookup(key, &helper);
1496
- }
1497
-
1498
- void Clear();
1499
- size_t TransportSize() const;
1500
- Derived Copy() const;
1501
- bool empty() const { return table_.empty() && unknown_.empty(); }
1502
- size_t count() const { return table_.count() + unknown_.size(); }
1503
-
1504
- private:
1505
- friend class metadata_detail::AppendHelper<Derived>;
1506
- friend class metadata_detail::GetStringValueHelper<Derived>;
1507
- friend class metadata_detail::RemoveHelper<Derived>;
1508
- friend class metadata_detail::CopySink<Derived>;
1509
- friend class ParsedMetadata<Derived>;
1510
-
1511
- template <typename Which>
1512
- using Value = metadata_detail::Value<Which>;
1513
-
1514
- // Table of known metadata types.
1515
- PackedTable<Value<Traits>...> table_;
1516
- metadata_detail::UnknownMap unknown_;
1517
- };
1518
-
1519
- // Ok/not-ok check for metadata maps that contain GrpcStatusMetadata, so that
1520
- // they can be used as result types for TrySeq.
1521
- template <typename Derived, typename... Args>
1522
- inline bool IsStatusOk(const MetadataMap<Derived, Args...>& m) {
1523
- return m.get(GrpcStatusMetadata()).value_or(GRPC_STATUS_UNKNOWN) ==
1524
- GRPC_STATUS_OK;
1525
- }
1526
-
1527
- template <typename Derived, typename... Traits>
1528
- MetadataMap<Derived, Traits...>::MetadataMap(MetadataMap&& other) noexcept
1529
- : table_(std::move(other.table_)), unknown_(std::move(other.unknown_)) {}
1530
-
1531
- // We never create MetadataMap directly, instead we create Derived, but we
1532
- // want to be able to move it without redeclaring this.
1533
- // NOLINTNEXTLINE(misc-unconventional-assign-operator)
1534
- template <typename Derived, typename... Traits>
1535
- Derived& MetadataMap<Derived, Traits...>::operator=(
1536
- MetadataMap&& other) noexcept {
1537
- table_ = std::move(other.table_);
1538
- unknown_ = std::move(other.unknown_);
1539
- return static_cast<Derived&>(*this);
1540
- }
1541
-
1542
- template <typename Derived, typename... Traits>
1543
- MetadataMap<Derived, Traits...>::~MetadataMap() = default;
1544
-
1545
- template <typename Derived, typename... Traits>
1546
- void MetadataMap<Derived, Traits...>::Clear() {
1547
- table_.ClearAll();
1548
- unknown_.Clear();
1549
- }
1550
-
1551
- template <typename Derived, typename... Traits>
1552
- size_t MetadataMap<Derived, Traits...>::TransportSize() const {
1553
- metadata_detail::TransportSizeEncoder enc;
1554
- Encode(&enc);
1555
- return enc.size();
1556
- }
1557
-
1558
- template <typename Derived, typename... Traits>
1559
- Derived MetadataMap<Derived, Traits...>::Copy() const {
1560
- Derived out;
1561
- metadata_detail::CopySink<Derived> sink(&out);
1562
- ForEach(&sink);
1563
- return out;
1564
- }
1565
-
1566
- } // namespace grpc_core
1567
-
1568
- struct grpc_metadata_batch;
1569
-
1570
- using grpc_metadata_batch_base = grpc_core::MetadataMap<
1571
- grpc_metadata_batch,
1572
- // Colon prefixed headers first
1573
- grpc_core::HttpPathMetadata, grpc_core::HttpAuthorityMetadata,
1574
- grpc_core::HttpMethodMetadata, grpc_core::HttpStatusMetadata,
1575
- grpc_core::HttpSchemeMetadata,
1576
- // Non-colon prefixed headers begin here
1577
- grpc_core::ContentTypeMetadata, grpc_core::TeMetadata,
1578
- grpc_core::GrpcEncodingMetadata, grpc_core::GrpcInternalEncodingRequest,
1579
- grpc_core::GrpcAcceptEncodingMetadata, grpc_core::GrpcStatusMetadata,
1580
- grpc_core::GrpcTimeoutMetadata, grpc_core::GrpcPreviousRpcAttemptsMetadata,
1581
- grpc_core::GrpcRetryPushbackMsMetadata, grpc_core::UserAgentMetadata,
1582
- grpc_core::GrpcMessageMetadata, grpc_core::HostMetadata,
1583
- grpc_core::EndpointLoadMetricsBinMetadata,
1584
- grpc_core::GrpcServerStatsBinMetadata, grpc_core::GrpcTraceBinMetadata,
1585
- grpc_core::GrpcTagsBinMetadata, grpc_core::GrpcLbClientStatsMetadata,
1586
- grpc_core::LbCostBinMetadata, grpc_core::LbTokenMetadata,
1587
- grpc_core::XEnvoyPeerMetadata,
1588
- // Non-encodable things
1589
- grpc_core::GrpcStreamNetworkState, grpc_core::PeerString,
1590
- grpc_core::GrpcStatusContext, grpc_core::GrpcStatusFromWire,
1591
- grpc_core::GrpcCallWasCancelled, grpc_core::WaitForReady,
1592
- grpc_core::IsTransparentRetry, grpc_core::GrpcTrailersOnly,
1593
- grpc_core::GrpcTarPit,
1594
- grpc_core::GrpcRegisteredMethod GRPC_CUSTOM_CLIENT_METADATA
1595
- GRPC_CUSTOM_SERVER_METADATA>;
1596
-
1597
- struct grpc_metadata_batch : public grpc_metadata_batch_base {
1598
- using grpc_metadata_batch_base::grpc_metadata_batch_base;
1599
- };
1600
-
1601
- #endif // GRPC_SRC_CORE_LIB_TRANSPORT_METADATA_BATCH_H