grpc 1.64.3 → 1.70.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3070) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +374 -342
  3. data/include/grpc/compression.h +1 -2
  4. data/include/grpc/credentials.h +2 -3
  5. data/include/grpc/event_engine/README.md +1 -1
  6. data/include/grpc/event_engine/endpoint_config.h +2 -2
  7. data/include/grpc/event_engine/event_engine.h +39 -15
  8. data/include/grpc/event_engine/extensible.h +5 -2
  9. data/include/grpc/event_engine/internal/memory_allocator_impl.h +4 -4
  10. data/include/grpc/event_engine/internal/slice_cast.h +1 -1
  11. data/include/grpc/event_engine/memory_allocator.h +3 -4
  12. data/include/grpc/event_engine/memory_request.h +19 -2
  13. data/include/grpc/event_engine/slice.h +3 -5
  14. data/include/grpc/event_engine/slice_buffer.h +6 -8
  15. data/include/grpc/grpc.h +1 -2
  16. data/include/grpc/grpc_audit_logging.h +3 -3
  17. data/include/grpc/grpc_crl_provider.h +5 -5
  18. data/include/grpc/grpc_posix.h +1 -2
  19. data/include/grpc/grpc_security.h +1 -2
  20. data/include/grpc/impl/call.h +2 -2
  21. data/include/grpc/impl/channel_arg_names.h +10 -4
  22. data/include/grpc/impl/grpc_types.h +1 -2
  23. data/include/grpc/impl/slice_type.h +1 -2
  24. data/include/grpc/module.modulemap +1 -0
  25. data/include/grpc/passive_listener.h +62 -0
  26. data/include/grpc/support/alloc.h +1 -2
  27. data/include/grpc/support/atm.h +0 -13
  28. data/include/grpc/support/json.h +1 -2
  29. data/include/grpc/support/log.h +37 -64
  30. data/include/grpc/support/metrics.h +21 -6
  31. data/include/grpc/support/port_platform.h +31 -1
  32. data/include/grpc/support/sync_generic.h +2 -4
  33. data/include/grpc/support/sync_posix.h +1 -2
  34. data/include/grpc/support/time.h +1 -2
  35. data/src/core/call/request_buffer.cc +224 -0
  36. data/src/core/call/request_buffer.h +192 -0
  37. data/src/core/channelz/channel_trace.cc +6 -7
  38. data/src/core/channelz/channel_trace.h +6 -8
  39. data/src/core/channelz/channelz.cc +8 -10
  40. data/src/core/channelz/channelz.h +15 -17
  41. data/src/core/channelz/channelz_registry.cc +10 -11
  42. data/src/core/channelz/channelz_registry.h +4 -5
  43. data/src/core/client_channel/backup_poller.cc +25 -16
  44. data/src/core/client_channel/client_channel.cc +1425 -0
  45. data/src/core/client_channel/client_channel.h +245 -0
  46. data/src/core/client_channel/client_channel_args.h +21 -0
  47. data/src/core/client_channel/client_channel_factory.cc +2 -2
  48. data/src/core/client_channel/client_channel_factory.h +1 -2
  49. data/src/core/client_channel/client_channel_filter.cc +351 -864
  50. data/src/core/client_channel/client_channel_filter.h +24 -79
  51. data/src/core/client_channel/client_channel_internal.h +23 -9
  52. data/src/core/client_channel/client_channel_plugin.cc +3 -18
  53. data/src/core/client_channel/client_channel_service_config.cc +2 -3
  54. data/src/core/client_channel/client_channel_service_config.h +7 -9
  55. data/src/core/client_channel/config_selector.h +21 -22
  56. data/src/core/client_channel/connector.h +3 -3
  57. data/src/core/client_channel/direct_channel.cc +83 -0
  58. data/src/core/client_channel/direct_channel.h +101 -0
  59. data/src/core/client_channel/dynamic_filters.cc +16 -14
  60. data/src/core/client_channel/dynamic_filters.h +9 -10
  61. data/src/core/client_channel/global_subchannel_pool.cc +2 -2
  62. data/src/core/client_channel/global_subchannel_pool.h +2 -3
  63. data/src/core/client_channel/lb_metadata.cc +120 -0
  64. data/src/core/client_channel/lb_metadata.h +55 -0
  65. data/src/core/client_channel/load_balanced_call_destination.cc +273 -0
  66. data/src/core/client_channel/load_balanced_call_destination.h +48 -0
  67. data/src/core/client_channel/local_subchannel_pool.cc +2 -5
  68. data/src/core/client_channel/local_subchannel_pool.h +1 -1
  69. data/src/core/client_channel/retry_filter.cc +8 -17
  70. data/src/core/client_channel/retry_filter.h +6 -15
  71. data/src/core/client_channel/retry_filter_legacy_call_data.cc +209 -319
  72. data/src/core/client_channel/retry_filter_legacy_call_data.h +11 -14
  73. data/src/core/client_channel/retry_interceptor.cc +406 -0
  74. data/src/core/client_channel/retry_interceptor.h +157 -0
  75. data/src/core/client_channel/retry_service_config.cc +10 -13
  76. data/src/core/client_channel/retry_service_config.h +19 -8
  77. data/src/core/client_channel/retry_throttle.cc +34 -20
  78. data/src/core/client_channel/retry_throttle.h +6 -9
  79. data/src/core/client_channel/subchannel.cc +283 -165
  80. data/src/core/client_channel/subchannel.h +48 -40
  81. data/src/core/client_channel/subchannel_interface_internal.h +1 -1
  82. data/src/core/client_channel/subchannel_pool_interface.cc +1 -5
  83. data/src/core/client_channel/subchannel_pool_interface.h +4 -7
  84. data/src/core/client_channel/subchannel_stream_client.cc +43 -59
  85. data/src/core/client_channel/subchannel_stream_client.h +10 -14
  86. data/src/core/config/config_vars.cc +151 -0
  87. data/src/core/config/config_vars.h +128 -0
  88. data/src/core/config/config_vars_non_generated.cc +49 -0
  89. data/src/core/config/core_configuration.cc +111 -0
  90. data/src/core/config/core_configuration.h +242 -0
  91. data/src/core/config/load_config.cc +77 -0
  92. data/src/core/config/load_config.h +54 -0
  93. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +23 -28
  94. data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +3 -1
  95. data/src/core/ext/filters/backend_metrics/backend_metric_provider.h +7 -0
  96. data/src/core/ext/filters/census/grpc_context.cc +7 -10
  97. data/src/core/ext/filters/channel_idle/idle_filter_state.cc +1 -2
  98. data/src/core/ext/filters/channel_idle/idle_filter_state.h +0 -1
  99. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +36 -47
  100. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h +12 -8
  101. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +17 -20
  102. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +4 -3
  103. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +2 -3
  104. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +7 -10
  105. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +205 -0
  106. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +97 -0
  107. data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.cc +80 -0
  108. data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.h +86 -0
  109. data/src/core/ext/filters/http/client/http_client_filter.cc +14 -8
  110. data/src/core/ext/filters/http/client/http_client_filter.h +3 -1
  111. data/src/core/ext/filters/http/client_authority_filter.cc +9 -8
  112. data/src/core/ext/filters/http/client_authority_filter.h +3 -1
  113. data/src/core/ext/filters/http/http_filters_plugin.cc +1 -2
  114. data/src/core/ext/filters/http/message_compress/compression_filter.cc +50 -46
  115. data/src/core/ext/filters/http/message_compress/compression_filter.h +8 -4
  116. data/src/core/ext/filters/http/server/http_server_filter.cc +16 -13
  117. data/src/core/ext/filters/http/server/http_server_filter.h +3 -1
  118. data/src/core/ext/filters/message_size/message_size_filter.cc +33 -33
  119. data/src/core/ext/filters/message_size/message_size_filter.h +12 -10
  120. data/src/core/ext/filters/rbac/rbac_filter.cc +9 -12
  121. data/src/core/ext/filters/rbac/rbac_filter.h +3 -2
  122. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +16 -10
  123. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +3 -5
  124. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +14 -16
  125. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +5 -4
  126. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc +2 -3
  127. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +6 -8
  128. data/src/core/ext/transport/chttp2/alpn/alpn.cc +2 -4
  129. data/src/core/ext/transport/chttp2/alpn/alpn.h +1 -2
  130. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +76 -108
  131. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +5 -11
  132. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +985 -371
  133. data/src/core/ext/transport/chttp2/server/chttp2_server.h +222 -13
  134. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +21 -33
  135. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +2 -3
  136. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +4 -7
  137. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +1 -2
  138. data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.cc +53 -0
  139. data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.h +72 -0
  140. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +645 -519
  141. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +15 -16
  142. data/src/core/ext/transport/chttp2/transport/context_list_entry.h +2 -3
  143. data/src/core/ext/transport/chttp2/transport/decode_huff.h +4 -4
  144. data/src/core/ext/transport/chttp2/transport/flow_control.cc +8 -13
  145. data/src/core/ext/transport/chttp2/transport/flow_control.h +2 -7
  146. data/src/core/ext/transport/chttp2/transport/frame.cc +22 -5
  147. data/src/core/ext/transport/chttp2/transport/frame.h +13 -4
  148. data/src/core/ext/transport/chttp2/transport/frame_data.cc +19 -20
  149. data/src/core/ext/transport/chttp2/transport/frame_data.h +4 -5
  150. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +3 -6
  151. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +1 -2
  152. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +14 -19
  153. data/src/core/ext/transport/chttp2/transport/frame_ping.h +1 -2
  154. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +17 -18
  155. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +6 -5
  156. data/src/core/ext/transport/chttp2/transport/frame_security.cc +80 -0
  157. data/src/core/ext/transport/chttp2/transport/frame_security.h +44 -0
  158. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +36 -20
  159. data/src/core/ext/transport/chttp2/transport/frame_settings.h +3 -4
  160. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +28 -7
  161. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +4 -3
  162. data/src/core/ext/transport/chttp2/transport/hpack_constants.h +2 -2
  163. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +19 -21
  164. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +19 -15
  165. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +2 -3
  166. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +4 -5
  167. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.cc +2 -4
  168. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +4 -7
  169. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +23 -27
  170. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +4 -6
  171. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +41 -16
  172. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +29 -10
  173. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +11 -3
  174. data/src/core/ext/transport/chttp2/transport/http2_settings.h +11 -5
  175. data/src/core/ext/transport/chttp2/transport/internal.h +71 -79
  176. data/src/core/ext/transport/chttp2/transport/legacy_frame.h +1 -0
  177. data/src/core/ext/transport/chttp2/transport/parsing.cc +123 -109
  178. data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.cc +3 -3
  179. data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.h +3 -3
  180. data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +2 -5
  181. data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +3 -7
  182. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +33 -18
  183. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +7 -8
  184. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +52 -16
  185. data/src/core/ext/transport/chttp2/transport/stream_lists.h +65 -0
  186. data/src/core/ext/transport/chttp2/transport/varint.cc +2 -2
  187. data/src/core/ext/transport/chttp2/transport/varint.h +1 -3
  188. data/src/core/ext/transport/chttp2/transport/write_size_policy.cc +2 -3
  189. data/src/core/ext/transport/chttp2/transport/write_size_policy.h +3 -4
  190. data/src/core/ext/transport/chttp2/transport/writing.cc +145 -120
  191. data/src/core/ext/transport/inproc/inproc_transport.cc +150 -68
  192. data/src/core/ext/transport/inproc/inproc_transport.h +1 -3
  193. data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +121 -122
  194. data/src/core/ext/transport/inproc/legacy_inproc_transport.h +0 -2
  195. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb.h +46 -15
  196. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.c +40 -18
  197. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.h +10 -4
  198. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb.h +59 -27
  199. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.c +36 -18
  200. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.h +9 -4
  201. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb.h +50 -15
  202. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.c +44 -22
  203. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.h +10 -4
  204. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb.h +190 -55
  205. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.c +162 -84
  206. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.h +24 -4
  207. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb.h +11 -5
  208. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.c +14 -4
  209. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.h +7 -4
  210. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb.h +19 -6
  211. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.c +18 -8
  212. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.h +7 -4
  213. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb.h +11 -10
  214. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.c +7 -1
  215. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.h +6 -4
  216. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb.h +8 -7
  217. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.c +7 -1
  218. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.h +6 -4
  219. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb.h +8 -7
  220. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.c +7 -1
  221. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.h +6 -4
  222. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb.h +129 -82
  223. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.c +39 -27
  224. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.h +7 -4
  225. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb.h +9 -6
  226. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.c +10 -4
  227. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.h +6 -4
  228. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb.h +9 -8
  229. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.c +7 -1
  230. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.h +5 -4
  231. data/src/core/ext/upb-gen/envoy/annotations/resource.upb.h +18 -8
  232. data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.c +13 -6
  233. data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.h +6 -4
  234. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb.h +91 -34
  235. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.c +114 -48
  236. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.h +21 -4
  237. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb.h +544 -254
  238. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.c +265 -149
  239. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.h +29 -4
  240. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb.h +41 -14
  241. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.c +31 -17
  242. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.h +8 -4
  243. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +529 -141
  244. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +270 -143
  245. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.h +31 -4
  246. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb.h +12 -7
  247. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.c +11 -5
  248. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.h +6 -4
  249. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb.h +171 -27
  250. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.c +54 -27
  251. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.h +6 -4
  252. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb.h +127 -35
  253. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c +125 -63
  254. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.h +20 -4
  255. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb.h +67 -27
  256. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c +60 -26
  257. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.h +13 -4
  258. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb.h +11 -6
  259. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.c +11 -5
  260. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.h +6 -4
  261. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +871 -72
  262. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +346 -75
  263. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.h +41 -4
  264. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb.h +67 -25
  265. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.c +57 -27
  266. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.h +12 -4
  267. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb.h +8 -5
  268. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.c +10 -4
  269. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.h +6 -4
  270. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb.h +9 -6
  271. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.c +10 -4
  272. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.h +6 -4
  273. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb.h +11 -5
  274. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.c +14 -4
  275. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.h +7 -4
  276. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb.h +201 -62
  277. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +120 -53
  278. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.h +19 -4
  279. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb.h +196 -62
  280. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.c +95 -53
  281. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.h +14 -4
  282. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb.h +13 -5
  283. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.c +11 -5
  284. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.h +6 -4
  285. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb.h +10 -7
  286. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.c +10 -4
  287. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.h +6 -4
  288. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +292 -76
  289. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +156 -80
  290. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.h +21 -4
  291. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb.h +10 -7
  292. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.c +14 -4
  293. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.h +7 -4
  294. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb.h +15 -7
  295. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.c +15 -5
  296. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.h +7 -4
  297. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb.h +151 -0
  298. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.c +60 -0
  299. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.h +32 -0
  300. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +244 -31
  301. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +79 -21
  302. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.h +13 -4
  303. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb.h +23 -11
  304. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.c +17 -7
  305. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.h +7 -4
  306. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb.h +11 -6
  307. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.c +11 -5
  308. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.h +6 -4
  309. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb.h +42 -11
  310. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.c +35 -17
  311. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.h +9 -4
  312. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb.h +106 -34
  313. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.c +69 -37
  314. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.h +12 -4
  315. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb.h +281 -37
  316. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.c +81 -27
  317. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.h +12 -4
  318. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb.h +8 -5
  319. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.c +10 -4
  320. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.h +6 -4
  321. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb.h +142 -47
  322. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.c +90 -47
  323. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.h +15 -4
  324. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +92 -129
  325. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +66 -57
  326. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.h +11 -5
  327. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +178 -13
  328. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +46 -14
  329. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.h +6 -4
  330. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb.h +14 -7
  331. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.c +16 -6
  332. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.h +7 -4
  333. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb.h +14 -9
  334. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.c +11 -5
  335. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.h +6 -4
  336. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb.h +51 -22
  337. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.c +58 -24
  338. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.h +13 -4
  339. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +70 -22
  340. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.c +71 -29
  341. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.h +15 -4
  342. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +311 -38
  343. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +141 -63
  344. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.h +18 -4
  345. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb.h +61 -13
  346. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.c +33 -19
  347. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.h +8 -4
  348. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +843 -237
  349. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +539 -270
  350. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.h +65 -4
  351. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb.h +20 -10
  352. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.c +22 -8
  353. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.h +8 -4
  354. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb.h +100 -35
  355. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.c +95 -45
  356. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.h +17 -4
  357. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb.h +118 -16
  358. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.c +43 -12
  359. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.h +8 -4
  360. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb.h +9 -6
  361. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.c +10 -4
  362. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.h +6 -4
  363. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb.h +12 -7
  364. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.c +17 -7
  365. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.h +7 -4
  366. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb.h +10 -7
  367. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.c +10 -4
  368. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.h +6 -4
  369. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb.h +20 -8
  370. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.c +13 -7
  371. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.h +6 -4
  372. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb.h +8 -5
  373. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.c +10 -4
  374. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.h +6 -4
  375. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb.h +17 -10
  376. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.c +18 -8
  377. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.h +7 -4
  378. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb.h +5 -6
  379. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.c +3 -2
  380. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.h +5 -5
  381. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb.h +19 -10
  382. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.c +19 -9
  383. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.h +7 -4
  384. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb.h +14 -11
  385. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.c +10 -4
  386. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.h +6 -4
  387. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb.h +216 -102
  388. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.c +124 -57
  389. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.h +21 -4
  390. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +5 -4
  391. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.c +7 -1
  392. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.h +6 -4
  393. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb.h +24 -11
  394. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.c +33 -11
  395. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.h +10 -4
  396. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb.h +42 -22
  397. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.c +27 -13
  398. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.h +8 -4
  399. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb.h +444 -0
  400. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.c +135 -0
  401. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.h +38 -0
  402. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +56 -13
  403. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c +29 -13
  404. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.h +7 -4
  405. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb.h +29 -12
  406. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.c +20 -10
  407. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.h +7 -4
  408. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +13 -8
  409. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c +17 -7
  410. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.h +7 -4
  411. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +343 -134
  412. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +209 -121
  413. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.h +26 -4
  414. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +8 -5
  415. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.c +10 -4
  416. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.h +6 -4
  417. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +83 -10
  418. 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 +28 -11
  419. 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
  420. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +31 -14
  421. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c +39 -17
  422. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.h +10 -4
  423. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.h +6 -5
  424. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.c +7 -1
  425. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.h +6 -4
  426. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +22 -11
  427. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.c +14 -8
  428. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.h +6 -4
  429. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +8 -5
  430. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.c +10 -4
  431. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.h +6 -4
  432. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb.h +105 -0
  433. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.c +51 -0
  434. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.h +32 -0
  435. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +5 -4
  436. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.c +3 -1
  437. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.h +5 -4
  438. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb.h +170 -31
  439. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c +83 -37
  440. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.h +14 -4
  441. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +25 -12
  442. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.c +27 -13
  443. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.h +8 -4
  444. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +214 -63
  445. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +100 -61
  446. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.h +12 -4
  447. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +14 -6
  448. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.c +17 -7
  449. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.h +7 -4
  450. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb.h +58 -20
  451. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.c +44 -26
  452. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.h +9 -4
  453. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb.h +5 -4
  454. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.c +7 -1
  455. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.h +6 -4
  456. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +373 -58
  457. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +144 -61
  458. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.h +21 -4
  459. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb.h +18 -8
  460. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.c +18 -8
  461. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.h +7 -4
  462. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +67 -25
  463. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.c +47 -25
  464. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.h +10 -4
  465. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb.h +10 -7
  466. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.c +10 -4
  467. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.h +6 -4
  468. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb.h +16 -6
  469. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.c +26 -8
  470. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.h +9 -4
  471. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb.h +9 -6
  472. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.c +10 -4
  473. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.h +6 -4
  474. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb.h +10 -9
  475. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.c +23 -1
  476. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.h +10 -4
  477. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb.h +16 -8
  478. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.c +15 -5
  479. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.h +7 -4
  480. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb.h +13 -5
  481. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.c +11 -5
  482. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.h +6 -4
  483. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb.h +9 -6
  484. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.c +10 -4
  485. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.h +6 -4
  486. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb.h +8 -5
  487. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.c +10 -4
  488. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.h +6 -4
  489. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb.h +16 -9
  490. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.c +24 -10
  491. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.h +8 -4
  492. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb.h +5 -4
  493. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.c +11 -1
  494. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.h +7 -4
  495. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb.h +51 -10
  496. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.c +30 -9
  497. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.h +7 -4
  498. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb.h +14 -6
  499. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.c +15 -5
  500. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.h +7 -4
  501. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb.h +30 -12
  502. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.c +32 -14
  503. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.h +9 -4
  504. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb.h +24 -10
  505. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.c +40 -10
  506. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.h +12 -4
  507. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb.h +30 -17
  508. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.c +33 -11
  509. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.h +10 -4
  510. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb.h +12 -7
  511. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.c +19 -5
  512. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.h +8 -4
  513. data/src/core/ext/upb-gen/envoy/type/v3/http.upb.h +5 -4
  514. data/src/core/ext/upb-gen/envoy/type/v3/http.upb_minitable.c +3 -1
  515. data/src/core/ext/upb-gen/envoy/type/v3/http.upb_minitable.h +5 -4
  516. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb.h +6 -5
  517. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.c +7 -1
  518. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.h +6 -4
  519. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb.h +8 -7
  520. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.c +11 -1
  521. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.h +7 -4
  522. data/src/core/ext/upb-gen/envoy/type/v3/range.upb.h +11 -10
  523. data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.c +15 -1
  524. data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.h +8 -4
  525. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb.h +14 -9
  526. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.c +15 -5
  527. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.h +7 -4
  528. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb.h +5 -4
  529. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb_minitable.c +3 -1
  530. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb_minitable.h +5 -4
  531. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb.h +8 -7
  532. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.c +7 -1
  533. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.h +6 -4
  534. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb.h +12 -7
  535. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.c +11 -5
  536. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.h +6 -4
  537. data/src/core/ext/upb-gen/google/api/annotations.upb.h +17 -7
  538. data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.c +5 -2
  539. data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.h +5 -4
  540. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h +135 -36
  541. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c +121 -56
  542. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.h +18 -4
  543. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h +525 -69
  544. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c +202 -68
  545. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.h +23 -4
  546. data/src/core/ext/upb-gen/google/api/http.upb.h +30 -16
  547. data/src/core/ext/upb-gen/google/api/http.upb_minitable.c +22 -8
  548. data/src/core/ext/upb-gen/google/api/http.upb_minitable.h +8 -4
  549. data/src/core/ext/upb-gen/google/api/httpbody.upb.h +12 -6
  550. data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.c +10 -4
  551. data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.h +6 -4
  552. data/src/core/ext/upb-gen/google/protobuf/any.upb.h +8 -6
  553. data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.c +7 -1
  554. data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.h +6 -4
  555. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb.h +583 -181
  556. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c +376 -215
  557. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.h +56 -21
  558. data/src/core/ext/upb-gen/google/protobuf/duration.upb.h +8 -6
  559. data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.c +7 -1
  560. data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.h +6 -4
  561. data/src/core/ext/upb-gen/google/protobuf/empty.upb.h +6 -4
  562. data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.c +7 -1
  563. data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.h +6 -4
  564. data/src/core/ext/upb-gen/google/protobuf/struct.upb.h +33 -10
  565. data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.c +32 -14
  566. data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.h +9 -4
  567. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb.h +8 -6
  568. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.c +7 -1
  569. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.h +6 -4
  570. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb.h +15 -13
  571. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.c +39 -1
  572. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.h +14 -4
  573. data/src/core/ext/upb-gen/google/rpc/status.upb.h +12 -6
  574. data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.c +10 -4
  575. data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.h +6 -4
  576. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb.h +19 -10
  577. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.c +15 -5
  578. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.h +7 -4
  579. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +98 -39
  580. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +87 -37
  581. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.h +17 -4
  582. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb.h +14 -8
  583. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c +15 -5
  584. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.h +7 -4
  585. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb.h +8 -6
  586. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.c +11 -1
  587. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.h +7 -4
  588. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb.h +47 -22
  589. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.c +58 -20
  590. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.h +14 -4
  591. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb.h +16 -8
  592. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.c +18 -4
  593. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.h +8 -4
  594. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb.h +72 -19
  595. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.c +60 -22
  596. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.h +14 -4
  597. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb.h +69 -23
  598. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.c +31 -12
  599. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.h +8 -4
  600. data/src/core/ext/upb-gen/udpa/annotations/security.upb.h +19 -9
  601. data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.c +13 -6
  602. data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.h +6 -4
  603. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb.h +6 -5
  604. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.c +4 -1
  605. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.h +5 -4
  606. data/src/core/ext/upb-gen/udpa/annotations/status.upb.h +19 -9
  607. data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.c +13 -6
  608. data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.h +6 -4
  609. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb.h +18 -8
  610. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.c +13 -6
  611. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.h +6 -4
  612. data/src/core/ext/upb-gen/validate/validate.upb.h +264 -172
  613. data/src/core/ext/upb-gen/validate/validate.upb_minitable.c +185 -87
  614. data/src/core/ext/upb-gen/validate/validate.upb_minitable.h +29 -5
  615. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb.h +69 -23
  616. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.c +31 -12
  617. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.h +8 -4
  618. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb.h +19 -9
  619. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.c +13 -6
  620. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.h +6 -4
  621. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb.h +6 -5
  622. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.c +4 -1
  623. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.h +5 -4
  624. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb.h +46 -18
  625. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.c +32 -11
  626. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.h +9 -4
  627. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb.h +18 -8
  628. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.c +13 -6
  629. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.h +6 -4
  630. data/src/core/ext/upb-gen/xds/core/v3/authority.upb.h +6 -5
  631. data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.c +7 -1
  632. data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.h +6 -4
  633. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb.h +9 -6
  634. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.c +10 -4
  635. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.h +6 -4
  636. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb.h +16 -9
  637. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.c +18 -8
  638. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.h +7 -4
  639. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb.h +11 -4
  640. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.c +14 -4
  641. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.h +7 -4
  642. data/src/core/ext/upb-gen/xds/core/v3/extension.upb.h +9 -6
  643. data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.c +10 -4
  644. data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.h +6 -4
  645. data/src/core/ext/upb-gen/xds/core/v3/resource.upb.h +12 -7
  646. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.c +11 -5
  647. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.h +6 -4
  648. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb.h +21 -11
  649. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.c +18 -8
  650. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.h +7 -4
  651. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb.h +11 -8
  652. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.c +10 -4
  653. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.h +6 -4
  654. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb.h +29 -10
  655. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.c +24 -6
  656. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.h +9 -4
  657. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb.h +8 -5
  658. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.c +10 -4
  659. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.h +6 -4
  660. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb.h +9 -6
  661. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.c +10 -4
  662. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.h +6 -4
  663. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb.h +13 -5
  664. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.c +17 -7
  665. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.h +7 -4
  666. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb.h +5 -4
  667. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.c +7 -1
  668. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.h +6 -4
  669. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb.h +19 -6
  670. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.c +18 -8
  671. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.h +7 -4
  672. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb.h +81 -22
  673. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.c +85 -43
  674. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.h +15 -4
  675. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb.h +44 -7
  676. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.c +48 -22
  677. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.h +11 -4
  678. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb.h +9 -6
  679. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.c +14 -4
  680. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.h +7 -4
  681. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb.h +18 -10
  682. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.c +17 -7
  683. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.h +7 -4
  684. data/src/core/ext/upb-gen/xds/type/v3/cel.upb.h +17 -8
  685. data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.c +19 -9
  686. data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.h +7 -4
  687. data/src/core/ext/upb-gen/xds/type/v3/range.upb.h +12 -10
  688. data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.c +15 -1
  689. data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.h +8 -4
  690. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb.h +9 -6
  691. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.c +10 -4
  692. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.h +6 -4
  693. data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.c +2 -1
  694. data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.h +5 -4
  695. data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.c +2 -1
  696. data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.h +5 -4
  697. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.c +2 -1
  698. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.h +5 -4
  699. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.c +13 -11
  700. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.h +5 -4
  701. data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.c +2 -1
  702. data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.h +5 -4
  703. data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.c +2 -1
  704. data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.h +5 -4
  705. data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.c +2 -1
  706. data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.h +5 -4
  707. data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.c +2 -1
  708. data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.h +5 -4
  709. data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.c +2 -1
  710. data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.h +5 -4
  711. data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.c +88 -82
  712. data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.h +5 -4
  713. data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.c +2 -1
  714. data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.h +5 -4
  715. data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.c +2 -1
  716. data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.h +5 -4
  717. data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.c +2 -1
  718. data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.h +5 -4
  719. data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.c +63 -61
  720. data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.h +5 -4
  721. data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +223 -211
  722. data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +10 -4
  723. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +2 -1
  724. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +5 -4
  725. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.c +419 -393
  726. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.h +10 -4
  727. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.c +2 -1
  728. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.h +5 -4
  729. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.c +116 -106
  730. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.h +5 -4
  731. data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.c +2 -1
  732. data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.h +5 -4
  733. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.c +2 -1
  734. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.h +5 -4
  735. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.c +2 -1
  736. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.h +5 -4
  737. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.c +201 -147
  738. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.h +35 -4
  739. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.c +12 -12
  740. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.h +5 -4
  741. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.c +2 -1
  742. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.h +5 -4
  743. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.c +2 -1
  744. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.h +5 -4
  745. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.c +2 -1
  746. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.h +5 -4
  747. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.c +175 -165
  748. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.h +5 -4
  749. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.c +199 -188
  750. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.h +5 -4
  751. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_service.upbdefs.c +2 -1
  752. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_service.upbdefs.h +5 -4
  753. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.c +2 -1
  754. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.h +5 -4
  755. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.c +270 -256
  756. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.h +5 -4
  757. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.c +2 -1
  758. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.h +5 -4
  759. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.c +2 -1
  760. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.h +5 -4
  761. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.c +46 -0
  762. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.h +33 -0
  763. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.c +31 -20
  764. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.h +20 -4
  765. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.c +2 -1
  766. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.h +5 -4
  767. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.c +2 -1
  768. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.h +5 -4
  769. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.c +2 -1
  770. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.h +5 -4
  771. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +41 -37
  772. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +5 -4
  773. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.c +124 -94
  774. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.h +10 -4
  775. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.c +2 -1
  776. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.h +5 -4
  777. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.c +43 -40
  778. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.h +5 -4
  779. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.c +60 -66
  780. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.h +5 -9
  781. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.c +75 -56
  782. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.h +5 -4
  783. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.c +2 -1
  784. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.h +5 -4
  785. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.c +2 -1
  786. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.h +5 -4
  787. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.c +2 -1
  788. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.h +5 -4
  789. data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.c +51 -49
  790. data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.h +5 -4
  791. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.c +119 -97
  792. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.h +10 -4
  793. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.c +2 -1
  794. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.h +5 -4
  795. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.c +910 -894
  796. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.h +10 -4
  797. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.c +2 -1
  798. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.h +5 -4
  799. data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.c +2 -1
  800. data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.h +5 -4
  801. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.c +32 -21
  802. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.h +10 -4
  803. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.c +20 -18
  804. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.h +5 -4
  805. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.c +2 -1
  806. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.h +5 -4
  807. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.c +2 -1
  808. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.h +5 -4
  809. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.c +2 -1
  810. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.h +5 -4
  811. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.c +2 -1
  812. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.h +5 -4
  813. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.c +2 -1
  814. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.h +5 -4
  815. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.c +17 -19
  816. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.h +5 -4
  817. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.c +2 -1
  818. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.h +5 -4
  819. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.c +23 -21
  820. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.h +5 -4
  821. data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.c +147 -143
  822. data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.h +5 -4
  823. data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +2 -1
  824. data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +5 -4
  825. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +2 -1
  826. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +5 -4
  827. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +2 -1
  828. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +5 -4
  829. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.c +87 -0
  830. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.h +48 -0
  831. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +38 -34
  832. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +5 -4
  833. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.c +2 -1
  834. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.h +5 -4
  835. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +2 -1
  836. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +5 -4
  837. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +465 -459
  838. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +5 -4
  839. data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +2 -1
  840. data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +5 -4
  841. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.c +50 -0
  842. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.h +33 -0
  843. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +2 -1
  844. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +5 -4
  845. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +96 -88
  846. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +10 -4
  847. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +2 -1
  848. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +5 -4
  849. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +204 -192
  850. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +5 -4
  851. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +2 -1
  852. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +5 -4
  853. data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.c +2 -1
  854. data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.h +5 -4
  855. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.c +2 -1
  856. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.h +5 -4
  857. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.c +150 -136
  858. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.h +10 -4
  859. data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.c +2 -1
  860. data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.h +5 -4
  861. data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.c +25 -23
  862. data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.h +5 -4
  863. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.c +2 -1
  864. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.h +5 -4
  865. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.c +2 -1
  866. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.h +5 -4
  867. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.c +2 -1
  868. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.h +5 -4
  869. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.c +2 -1
  870. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.h +5 -4
  871. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.c +2 -1
  872. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.h +5 -4
  873. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.c +2 -1
  874. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.h +5 -4
  875. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.c +2 -1
  876. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.h +5 -4
  877. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.c +2 -1
  878. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.h +5 -4
  879. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.c +2 -1
  880. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.h +5 -4
  881. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.c +2 -1
  882. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.h +5 -4
  883. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.c +41 -34
  884. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.h +5 -4
  885. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.c +2 -1
  886. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.h +5 -4
  887. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.c +2 -1
  888. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.h +5 -4
  889. data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.c +2 -1
  890. data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.h +5 -4
  891. data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.c +2 -1
  892. data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.h +5 -4
  893. data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.c +2 -1
  894. data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.h +5 -4
  895. data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.c +2 -1
  896. data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.h +5 -4
  897. data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.c +2 -1
  898. data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.h +5 -4
  899. data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.c +2 -1
  900. data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.h +5 -4
  901. data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.c +2 -1
  902. data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.h +5 -4
  903. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.c +2 -1
  904. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.h +5 -4
  905. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.c +2 -1
  906. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.h +5 -4
  907. data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.c +2 -1
  908. data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.h +5 -4
  909. data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.c +2 -1
  910. data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.h +5 -4
  911. data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.c +2 -1
  912. data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.h +5 -4
  913. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.c +110 -108
  914. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.h +5 -4
  915. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.c +103 -79
  916. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.h +15 -4
  917. data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.c +2 -1
  918. data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.h +5 -4
  919. data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.c +2 -1
  920. data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.h +5 -4
  921. data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.c +2 -1
  922. data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.h +5 -4
  923. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.c +485 -458
  924. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.h +10 -4
  925. data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.c +2 -1
  926. data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.h +5 -4
  927. data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.c +2 -1
  928. data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.h +5 -4
  929. data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.c +2 -1
  930. data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.h +5 -4
  931. data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.c +2 -1
  932. data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.h +5 -4
  933. data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.c +2 -1
  934. data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.h +5 -4
  935. data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.c +2 -1
  936. data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.h +5 -4
  937. data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +2 -1
  938. data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +5 -4
  939. data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.c +2 -1
  940. data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.h +5 -4
  941. data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.c +2 -1
  942. data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.h +5 -4
  943. data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.c +2 -1
  944. data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.h +5 -4
  945. data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.c +2 -1
  946. data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.h +5 -4
  947. data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.c +2 -1
  948. data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.h +5 -4
  949. data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.c +2 -1
  950. data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.h +5 -4
  951. data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.c +2 -1
  952. data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.h +5 -4
  953. data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.c +2 -1
  954. data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.h +5 -4
  955. data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.c +2 -1
  956. data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.h +5 -4
  957. data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.c +2 -1
  958. data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.h +5 -4
  959. data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.c +2 -1
  960. data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.h +5 -4
  961. data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.c +2 -1
  962. data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.h +5 -4
  963. data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.c +2 -1
  964. data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.h +5 -4
  965. data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.c +2 -1
  966. data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.h +5 -4
  967. data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.c +2 -1
  968. data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.h +5 -4
  969. data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.c +2 -1
  970. data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.h +5 -4
  971. data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.c +2 -1
  972. data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.h +5 -4
  973. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.c +2 -1
  974. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.h +5 -4
  975. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.c +2 -1
  976. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.h +5 -4
  977. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.c +2 -1
  978. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.h +5 -4
  979. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.c +2 -1
  980. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.h +5 -4
  981. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.c +2 -1
  982. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.h +5 -4
  983. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.c +2 -1
  984. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.h +5 -4
  985. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.c +2 -1
  986. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.h +5 -4
  987. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.c +2 -1
  988. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.h +5 -4
  989. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.c +2 -1
  990. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.h +5 -4
  991. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.c +2 -1
  992. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.h +5 -4
  993. data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.c +2 -1
  994. data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.h +5 -4
  995. data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.c +2 -1
  996. data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h +5 -4
  997. data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.c +2 -1
  998. data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h +5 -4
  999. data/src/core/filter/blackboard.cc +33 -0
  1000. data/src/core/filter/blackboard.h +70 -0
  1001. data/src/core/filter/filter_args.h +112 -0
  1002. data/src/core/handshaker/endpoint_info/endpoint_info_handshaker.cc +13 -12
  1003. data/src/core/handshaker/endpoint_info/endpoint_info_handshaker.h +1 -1
  1004. data/src/core/handshaker/handshaker.cc +127 -159
  1005. data/src/core/handshaker/handshaker.h +58 -52
  1006. data/src/core/handshaker/handshaker_registry.cc +1 -2
  1007. data/src/core/handshaker/handshaker_registry.h +2 -2
  1008. data/src/core/handshaker/http_connect/http_connect_handshaker.cc +119 -159
  1009. data/src/core/handshaker/http_connect/http_connect_handshaker.h +1 -1
  1010. data/src/core/handshaker/http_connect/http_proxy_mapper.cc +30 -37
  1011. data/src/core/handshaker/http_connect/http_proxy_mapper.h +3 -4
  1012. data/src/core/handshaker/http_connect/xds_http_proxy_mapper.cc +57 -0
  1013. data/src/core/handshaker/http_connect/xds_http_proxy_mapper.h +46 -0
  1014. data/src/core/handshaker/proxy_mapper.h +2 -3
  1015. data/src/core/handshaker/proxy_mapper_registry.cc +2 -2
  1016. data/src/core/handshaker/proxy_mapper_registry.h +2 -3
  1017. data/src/core/handshaker/security/secure_endpoint.cc +95 -82
  1018. data/src/core/handshaker/security/secure_endpoint.h +6 -7
  1019. data/src/core/handshaker/security/security_handshaker.cc +167 -221
  1020. data/src/core/handshaker/security/security_handshaker.h +3 -4
  1021. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +48 -62
  1022. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.h +1 -1
  1023. data/src/core/lib/address_utils/parse_address.cc +30 -43
  1024. data/src/core/lib/address_utils/parse_address.h +2 -4
  1025. data/src/core/lib/address_utils/sockaddr_utils.cc +9 -12
  1026. data/src/core/lib/address_utils/sockaddr_utils.h +1 -3
  1027. data/src/core/lib/channel/call_finalization.h +2 -2
  1028. data/src/core/lib/channel/channel_args.cc +17 -23
  1029. data/src/core/lib/channel/channel_args.h +35 -21
  1030. data/src/core/lib/channel/channel_args_preconditioning.cc +2 -2
  1031. data/src/core/lib/channel/channel_args_preconditioning.h +4 -4
  1032. data/src/core/lib/channel/channel_stack.cc +13 -76
  1033. data/src/core/lib/channel/channel_stack.h +26 -61
  1034. data/src/core/lib/channel/channel_stack_builder.cc +2 -2
  1035. data/src/core/lib/channel/channel_stack_builder.h +3 -9
  1036. data/src/core/lib/channel/channel_stack_builder_impl.cc +5 -150
  1037. data/src/core/lib/channel/channel_stack_builder_impl.h +14 -4
  1038. data/src/core/lib/channel/connected_channel.cc +47 -689
  1039. data/src/core/lib/channel/promise_based_filter.cc +181 -251
  1040. data/src/core/lib/channel/promise_based_filter.h +149 -559
  1041. data/src/core/lib/channel/status_util.cc +2 -4
  1042. data/src/core/lib/channel/status_util.h +3 -3
  1043. data/src/core/lib/compression/compression.cc +7 -9
  1044. data/src/core/lib/compression/compression_internal.cc +5 -8
  1045. data/src/core/lib/compression/compression_internal.h +3 -5
  1046. data/src/core/lib/compression/message_compress.cc +9 -12
  1047. data/src/core/lib/debug/trace.cc +48 -66
  1048. data/src/core/lib/debug/trace.h +2 -97
  1049. data/src/core/lib/debug/trace_flags.cc +244 -0
  1050. data/src/core/lib/debug/trace_flags.h +132 -0
  1051. data/src/core/lib/debug/trace_impl.h +125 -0
  1052. data/src/core/lib/event_engine/ares_resolver.cc +149 -75
  1053. data/src/core/lib/event_engine/ares_resolver.h +13 -20
  1054. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +13 -16
  1055. data/src/core/lib/event_engine/cf_engine/cf_engine.h +1 -1
  1056. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +44 -31
  1057. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +4 -6
  1058. data/src/core/lib/event_engine/cf_engine/cftype_unique_ref.h +1 -1
  1059. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +26 -30
  1060. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.h +3 -5
  1061. data/src/core/lib/event_engine/channel_args_endpoint_config.cc +3 -4
  1062. data/src/core/lib/event_engine/channel_args_endpoint_config.h +2 -3
  1063. data/src/core/lib/event_engine/common_closures.h +3 -3
  1064. data/src/core/lib/event_engine/default_event_engine.cc +13 -15
  1065. data/src/core/lib/event_engine/default_event_engine.h +4 -4
  1066. data/src/core/lib/event_engine/default_event_engine_factory.cc +2 -2
  1067. data/src/core/lib/event_engine/default_event_engine_factory.h +2 -2
  1068. data/src/core/lib/event_engine/event_engine.cc +35 -4
  1069. data/src/core/lib/event_engine/event_engine_context.h +4 -2
  1070. data/src/core/lib/event_engine/extensions/can_track_errors.h +2 -2
  1071. data/src/core/lib/event_engine/extensions/chaotic_good_extension.h +1 -2
  1072. data/src/core/lib/event_engine/extensions/supports_fd.h +27 -3
  1073. data/src/core/lib/event_engine/extensions/tcp_trace.h +42 -0
  1074. data/src/core/lib/event_engine/forkable.cc +7 -9
  1075. data/src/core/lib/event_engine/forkable.h +2 -14
  1076. data/src/core/lib/event_engine/grpc_polled_fd.h +3 -4
  1077. data/src/core/lib/event_engine/handle_containers.h +2 -3
  1078. data/src/core/lib/event_engine/memory_allocator_factory.h +3 -4
  1079. data/src/core/lib/event_engine/nameser.h +1 -1
  1080. data/src/core/lib/event_engine/poller.h +2 -2
  1081. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +21 -23
  1082. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +8 -9
  1083. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +17 -21
  1084. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +4 -5
  1085. data/src/core/lib/event_engine/posix_engine/event_poller.h +3 -4
  1086. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +4 -5
  1087. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h +2 -2
  1088. data/src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h +4 -6
  1089. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +4 -4
  1090. data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +1 -2
  1091. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +5 -7
  1092. data/src/core/lib/event_engine/posix_engine/lockfree_event.h +2 -3
  1093. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +3 -4
  1094. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.h +2 -3
  1095. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +87 -79
  1096. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +11 -12
  1097. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +82 -58
  1098. data/src/core/lib/event_engine/posix_engine/posix_engine.h +18 -16
  1099. data/src/core/lib/event_engine/posix_engine/posix_engine_closure.h +3 -3
  1100. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +24 -28
  1101. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +14 -13
  1102. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +22 -28
  1103. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +1 -2
  1104. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +44 -38
  1105. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +10 -10
  1106. data/src/core/lib/event_engine/posix_engine/timer.cc +5 -5
  1107. data/src/core/lib/event_engine/posix_engine/timer.h +5 -7
  1108. data/src/core/lib/event_engine/posix_engine/timer_heap.cc +2 -3
  1109. data/src/core/lib/event_engine/posix_engine/timer_heap.h +2 -2
  1110. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +12 -21
  1111. data/src/core/lib/event_engine/posix_engine/timer_manager.h +5 -7
  1112. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +7 -9
  1113. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +3 -5
  1114. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +5 -6
  1115. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +2 -3
  1116. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +4 -5
  1117. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h +2 -3
  1118. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +2 -2
  1119. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +2 -3
  1120. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +2 -2
  1121. data/src/core/lib/event_engine/query_extensions.h +2 -2
  1122. data/src/core/lib/event_engine/ref_counted_dns_resolver_interface.h +3 -5
  1123. data/src/core/lib/event_engine/resolved_address.cc +5 -5
  1124. data/src/core/lib/event_engine/shim.cc +1 -1
  1125. data/src/core/lib/event_engine/slice.cc +3 -6
  1126. data/src/core/lib/event_engine/slice_buffer.cc +1 -2
  1127. data/src/core/lib/event_engine/tcp_socket_utils.cc +9 -18
  1128. data/src/core/lib/event_engine/tcp_socket_utils.h +3 -3
  1129. data/src/core/lib/event_engine/thread_local.h +1 -1
  1130. data/src/core/lib/event_engine/thread_pool/thread_count.cc +5 -7
  1131. data/src/core/lib/event_engine/thread_pool/thread_count.h +6 -7
  1132. data/src/core/lib/event_engine/thread_pool/thread_pool.h +2 -4
  1133. data/src/core/lib/event_engine/thread_pool/thread_pool_factory.cc +2 -3
  1134. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +40 -47
  1135. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +10 -15
  1136. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +50 -23
  1137. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +9 -8
  1138. data/src/core/lib/event_engine/time_util.cc +2 -2
  1139. data/src/core/lib/event_engine/time_util.h +1 -2
  1140. data/src/core/lib/event_engine/utils.cc +19 -5
  1141. data/src/core/lib/event_engine/utils.h +10 -4
  1142. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +126 -101
  1143. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.h +4 -6
  1144. data/src/core/lib/event_engine/windows/iocp.cc +14 -14
  1145. data/src/core/lib/event_engine/windows/iocp.h +2 -3
  1146. data/src/core/lib/event_engine/windows/native_windows_dns_resolver.cc +4 -6
  1147. data/src/core/lib/event_engine/windows/win_socket.cc +42 -33
  1148. data/src/core/lib/event_engine/windows/win_socket.h +8 -10
  1149. data/src/core/lib/event_engine/windows/windows_endpoint.cc +46 -33
  1150. data/src/core/lib/event_engine/windows/windows_engine.cc +243 -134
  1151. data/src/core/lib/event_engine/windows/windows_engine.h +143 -33
  1152. data/src/core/lib/event_engine/windows/windows_listener.cc +22 -37
  1153. data/src/core/lib/event_engine/windows/windows_listener.h +4 -5
  1154. data/src/core/lib/event_engine/work_queue/basic_work_queue.cc +3 -3
  1155. data/src/core/lib/event_engine/work_queue/basic_work_queue.h +3 -5
  1156. data/src/core/lib/event_engine/work_queue/work_queue.h +2 -3
  1157. data/src/core/lib/experiments/config.cc +55 -28
  1158. data/src/core/lib/experiments/config.h +56 -3
  1159. data/src/core/lib/experiments/experiments.cc +376 -323
  1160. data/src/core/lib/experiments/experiments.h +166 -141
  1161. data/src/core/lib/iomgr/buffer_list.cc +6 -6
  1162. data/src/core/lib/iomgr/buffer_list.h +2 -3
  1163. data/src/core/lib/iomgr/call_combiner.cc +39 -66
  1164. data/src/core/lib/iomgr/call_combiner.h +13 -17
  1165. data/src/core/lib/iomgr/cfstream_handle.cc +14 -20
  1166. data/src/core/lib/iomgr/cfstream_handle.h +1 -1
  1167. data/src/core/lib/iomgr/closure.cc +2 -2
  1168. data/src/core/lib/iomgr/closure.h +15 -20
  1169. data/src/core/lib/iomgr/combiner.cc +33 -48
  1170. data/src/core/lib/iomgr/combiner.h +2 -5
  1171. data/src/core/lib/iomgr/endpoint.cc +0 -6
  1172. data/src/core/lib/iomgr/endpoint.h +3 -4
  1173. data/src/core/lib/iomgr/endpoint_cfstream.cc +40 -73
  1174. data/src/core/lib/iomgr/endpoint_pair_posix.cc +3 -6
  1175. data/src/core/lib/iomgr/endpoint_pair_windows.cc +6 -8
  1176. data/src/core/lib/iomgr/error.cc +22 -32
  1177. data/src/core/lib/iomgr/error.h +7 -10
  1178. data/src/core/lib/iomgr/error_cfstream.cc +1 -3
  1179. data/src/core/lib/iomgr/ev_apple.cc +16 -24
  1180. data/src/core/lib/iomgr/ev_epoll1_linux.cc +69 -115
  1181. data/src/core/lib/iomgr/ev_poll_posix.cc +53 -53
  1182. data/src/core/lib/iomgr/ev_posix.cc +67 -58
  1183. data/src/core/lib/iomgr/ev_posix.h +9 -12
  1184. data/src/core/lib/iomgr/event_engine_shims/closure.cc +10 -13
  1185. data/src/core/lib/iomgr/event_engine_shims/closure.h +1 -2
  1186. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +34 -52
  1187. data/src/core/lib/iomgr/event_engine_shims/endpoint.h +2 -2
  1188. data/src/core/lib/iomgr/event_engine_shims/tcp_client.cc +9 -13
  1189. data/src/core/lib/iomgr/exec_ctx.cc +10 -14
  1190. data/src/core/lib/iomgr/exec_ctx.h +33 -25
  1191. data/src/core/lib/iomgr/executor.cc +55 -53
  1192. data/src/core/lib/iomgr/executor.h +2 -2
  1193. data/src/core/lib/iomgr/fork_posix.cc +11 -15
  1194. data/src/core/lib/iomgr/fork_windows.cc +3 -2
  1195. data/src/core/lib/iomgr/internal_errqueue.cc +4 -4
  1196. data/src/core/lib/iomgr/iocp_windows.cc +8 -10
  1197. data/src/core/lib/iomgr/iomgr.cc +18 -24
  1198. data/src/core/lib/iomgr/iomgr.h +1 -2
  1199. data/src/core/lib/iomgr/iomgr_internal.cc +1 -2
  1200. data/src/core/lib/iomgr/iomgr_internal.h +1 -2
  1201. data/src/core/lib/iomgr/iomgr_posix.cc +2 -1
  1202. data/src/core/lib/iomgr/iomgr_windows.cc +4 -5
  1203. data/src/core/lib/iomgr/lockfree_event.cc +10 -20
  1204. data/src/core/lib/iomgr/nameser.h +1 -1
  1205. data/src/core/lib/iomgr/polling_entity.cc +13 -7
  1206. data/src/core/lib/iomgr/pollset.h +0 -2
  1207. data/src/core/lib/iomgr/pollset_set_windows.cc +1 -2
  1208. data/src/core/lib/iomgr/pollset_windows.cc +2 -6
  1209. data/src/core/lib/iomgr/port.h +2 -2
  1210. data/src/core/lib/iomgr/resolve_address.cc +3 -5
  1211. data/src/core/lib/iomgr/resolve_address.h +4 -6
  1212. data/src/core/lib/iomgr/resolve_address_impl.h +1 -2
  1213. data/src/core/lib/iomgr/resolve_address_posix.cc +12 -21
  1214. data/src/core/lib/iomgr/resolve_address_posix.h +2 -2
  1215. data/src/core/lib/iomgr/resolve_address_windows.cc +9 -12
  1216. data/src/core/lib/iomgr/resolve_address_windows.h +2 -2
  1217. data/src/core/lib/iomgr/resolved_address.h +1 -2
  1218. data/src/core/lib/iomgr/sockaddr_utils_posix.cc +3 -6
  1219. data/src/core/lib/iomgr/socket_factory_posix.cc +1 -1
  1220. data/src/core/lib/iomgr/socket_mutator.cc +2 -3
  1221. data/src/core/lib/iomgr/socket_mutator.h +1 -2
  1222. data/src/core/lib/iomgr/socket_utils.h +1 -2
  1223. data/src/core/lib/iomgr/socket_utils_common_posix.cc +43 -52
  1224. data/src/core/lib/iomgr/socket_utils_linux.cc +1 -3
  1225. data/src/core/lib/iomgr/socket_utils_posix.cc +4 -7
  1226. data/src/core/lib/iomgr/socket_utils_windows.cc +1 -3
  1227. data/src/core/lib/iomgr/socket_windows.cc +7 -11
  1228. data/src/core/lib/iomgr/socket_windows.h +1 -2
  1229. data/src/core/lib/iomgr/tcp_client_cfstream.cc +12 -20
  1230. data/src/core/lib/iomgr/tcp_client_posix.cc +19 -32
  1231. data/src/core/lib/iomgr/tcp_client_windows.cc +8 -13
  1232. data/src/core/lib/iomgr/tcp_posix.cc +86 -156
  1233. data/src/core/lib/iomgr/tcp_posix.h +1 -3
  1234. data/src/core/lib/iomgr/tcp_server.h +2 -2
  1235. data/src/core/lib/iomgr/tcp_server_posix.cc +40 -58
  1236. data/src/core/lib/iomgr/tcp_server_utils_posix.h +2 -3
  1237. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +7 -11
  1238. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +11 -13
  1239. data/src/core/lib/iomgr/tcp_server_windows.cc +20 -28
  1240. data/src/core/lib/iomgr/tcp_windows.cc +32 -62
  1241. data/src/core/lib/iomgr/timer.h +2 -2
  1242. data/src/core/lib/iomgr/timer_generic.cc +72 -105
  1243. data/src/core/lib/iomgr/timer_heap.cc +3 -4
  1244. data/src/core/lib/iomgr/timer_manager.cc +25 -43
  1245. data/src/core/lib/iomgr/timer_manager.h +1 -2
  1246. data/src/core/lib/iomgr/unix_sockets_posix.cc +4 -6
  1247. data/src/core/lib/iomgr/unix_sockets_posix.h +3 -4
  1248. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +0 -4
  1249. data/src/core/lib/iomgr/vsock.cc +3 -6
  1250. data/src/core/lib/iomgr/vsock.h +3 -4
  1251. data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +2 -4
  1252. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +6 -7
  1253. data/src/core/lib/promise/activity.cc +4 -4
  1254. data/src/core/lib/promise/activity.h +77 -25
  1255. data/src/core/lib/promise/all_ok.h +54 -11
  1256. data/src/core/lib/promise/arena_promise.h +2 -4
  1257. data/src/core/lib/promise/cancel_callback.h +34 -6
  1258. data/src/core/lib/promise/context.h +19 -10
  1259. data/src/core/lib/promise/detail/basic_seq.h +33 -20
  1260. data/src/core/lib/promise/detail/join_state.h +556 -762
  1261. data/src/core/lib/promise/detail/promise_factory.h +47 -31
  1262. data/src/core/lib/promise/detail/promise_like.h +44 -12
  1263. data/src/core/lib/promise/detail/seq_state.h +1314 -1977
  1264. data/src/core/lib/promise/detail/status.h +36 -15
  1265. data/src/core/lib/promise/exec_ctx_wakeup_scheduler.h +2 -3
  1266. data/src/core/lib/promise/for_each.h +34 -37
  1267. data/src/core/lib/promise/if.h +23 -19
  1268. data/src/core/lib/promise/interceptor_list.h +21 -35
  1269. data/src/core/lib/promise/latch.h +19 -34
  1270. data/src/core/lib/promise/loop.h +25 -12
  1271. data/src/core/lib/promise/map.h +120 -10
  1272. data/src/core/lib/promise/observable.h +181 -0
  1273. data/src/core/lib/promise/party.cc +291 -148
  1274. data/src/core/lib/promise/party.h +192 -386
  1275. data/src/core/lib/promise/pipe.h +21 -44
  1276. data/src/core/lib/promise/poll.h +115 -38
  1277. data/src/core/lib/promise/prioritized_race.h +2 -2
  1278. data/src/core/lib/promise/promise.h +14 -8
  1279. data/src/core/lib/promise/race.h +12 -7
  1280. data/src/core/lib/promise/seq.h +58 -65
  1281. data/src/core/lib/promise/sleep.cc +3 -3
  1282. data/src/core/lib/promise/sleep.h +5 -5
  1283. data/src/core/lib/promise/status_flag.h +165 -49
  1284. data/src/core/lib/promise/try_join.h +37 -21
  1285. data/src/core/lib/promise/try_seq.h +112 -77
  1286. data/src/core/lib/resource_quota/api.cc +4 -6
  1287. data/src/core/lib/resource_quota/api.h +2 -3
  1288. data/src/core/lib/resource_quota/arena.cc +64 -86
  1289. data/src/core/lib/resource_quota/arena.h +148 -212
  1290. data/src/core/lib/resource_quota/connection_quota.cc +2 -3
  1291. data/src/core/lib/resource_quota/connection_quota.h +9 -6
  1292. data/src/core/lib/resource_quota/memory_quota.cc +44 -45
  1293. data/src/core/lib/resource_quota/memory_quota.h +25 -19
  1294. data/src/core/lib/resource_quota/periodic_update.cc +5 -5
  1295. data/src/core/lib/resource_quota/periodic_update.h +2 -4
  1296. data/src/core/lib/resource_quota/resource_quota.h +8 -9
  1297. data/src/core/lib/resource_quota/thread_quota.cc +2 -3
  1298. data/src/core/lib/resource_quota/thread_quota.h +5 -6
  1299. data/src/core/lib/security/authorization/audit_logging.cc +5 -7
  1300. data/src/core/lib/security/authorization/audit_logging.h +5 -6
  1301. data/src/core/lib/security/authorization/authorization_engine.h +3 -3
  1302. data/src/core/lib/security/authorization/authorization_policy_provider.h +4 -5
  1303. data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +2 -2
  1304. data/src/core/lib/security/authorization/evaluate_args.cc +10 -14
  1305. data/src/core/lib/security/authorization/evaluate_args.h +3 -4
  1306. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +2 -4
  1307. data/src/core/lib/security/authorization/grpc_authorization_engine.h +2 -3
  1308. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +22 -30
  1309. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +5 -3
  1310. data/src/core/lib/security/authorization/matchers.cc +5 -7
  1311. data/src/core/lib/security/authorization/matchers.h +2 -4
  1312. data/src/core/lib/security/authorization/rbac_policy.cc +2 -2
  1313. data/src/core/lib/security/authorization/rbac_policy.h +3 -5
  1314. data/src/core/lib/security/authorization/stdout_logger.cc +4 -5
  1315. data/src/core/lib/security/authorization/stdout_logger.h +4 -4
  1316. data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +8 -9
  1317. data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +4 -5
  1318. data/src/core/lib/security/certificate_provider/certificate_provider_registry.h +2 -3
  1319. data/src/core/lib/security/context/security_context.cc +48 -48
  1320. data/src/core/lib/security/context/security_context.h +47 -18
  1321. data/src/core/lib/security/credentials/alts/alts_credentials.cc +5 -5
  1322. data/src/core/lib/security/credentials/alts/alts_credentials.h +9 -5
  1323. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +4 -4
  1324. data/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc +1 -2
  1325. data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +3 -5
  1326. data/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +3 -5
  1327. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +4 -5
  1328. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +3 -3
  1329. data/src/core/lib/security/credentials/call_creds_util.cc +8 -7
  1330. data/src/core/lib/security/credentials/call_creds_util.h +2 -2
  1331. data/src/core/lib/security/credentials/channel_creds_registry.h +7 -8
  1332. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +15 -14
  1333. data/src/core/lib/security/credentials/composite/composite_credentials.cc +10 -14
  1334. data/src/core/lib/security/credentials/composite/composite_credentials.h +11 -10
  1335. data/src/core/lib/security/credentials/credentials.cc +18 -19
  1336. data/src/core/lib/security/credentials/credentials.h +12 -14
  1337. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +335 -339
  1338. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +60 -48
  1339. data/src/core/lib/security/credentials/external/aws_request_signer.cc +4 -5
  1340. data/src/core/lib/security/credentials/external/aws_request_signer.h +3 -3
  1341. data/src/core/lib/security/credentials/external/external_account_credentials.cc +409 -374
  1342. data/src/core/lib/security/credentials/external/external_account_credentials.h +128 -60
  1343. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +90 -52
  1344. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +32 -11
  1345. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +102 -129
  1346. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +22 -24
  1347. data/src/core/lib/security/credentials/fake/fake_credentials.cc +2 -4
  1348. data/src/core/lib/security/credentials/fake/fake_credentials.h +9 -8
  1349. data/src/core/lib/security/credentials/gcp_service_account_identity/gcp_service_account_identity_credentials.cc +195 -0
  1350. data/src/core/lib/security/credentials/gcp_service_account_identity/gcp_service_account_identity_credentials.h +90 -0
  1351. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +6 -7
  1352. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +56 -74
  1353. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +8 -6
  1354. data/src/core/lib/security/credentials/iam/iam_credentials.cc +5 -10
  1355. data/src/core/lib/security/credentials/iam/iam_credentials.h +8 -7
  1356. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +2 -2
  1357. data/src/core/lib/security/credentials/insecure/insecure_credentials.h +2 -2
  1358. data/src/core/lib/security/credentials/jwt/json_token.cc +25 -29
  1359. data/src/core/lib/security/credentials/jwt/json_token.h +2 -3
  1360. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +22 -29
  1361. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +10 -10
  1362. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +68 -75
  1363. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +3 -4
  1364. data/src/core/lib/security/credentials/local/local_credentials.cc +2 -2
  1365. data/src/core/lib/security/credentials/local/local_credentials.h +3 -3
  1366. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +195 -296
  1367. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +50 -73
  1368. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +20 -33
  1369. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +12 -14
  1370. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +35 -47
  1371. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +5 -8
  1372. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +3 -4
  1373. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +4 -5
  1374. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_match.cc +1 -3
  1375. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +102 -42
  1376. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +14 -13
  1377. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +6 -10
  1378. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +9 -11
  1379. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +10 -13
  1380. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +1 -1
  1381. data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.cc +6 -10
  1382. data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.h +8 -10
  1383. data/src/core/lib/security/credentials/tls/tls_credentials.cc +20 -23
  1384. data/src/core/lib/security/credentials/tls/tls_credentials.h +5 -3
  1385. data/src/core/lib/security/credentials/tls/tls_utils.cc +5 -6
  1386. data/src/core/lib/security/credentials/tls/tls_utils.h +3 -3
  1387. data/src/core/lib/security/credentials/token_fetcher/token_fetcher_credentials.cc +305 -0
  1388. data/src/core/lib/security/credentials/token_fetcher/token_fetcher_credentials.h +181 -0
  1389. data/src/core/lib/security/credentials/xds/xds_credentials.cc +15 -13
  1390. data/src/core/lib/security/credentials/xds/xds_credentials.h +7 -9
  1391. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +22 -27
  1392. data/src/core/lib/security/security_connector/alts/alts_security_connector.h +1 -1
  1393. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +24 -24
  1394. data/src/core/lib/security/security_connector/fake/fake_security_connector.h +1 -1
  1395. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +4 -7
  1396. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +5 -6
  1397. data/src/core/lib/security/security_connector/load_system_roots_supported.cc +10 -12
  1398. data/src/core/lib/security/security_connector/load_system_roots_windows.cc +4 -6
  1399. data/src/core/lib/security/security_connector/local/local_security_connector.cc +25 -25
  1400. data/src/core/lib/security/security_connector/local/local_security_connector.h +1 -1
  1401. data/src/core/lib/security/security_connector/security_connector.cc +6 -11
  1402. data/src/core/lib/security/security_connector/security_connector.h +8 -11
  1403. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +23 -27
  1404. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +2 -3
  1405. data/src/core/lib/security/security_connector/ssl_utils.cc +34 -35
  1406. data/src/core/lib/security/security_connector/ssl_utils.h +7 -9
  1407. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +37 -50
  1408. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +7 -8
  1409. data/src/core/lib/security/transport/auth_filters.h +7 -3
  1410. data/src/core/lib/security/transport/client_auth_filter.cc +16 -25
  1411. data/src/core/lib/security/transport/server_auth_filter.cc +20 -31
  1412. data/src/core/lib/security/util/json_util.cc +4 -5
  1413. data/src/core/lib/security/util/json_util.h +1 -1
  1414. data/src/core/lib/slice/percent_encoding.cc +2 -5
  1415. data/src/core/lib/slice/slice.cc +4 -7
  1416. data/src/core/lib/slice/slice.h +6 -9
  1417. data/src/core/lib/slice/slice_buffer.cc +5 -7
  1418. data/src/core/lib/slice/slice_buffer.h +3 -4
  1419. data/src/core/lib/slice/slice_internal.h +3 -6
  1420. data/src/core/lib/slice/slice_refcount.h +8 -15
  1421. data/src/core/lib/slice/slice_string_helpers.cc +1 -1
  1422. data/src/core/lib/slice/slice_string_helpers.h +1 -2
  1423. data/src/core/lib/surface/byte_buffer.cc +1 -2
  1424. data/src/core/lib/surface/byte_buffer_reader.cc +3 -6
  1425. data/src/core/lib/surface/call.cc +161 -3825
  1426. data/src/core/lib/surface/call.h +63 -157
  1427. data/src/core/lib/surface/call_details.cc +4 -3
  1428. data/src/core/lib/surface/call_log_batch.cc +8 -11
  1429. data/src/core/lib/surface/call_test_only.h +1 -2
  1430. data/src/core/lib/surface/call_utils.cc +231 -0
  1431. data/src/core/lib/surface/call_utils.h +488 -0
  1432. data/src/core/lib/surface/channel.cc +41 -40
  1433. data/src/core/lib/surface/channel.h +21 -19
  1434. data/src/core/lib/surface/channel_create.cc +28 -13
  1435. data/src/core/lib/surface/channel_create.h +5 -5
  1436. data/src/core/lib/surface/channel_init.cc +269 -266
  1437. data/src/core/lib/surface/channel_init.h +173 -119
  1438. data/src/core/lib/surface/client_call.cc +449 -0
  1439. data/src/core/lib/surface/client_call.h +192 -0
  1440. data/src/core/lib/surface/completion_queue.cc +111 -107
  1441. data/src/core/lib/surface/completion_queue.h +4 -13
  1442. data/src/core/lib/surface/completion_queue_factory.cc +1 -3
  1443. data/src/core/lib/surface/connection_context.cc +77 -0
  1444. data/src/core/lib/surface/connection_context.h +156 -0
  1445. data/src/core/lib/surface/event_string.cc +9 -3
  1446. data/src/core/lib/surface/event_string.h +2 -2
  1447. data/src/core/lib/surface/filter_stack_call.cc +1156 -0
  1448. data/src/core/lib/surface/filter_stack_call.h +366 -0
  1449. data/src/core/lib/surface/init.cc +59 -19
  1450. data/src/core/lib/surface/init.h +5 -0
  1451. data/src/core/lib/surface/init_internally.h +13 -2
  1452. data/src/core/lib/surface/lame_client.cc +12 -15
  1453. data/src/core/lib/surface/lame_client.h +6 -5
  1454. data/src/core/lib/surface/legacy_channel.cc +58 -44
  1455. data/src/core/lib/surface/legacy_channel.h +15 -25
  1456. data/src/core/lib/surface/metadata_array.cc +5 -5
  1457. data/src/core/lib/surface/server_call.cc +242 -0
  1458. data/src/core/lib/surface/server_call.h +167 -0
  1459. data/src/core/lib/surface/validate_metadata.cc +3 -4
  1460. data/src/core/lib/surface/validate_metadata.h +2 -5
  1461. data/src/core/lib/surface/version.cc +2 -2
  1462. data/src/core/lib/transport/bdp_estimator.cc +12 -20
  1463. data/src/core/lib/transport/bdp_estimator.h +10 -16
  1464. data/src/core/lib/transport/call_arena_allocator.cc +4 -18
  1465. data/src/core/lib/transport/call_arena_allocator.h +30 -12
  1466. data/src/core/lib/transport/call_destination.h +76 -0
  1467. data/src/core/lib/transport/call_filters.cc +67 -405
  1468. data/src/core/lib/transport/call_filters.h +810 -752
  1469. data/src/core/lib/transport/call_final_info.cc +2 -2
  1470. data/src/core/lib/transport/call_final_info.h +3 -3
  1471. data/src/core/lib/transport/call_spine.cc +51 -65
  1472. data/src/core/lib/transport/call_spine.h +294 -367
  1473. data/src/core/lib/transport/call_state.cc +39 -0
  1474. data/src/core/lib/transport/call_state.h +1154 -0
  1475. data/src/core/lib/transport/connectivity_state.cc +37 -45
  1476. data/src/core/lib/transport/connectivity_state.h +5 -8
  1477. data/src/core/lib/transport/error_utils.cc +3 -4
  1478. data/src/core/lib/transport/error_utils.h +4 -5
  1479. data/src/core/lib/transport/interception_chain.cc +155 -0
  1480. data/src/core/lib/transport/interception_chain.h +262 -0
  1481. data/src/core/lib/transport/message.cc +2 -2
  1482. data/src/core/lib/transport/message.h +5 -0
  1483. data/src/core/lib/transport/metadata.cc +27 -3
  1484. data/src/core/lib/transport/metadata.h +37 -2
  1485. data/src/core/lib/transport/metadata_batch.cc +12 -5
  1486. data/src/core/lib/transport/metadata_batch.h +73 -13
  1487. data/src/core/lib/transport/metadata_compression_traits.h +3 -4
  1488. data/src/core/lib/transport/metadata_info.h +1 -1
  1489. data/src/core/lib/transport/parsed_metadata.h +3 -5
  1490. data/src/core/lib/transport/simple_slice_based_metadata.h +1 -2
  1491. data/src/core/lib/transport/status_conversion.h +1 -1
  1492. data/src/core/lib/transport/timeout_encoding.cc +7 -8
  1493. data/src/core/lib/transport/timeout_encoding.h +2 -4
  1494. data/src/core/lib/transport/transport.cc +7 -12
  1495. data/src/core/lib/transport/transport.h +59 -56
  1496. data/src/core/lib/transport/transport_framing_endpoint_extension.h +47 -0
  1497. data/src/core/lib/transport/transport_op_string.cc +4 -6
  1498. data/src/core/load_balancing/address_filtering.cc +2 -4
  1499. data/src/core/load_balancing/address_filtering.h +4 -5
  1500. data/src/core/load_balancing/backend_metric_data.h +2 -2
  1501. data/src/core/load_balancing/backend_metric_parser.cc +1 -2
  1502. data/src/core/load_balancing/backend_metric_parser.h +1 -3
  1503. data/src/core/load_balancing/child_policy_handler.cc +37 -41
  1504. data/src/core/load_balancing/child_policy_handler.h +4 -5
  1505. data/src/core/load_balancing/delegating_helper.h +6 -7
  1506. data/src/core/load_balancing/endpoint_list.cc +22 -14
  1507. data/src/core/load_balancing/endpoint_list.h +20 -15
  1508. data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +12 -6
  1509. data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +5 -2
  1510. data/src/core/load_balancing/grpclb/grpclb.cc +154 -188
  1511. data/src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc +2 -3
  1512. data/src/core/load_balancing/grpclb/grpclb_client_stats.cc +2 -3
  1513. data/src/core/load_balancing/grpclb/grpclb_client_stats.h +5 -7
  1514. data/src/core/load_balancing/grpclb/load_balancer_api.cc +7 -10
  1515. data/src/core/load_balancing/grpclb/load_balancer_api.h +4 -6
  1516. data/src/core/load_balancing/health_check_client.cc +60 -80
  1517. data/src/core/load_balancing/health_check_client.h +3 -3
  1518. data/src/core/load_balancing/health_check_client_internal.h +8 -9
  1519. data/src/core/load_balancing/lb_policy.cc +5 -8
  1520. data/src/core/load_balancing/lb_policy.h +73 -47
  1521. data/src/core/load_balancing/lb_policy_factory.h +5 -6
  1522. data/src/core/load_balancing/lb_policy_registry.cc +5 -7
  1523. data/src/core/load_balancing/lb_policy_registry.h +5 -6
  1524. data/src/core/load_balancing/oob_backend_metric.cc +19 -25
  1525. data/src/core/load_balancing/oob_backend_metric.h +3 -3
  1526. data/src/core/load_balancing/oob_backend_metric_internal.h +8 -9
  1527. data/src/core/load_balancing/outlier_detection/outlier_detection.cc +141 -186
  1528. data/src/core/load_balancing/outlier_detection/outlier_detection.h +6 -8
  1529. data/src/core/load_balancing/pick_first/pick_first.cc +312 -360
  1530. data/src/core/load_balancing/priority/priority.cc +94 -138
  1531. data/src/core/load_balancing/ring_hash/ring_hash.cc +210 -146
  1532. data/src/core/load_balancing/ring_hash/ring_hash.h +10 -18
  1533. data/src/core/load_balancing/rls/rls.cc +341 -346
  1534. data/src/core/load_balancing/round_robin/round_robin.cc +66 -98
  1535. data/src/core/load_balancing/subchannel_interface.h +17 -6
  1536. data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc +4 -5
  1537. data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h +2 -3
  1538. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +151 -171
  1539. data/src/core/load_balancing/weighted_target/weighted_target.cc +72 -108
  1540. data/src/core/load_balancing/xds/cds.cc +54 -70
  1541. data/src/core/load_balancing/xds/xds_cluster_impl.cc +179 -156
  1542. data/src/core/load_balancing/xds/xds_cluster_manager.cc +53 -85
  1543. data/src/core/load_balancing/xds/xds_override_host.cc +121 -183
  1544. data/src/core/load_balancing/xds/xds_override_host.h +6 -7
  1545. data/src/core/load_balancing/xds/xds_wrr_locality.cc +39 -49
  1546. data/src/core/plugin_registry/grpc_plugin_registry.cc +6 -8
  1547. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +6 -1
  1548. data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +91 -66
  1549. data/src/core/resolver/dns/c_ares/dns_resolver_ares.h +2 -3
  1550. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver.h +4 -6
  1551. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +2 -6
  1552. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +119 -101
  1553. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +166 -151
  1554. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +4 -18
  1555. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
  1556. data/src/core/resolver/dns/dns_resolver_plugin.cc +10 -11
  1557. data/src/core/resolver/dns/dns_resolver_plugin.h +1 -1
  1558. data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +52 -59
  1559. data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.h +3 -4
  1560. data/src/core/resolver/dns/event_engine/service_config_helper.cc +8 -10
  1561. data/src/core/resolver/dns/event_engine/service_config_helper.h +2 -2
  1562. data/src/core/resolver/dns/native/dns_resolver.cc +22 -31
  1563. data/src/core/resolver/dns/native/dns_resolver.h +1 -1
  1564. data/src/core/resolver/endpoint_addresses.cc +2 -5
  1565. data/src/core/resolver/endpoint_addresses.h +5 -3
  1566. data/src/core/resolver/fake/fake_resolver.cc +8 -10
  1567. data/src/core/resolver/fake/fake_resolver.h +8 -9
  1568. data/src/core/resolver/google_c2p/google_c2p_resolver.cc +24 -26
  1569. data/src/core/resolver/polling_resolver.cc +39 -55
  1570. data/src/core/resolver/polling_resolver.h +8 -9
  1571. data/src/core/resolver/resolver.cc +2 -6
  1572. data/src/core/resolver/resolver.h +4 -10
  1573. data/src/core/resolver/resolver_factory.h +4 -5
  1574. data/src/core/resolver/resolver_registry.cc +8 -10
  1575. data/src/core/resolver/resolver_registry.h +4 -5
  1576. data/src/core/resolver/sockaddr/sockaddr_resolver.cc +8 -9
  1577. data/src/core/resolver/xds/xds_config.cc +95 -0
  1578. data/src/core/resolver/xds/xds_config.h +108 -0
  1579. data/src/core/resolver/xds/xds_dependency_manager.cc +213 -298
  1580. data/src/core/resolver/xds/xds_dependency_manager.h +30 -89
  1581. data/src/core/resolver/xds/xds_resolver.cc +141 -141
  1582. data/src/core/resolver/xds/xds_resolver_attributes.h +7 -4
  1583. data/src/core/server/server.cc +657 -492
  1584. data/src/core/server/server.h +246 -93
  1585. data/src/core/server/server_call_tracer_filter.cc +21 -20
  1586. data/src/core/server/server_call_tracer_filter.h +1 -1
  1587. data/src/core/server/server_config_selector.h +6 -7
  1588. data/src/core/server/server_config_selector_filter.cc +17 -12
  1589. data/src/core/server/server_interface.h +2 -0
  1590. data/src/core/server/xds_channel_stack_modifier.cc +5 -5
  1591. data/src/core/server/xds_channel_stack_modifier.h +6 -7
  1592. data/src/core/server/xds_server_config_fetcher.cc +133 -207
  1593. data/src/core/service_config/service_config.h +4 -6
  1594. data/src/core/service_config/service_config_call_data.h +21 -20
  1595. data/src/core/service_config/service_config_channel_arg_filter.cc +17 -13
  1596. data/src/core/service_config/service_config_impl.cc +9 -11
  1597. data/src/core/service_config/service_config_impl.h +5 -8
  1598. data/src/core/service_config/service_config_parser.cc +4 -8
  1599. data/src/core/service_config/service_config_parser.h +3 -5
  1600. data/src/core/telemetry/call_tracer.cc +386 -0
  1601. data/src/core/telemetry/call_tracer.h +263 -0
  1602. data/src/core/telemetry/histogram_view.cc +69 -0
  1603. data/src/core/telemetry/histogram_view.h +36 -0
  1604. data/src/core/telemetry/metrics.cc +180 -0
  1605. data/src/core/telemetry/metrics.h +569 -0
  1606. data/src/core/telemetry/stats.cc +67 -0
  1607. data/src/core/telemetry/stats.h +62 -0
  1608. data/src/core/telemetry/stats_data.cc +931 -0
  1609. data/src/core/telemetry/stats_data.h +705 -0
  1610. data/src/core/telemetry/tcp_tracer.h +143 -0
  1611. data/src/core/tsi/alts/crypt/aes_gcm.cc +5 -8
  1612. data/src/core/tsi/alts/crypt/gsec.cc +2 -3
  1613. data/src/core/tsi/alts/crypt/gsec.h +3 -4
  1614. data/src/core/tsi/alts/frame_protector/alts_counter.cc +1 -2
  1615. data/src/core/tsi/alts/frame_protector/alts_counter.h +3 -4
  1616. data/src/core/tsi/alts/frame_protector/alts_crypter.cc +1 -2
  1617. data/src/core/tsi/alts/frame_protector/alts_crypter.h +2 -3
  1618. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +16 -18
  1619. data/src/core/tsi/alts/frame_protector/alts_frame_protector.h +1 -2
  1620. data/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc +1 -1
  1621. data/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc +1 -1
  1622. data/src/core/tsi/alts/frame_protector/frame_handler.cc +11 -12
  1623. data/src/core/tsi/alts/frame_protector/frame_handler.h +1 -2
  1624. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +41 -46
  1625. data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +2 -4
  1626. data/src/core/tsi/alts/handshaker/alts_shared_resource.h +1 -1
  1627. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +55 -57
  1628. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +3 -3
  1629. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +17 -24
  1630. data/src/core/tsi/alts/handshaker/transport_security_common_api.h +3 -4
  1631. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +14 -17
  1632. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h +1 -2
  1633. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +11 -12
  1634. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h +1 -2
  1635. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +9 -11
  1636. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +3 -5
  1637. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h +1 -2
  1638. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +10 -14
  1639. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h +1 -2
  1640. data/src/core/tsi/fake_transport_security.cc +27 -32
  1641. data/src/core/tsi/local_transport_security.cc +9 -10
  1642. data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +9 -12
  1643. data/src/core/tsi/ssl/key_logging/ssl_key_logging.h +8 -10
  1644. data/src/core/tsi/ssl/session_cache/ssl_session.h +4 -5
  1645. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +7 -9
  1646. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +7 -8
  1647. data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +2 -4
  1648. data/src/core/tsi/ssl_transport_security.cc +135 -113
  1649. data/src/core/tsi/ssl_transport_security.h +6 -8
  1650. data/src/core/tsi/ssl_transport_security_utils.cc +77 -24
  1651. data/src/core/tsi/ssl_transport_security_utils.h +14 -5
  1652. data/src/core/tsi/ssl_types.h +1 -2
  1653. data/src/core/tsi/transport_security.cc +2 -7
  1654. data/src/core/tsi/transport_security.h +1 -4
  1655. data/src/core/tsi/transport_security_interface.h +3 -8
  1656. data/src/core/util/alloc.cc +69 -0
  1657. data/src/core/util/alloc.h +28 -0
  1658. data/src/core/util/atomic_utils.h +47 -0
  1659. data/src/core/util/avl.h +324 -0
  1660. data/src/core/util/backoff.cc +57 -0
  1661. data/src/core/util/backoff.h +86 -0
  1662. data/src/core/util/bitset.h +224 -0
  1663. data/src/core/util/chunked_vector.h +256 -0
  1664. data/src/core/util/construct_destruct.h +41 -0
  1665. data/src/core/util/cpp_impl_of.h +49 -0
  1666. data/src/core/util/crash.cc +40 -0
  1667. data/src/core/util/crash.h +36 -0
  1668. data/src/core/util/debug_location.h +106 -0
  1669. data/src/core/util/directory_reader.h +48 -0
  1670. data/src/core/util/down_cast.h +48 -0
  1671. data/src/core/util/dual_ref_counted.h +376 -0
  1672. data/src/core/util/dump_args.cc +54 -0
  1673. data/src/core/util/dump_args.h +122 -0
  1674. data/src/core/util/env.h +53 -0
  1675. data/src/core/util/event_log.cc +87 -0
  1676. data/src/core/util/event_log.h +79 -0
  1677. data/src/core/util/examine_stack.cc +43 -0
  1678. data/src/core/util/examine_stack.h +45 -0
  1679. data/src/core/util/fork.cc +241 -0
  1680. data/src/core/util/fork.h +98 -0
  1681. data/src/core/util/gcp_metadata_query.cc +132 -0
  1682. data/src/core/util/gcp_metadata_query.h +86 -0
  1683. data/src/core/util/gethostname.h +26 -0
  1684. data/src/core/util/gethostname_fallback.cc +30 -0
  1685. data/src/core/util/gethostname_host_name_max.cc +39 -0
  1686. data/src/core/util/gethostname_sysconf.cc +39 -0
  1687. data/src/core/util/glob.cc +70 -0
  1688. data/src/core/util/glob.h +29 -0
  1689. data/src/core/util/gpr_time.cc +268 -0
  1690. data/src/core/util/grpc_if_nametoindex.h +29 -0
  1691. data/src/core/util/grpc_if_nametoindex_posix.cc +41 -0
  1692. data/src/core/util/grpc_if_nametoindex_unsupported.cc +36 -0
  1693. data/src/core/util/host_port.cc +114 -0
  1694. data/src/core/util/host_port.h +57 -0
  1695. data/src/core/util/http_client/format_request.cc +134 -0
  1696. data/src/core/util/http_client/format_request.h +37 -0
  1697. data/src/core/util/http_client/httpcli.cc +428 -0
  1698. data/src/core/util/http_client/httpcli.h +279 -0
  1699. data/src/core/util/http_client/httpcli_security_connector.cc +210 -0
  1700. data/src/core/util/http_client/httpcli_ssl_credentials.h +38 -0
  1701. data/src/core/util/http_client/parser.cc +447 -0
  1702. data/src/core/util/http_client/parser.h +126 -0
  1703. data/src/core/util/if_list.h +4530 -0
  1704. data/src/core/util/iphone/cpu.cc +43 -0
  1705. data/src/core/util/json/json.h +29 -0
  1706. data/src/core/util/json/json_args.h +34 -0
  1707. data/src/core/util/json/json_channel_args.h +41 -0
  1708. data/src/core/util/json/json_object_loader.cc +215 -0
  1709. data/src/core/util/json/json_object_loader.h +644 -0
  1710. data/src/core/util/json/json_reader.cc +953 -0
  1711. data/src/core/util/json/json_reader.h +33 -0
  1712. data/src/core/util/json/json_util.cc +101 -0
  1713. data/src/core/util/json/json_util.h +163 -0
  1714. data/src/core/util/json/json_writer.cc +337 -0
  1715. data/src/core/util/json/json_writer.h +33 -0
  1716. data/src/core/util/latent_see.cc +163 -0
  1717. data/src/core/util/latent_see.h +334 -0
  1718. data/src/core/util/linux/cpu.cc +86 -0
  1719. data/src/core/util/linux/env.cc +62 -0
  1720. data/src/core/util/load_file.cc +75 -0
  1721. data/src/core/util/load_file.h +33 -0
  1722. data/src/core/util/log.cc +127 -0
  1723. data/src/core/util/lru_cache.h +122 -0
  1724. data/src/core/util/manual_constructor.h +145 -0
  1725. data/src/core/util/match.h +74 -0
  1726. data/src/core/util/matchers.cc +337 -0
  1727. data/src/core/util/matchers.h +162 -0
  1728. data/src/core/util/memory.h +52 -0
  1729. data/src/core/util/mpscq.cc +108 -0
  1730. data/src/core/util/mpscq.h +98 -0
  1731. data/src/core/util/msys/tmpfile.cc +57 -0
  1732. data/src/core/util/no_destruct.h +95 -0
  1733. data/src/core/util/notification.h +66 -0
  1734. data/src/core/util/orphanable.h +153 -0
  1735. data/src/core/util/overload.h +59 -0
  1736. data/src/core/util/packed_table.h +40 -0
  1737. data/src/core/util/per_cpu.cc +34 -0
  1738. data/src/core/util/per_cpu.h +102 -0
  1739. data/src/core/util/posix/cpu.cc +83 -0
  1740. data/src/core/util/posix/directory_reader.cc +82 -0
  1741. data/src/core/util/posix/env.cc +47 -0
  1742. data/src/core/util/posix/stat.cc +54 -0
  1743. data/src/core/util/posix/string.cc +71 -0
  1744. data/src/core/util/posix/sync.cc +158 -0
  1745. data/src/core/util/posix/thd.cc +243 -0
  1746. data/src/core/util/posix/time.cc +123 -0
  1747. data/src/core/util/posix/tmpfile.cc +71 -0
  1748. data/src/core/util/random_early_detection.cc +33 -0
  1749. data/src/core/util/random_early_detection.h +61 -0
  1750. data/src/core/util/ref_counted.h +403 -0
  1751. data/src/core/util/ref_counted_ptr.h +443 -0
  1752. data/src/core/util/ref_counted_string.cc +42 -0
  1753. data/src/core/util/ref_counted_string.h +159 -0
  1754. data/src/core/util/ring_buffer.h +123 -0
  1755. data/src/core/util/single_set_ptr.h +89 -0
  1756. data/src/core/util/sorted_pack.h +89 -0
  1757. data/src/core/util/spinlock.h +51 -0
  1758. data/src/core/util/stat.h +35 -0
  1759. data/src/core/util/status_helper.cc +431 -0
  1760. data/src/core/util/status_helper.h +160 -0
  1761. data/src/core/util/strerror.cc +40 -0
  1762. data/src/core/util/strerror.h +29 -0
  1763. data/src/core/util/string.cc +341 -0
  1764. data/src/core/util/string.h +110 -0
  1765. data/src/core/util/sync.cc +123 -0
  1766. data/src/core/util/sync.h +199 -0
  1767. data/src/core/util/sync_abseil.cc +107 -0
  1768. data/src/core/util/table.h +486 -0
  1769. data/src/core/util/tchar.cc +49 -0
  1770. data/src/core/util/tchar.h +33 -0
  1771. data/src/core/util/thd.h +193 -0
  1772. data/src/core/util/time.cc +240 -0
  1773. data/src/core/util/time.h +385 -0
  1774. data/src/core/util/time_averaged_stats.cc +60 -0
  1775. data/src/core/util/time_averaged_stats.h +79 -0
  1776. data/src/core/util/time_precise.cc +168 -0
  1777. data/src/core/util/time_precise.h +68 -0
  1778. data/src/core/util/time_util.cc +80 -0
  1779. data/src/core/util/time_util.h +41 -0
  1780. data/src/core/util/tmpfile.h +31 -0
  1781. data/src/core/util/type_list.h +32 -0
  1782. data/src/core/util/unique_ptr_with_bitset.h +86 -0
  1783. data/src/core/util/unique_type_name.h +123 -0
  1784. data/src/core/util/upb_utils.h +43 -0
  1785. data/src/core/util/uri.cc +376 -0
  1786. data/src/core/util/uri.h +105 -0
  1787. data/src/core/util/useful.h +153 -0
  1788. data/src/core/util/uuid_v4.cc +37 -0
  1789. data/src/core/util/uuid_v4.h +35 -0
  1790. data/src/core/util/validation_errors.cc +73 -0
  1791. data/src/core/util/validation_errors.h +144 -0
  1792. data/src/core/util/windows/cpu.cc +34 -0
  1793. data/src/core/util/windows/directory_reader.cc +79 -0
  1794. data/src/core/util/windows/env.cc +56 -0
  1795. data/src/core/util/windows/stat.cc +50 -0
  1796. data/src/core/util/windows/string.cc +68 -0
  1797. data/src/core/util/windows/string_util.cc +53 -0
  1798. data/src/core/util/windows/sync.cc +122 -0
  1799. data/src/core/util/windows/thd.cc +182 -0
  1800. data/src/core/util/windows/time.cc +105 -0
  1801. data/src/core/util/windows/tmpfile.cc +66 -0
  1802. data/src/core/util/work_serializer.cc +538 -0
  1803. data/src/core/util/work_serializer.h +105 -0
  1804. data/src/core/util/xxhash_inline.h +29 -0
  1805. data/src/core/xds/grpc/certificate_provider_store.cc +5 -6
  1806. data/src/core/xds/grpc/certificate_provider_store.h +13 -14
  1807. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +7 -8
  1808. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.h +9 -10
  1809. data/src/core/xds/grpc/xds_audit_logger_registry.cc +5 -5
  1810. data/src/core/xds/grpc/xds_audit_logger_registry.h +4 -5
  1811. data/src/core/xds/grpc/xds_bootstrap_grpc.cc +8 -166
  1812. data/src/core/xds/grpc/xds_bootstrap_grpc.h +9 -39
  1813. data/src/core/xds/grpc/xds_certificate_provider.cc +4 -5
  1814. data/src/core/xds/grpc/xds_certificate_provider.h +12 -11
  1815. data/src/core/xds/grpc/xds_client_grpc.cc +98 -76
  1816. data/src/core/xds/grpc/xds_client_grpc.h +16 -10
  1817. data/src/core/xds/grpc/xds_cluster.cc +12 -737
  1818. data/src/core/xds/grpc/xds_cluster.h +36 -45
  1819. data/src/core/xds/grpc/xds_cluster_parser.cc +772 -0
  1820. data/src/core/xds/grpc/xds_cluster_parser.h +61 -0
  1821. data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +6 -9
  1822. data/src/core/xds/grpc/xds_cluster_specifier_plugin.h +5 -6
  1823. data/src/core/xds/grpc/xds_common_types.cc +33 -438
  1824. data/src/core/xds/grpc/xds_common_types.h +10 -28
  1825. data/src/core/xds/grpc/xds_common_types_parser.cc +503 -0
  1826. data/src/core/xds/grpc/xds_common_types_parser.h +76 -0
  1827. data/src/core/xds/grpc/xds_endpoint.cc +0 -420
  1828. data/src/core/xds/grpc/xds_endpoint.h +7 -29
  1829. data/src/core/xds/grpc/xds_endpoint_parser.cc +475 -0
  1830. data/src/core/xds/grpc/xds_endpoint_parser.h +47 -0
  1831. data/src/core/xds/grpc/xds_health_status.cc +0 -2
  1832. data/src/core/xds/grpc/xds_health_status.h +0 -3
  1833. data/src/core/xds/grpc/xds_http_fault_filter.cc +28 -16
  1834. data/src/core/xds/grpc/xds_http_fault_filter.h +11 -7
  1835. data/src/core/xds/grpc/xds_http_filter.h +134 -0
  1836. data/src/core/xds/grpc/xds_http_filter_registry.cc +122 -0
  1837. data/src/core/xds/grpc/xds_http_filter_registry.h +104 -0
  1838. data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +141 -0
  1839. data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +60 -0
  1840. data/src/core/xds/grpc/xds_http_rbac_filter.cc +64 -49
  1841. data/src/core/xds/grpc/xds_http_rbac_filter.h +11 -7
  1842. data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +24 -11
  1843. data/src/core/xds/grpc/xds_http_stateful_session_filter.h +11 -7
  1844. data/src/core/xds/grpc/xds_lb_policy_registry.cc +23 -28
  1845. data/src/core/xds/grpc/xds_lb_policy_registry.h +5 -6
  1846. data/src/core/xds/grpc/xds_listener.cc +19 -986
  1847. data/src/core/xds/grpc/xds_listener.h +2 -35
  1848. data/src/core/xds/grpc/xds_listener_parser.cc +993 -0
  1849. data/src/core/xds/grpc/xds_listener_parser.h +59 -0
  1850. data/src/core/xds/grpc/xds_metadata.cc +62 -0
  1851. data/src/core/xds/grpc/xds_metadata.h +158 -0
  1852. data/src/core/xds/grpc/xds_metadata_parser.cc +184 -0
  1853. data/src/core/xds/grpc/xds_metadata_parser.h +35 -0
  1854. data/src/core/xds/grpc/xds_route_config.cc +3 -919
  1855. data/src/core/xds/grpc/xds_route_config.h +8 -41
  1856. data/src/core/xds/grpc/xds_route_config_parser.cc +962 -0
  1857. data/src/core/xds/grpc/xds_route_config_parser.h +77 -0
  1858. data/src/core/xds/grpc/xds_routing.cc +60 -27
  1859. data/src/core/xds/grpc/xds_routing.h +12 -6
  1860. data/src/core/xds/grpc/xds_server_grpc.cc +160 -0
  1861. data/src/core/xds/grpc/xds_server_grpc.h +63 -0
  1862. data/src/core/xds/grpc/xds_transport_grpc.cc +99 -56
  1863. data/src/core/xds/grpc/xds_transport_grpc.h +34 -23
  1864. data/src/core/xds/xds_client/lrs_client.cc +1292 -0
  1865. data/src/core/xds/xds_client/lrs_client.h +394 -0
  1866. data/src/core/xds/xds_client/xds_api.cc +23 -464
  1867. data/src/core/xds/xds_client/xds_api.h +6 -161
  1868. data/src/core/xds/xds_client/xds_backend_metric_propagation.cc +63 -0
  1869. data/src/core/xds/xds_client/xds_backend_metric_propagation.h +59 -0
  1870. data/src/core/xds/xds_client/xds_bootstrap.cc +3 -4
  1871. data/src/core/xds/xds_client/xds_bootstrap.h +3 -3
  1872. data/src/core/xds/xds_client/xds_client.cc +731 -1216
  1873. data/src/core/xds/xds_client/xds_client.h +139 -114
  1874. data/src/core/xds/xds_client/xds_locality.h +102 -0
  1875. data/src/core/xds/xds_client/xds_metrics.h +2 -2
  1876. data/src/core/xds/xds_client/xds_resource_type.h +4 -5
  1877. data/src/core/xds/xds_client/xds_resource_type_impl.h +13 -9
  1878. data/src/core/xds/xds_client/xds_transport.h +29 -14
  1879. data/src/ruby/bin/math_pb.rb +1 -22
  1880. data/src/ruby/ext/grpc/extconf.rb +2 -1
  1881. data/src/ruby/ext/grpc/rb_byte_buffer.c +3 -3
  1882. data/src/ruby/ext/grpc/rb_call.c +15 -8
  1883. data/src/ruby/ext/grpc/rb_call_credentials.c +39 -33
  1884. data/src/ruby/ext/grpc/rb_channel.c +42 -37
  1885. data/src/ruby/ext/grpc/rb_channel_args.c +4 -4
  1886. data/src/ruby/ext/grpc/rb_channel_credentials.c +5 -6
  1887. data/src/ruby/ext/grpc/rb_channel_credentials.h +1 -2
  1888. data/src/ruby/ext/grpc/rb_completion_queue.c +18 -36
  1889. data/src/ruby/ext/grpc/rb_completion_queue.h +7 -1
  1890. data/src/ruby/ext/grpc/rb_compression_options.c +9 -10
  1891. data/src/ruby/ext/grpc/rb_event_thread.c +9 -9
  1892. data/src/ruby/ext/grpc/rb_grpc.c +16 -16
  1893. data/src/ruby/ext/grpc/rb_grpc.h +8 -1
  1894. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +6 -14
  1895. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +9 -21
  1896. data/src/ruby/ext/grpc/rb_server.c +47 -28
  1897. data/src/ruby/ext/grpc/rb_server_credentials.c +3 -3
  1898. data/src/ruby/ext/grpc/rb_server_credentials.h +1 -2
  1899. data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +5 -6
  1900. data/src/ruby/ext/grpc/rb_xds_channel_credentials.h +1 -2
  1901. data/src/ruby/ext/grpc/rb_xds_server_credentials.c +4 -4
  1902. data/src/ruby/ext/grpc/rb_xds_server_credentials.h +1 -2
  1903. data/src/ruby/lib/grpc/generic/active_call.rb +8 -5
  1904. data/src/ruby/lib/grpc/logconfig.rb +13 -0
  1905. data/src/ruby/lib/grpc/version.rb +1 -1
  1906. data/src/ruby/pb/grpc/health/v1/health_pb.rb +1 -22
  1907. data/src/ruby/pb/grpc/testing/duplicate/echo_duplicate_services_pb.rb +5 -5
  1908. data/src/ruby/pb/grpc/testing/metrics_pb.rb +10 -19
  1909. data/src/ruby/pb/grpc/testing/metrics_services_pb.rb +5 -5
  1910. data/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb +1 -22
  1911. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +1 -22
  1912. data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +1 -22
  1913. data/src/ruby/spec/call_spec.rb +53 -40
  1914. data/src/ruby/spec/channel_spec.rb +4 -2
  1915. data/src/ruby/spec/client_server_spec.rb +148 -507
  1916. data/src/ruby/spec/generic/active_call_spec.rb +64 -86
  1917. data/src/ruby/spec/generic/client_stub_spec.rb +20 -20
  1918. data/src/ruby/spec/logconfig_spec.rb +30 -0
  1919. data/src/ruby/spec/support/services.rb +3 -0
  1920. data/third_party/abseil-cpp/absl/algorithm/container.h +57 -18
  1921. data/third_party/abseil-cpp/absl/base/attributes.h +84 -0
  1922. data/third_party/abseil-cpp/absl/base/config.h +32 -51
  1923. data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +0 -16
  1924. data/third_party/abseil-cpp/absl/base/internal/nullability_impl.h +3 -1
  1925. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +13 -3
  1926. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +0 -12
  1927. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +4 -4
  1928. data/third_party/abseil-cpp/absl/base/macros.h +48 -0
  1929. data/third_party/abseil-cpp/absl/base/no_destructor.h +35 -40
  1930. data/third_party/abseil-cpp/absl/base/nullability.h +33 -7
  1931. data/third_party/abseil-cpp/absl/base/optimization.h +11 -0
  1932. data/third_party/abseil-cpp/absl/base/options.h +1 -1
  1933. data/third_party/abseil-cpp/absl/base/prefetch.h +1 -1
  1934. data/third_party/abseil-cpp/absl/container/flat_hash_map.h +68 -12
  1935. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +60 -6
  1936. data/third_party/abseil-cpp/absl/container/hash_container_defaults.h +45 -0
  1937. data/third_party/abseil-cpp/absl/container/inlined_vector.h +13 -0
  1938. data/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h +20 -11
  1939. data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +15 -16
  1940. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +34 -1
  1941. data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +68 -1
  1942. data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +50 -0
  1943. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +22 -7
  1944. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +26 -8
  1945. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +39 -35
  1946. data/third_party/abseil-cpp/absl/container/internal/layout.h +190 -74
  1947. data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +8 -6
  1948. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +334 -71
  1949. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +1299 -458
  1950. data/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +19 -17
  1951. data/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.cc +4 -3
  1952. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc +2 -1
  1953. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_arm_combined.cc +12 -8
  1954. data/third_party/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc +1 -1
  1955. data/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +11 -7
  1956. data/third_party/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h +18 -17
  1957. data/third_party/abseil-cpp/absl/debugging/internal/bounded_utf8_length_sequence.h +126 -0
  1958. data/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.cc +258 -0
  1959. data/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.h +55 -0
  1960. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +1057 -86
  1961. data/third_party/abseil-cpp/absl/debugging/internal/demangle.h +3 -0
  1962. data/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.cc +925 -0
  1963. data/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.h +42 -0
  1964. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +43 -16
  1965. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +8 -7
  1966. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +10 -7
  1967. data/third_party/abseil-cpp/absl/debugging/internal/utf8_for_code_point.cc +70 -0
  1968. data/third_party/abseil-cpp/absl/debugging/internal/utf8_for_code_point.h +47 -0
  1969. data/third_party/abseil-cpp/absl/flags/commandlineflag.h +11 -0
  1970. data/third_party/abseil-cpp/absl/flags/flag.h +2 -0
  1971. data/third_party/abseil-cpp/absl/flags/internal/flag.cc +117 -30
  1972. data/third_party/abseil-cpp/absl/flags/internal/flag.h +192 -30
  1973. data/third_party/abseil-cpp/absl/flags/reflection.cc +10 -0
  1974. data/third_party/abseil-cpp/absl/functional/any_invocable.h +13 -3
  1975. data/third_party/abseil-cpp/absl/functional/bind_front.h +3 -2
  1976. data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +7 -7
  1977. data/third_party/abseil-cpp/absl/functional/internal/front_binder.h +9 -9
  1978. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +1 -1
  1979. data/third_party/abseil-cpp/absl/hash/internal/hash.h +13 -3
  1980. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc +60 -28
  1981. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.h +4 -0
  1982. data/third_party/abseil-cpp/absl/log/absl_vlog_is_on.h +3 -3
  1983. data/third_party/abseil-cpp/absl/log/globals.h +28 -15
  1984. data/third_party/abseil-cpp/absl/log/internal/check_op.cc +20 -0
  1985. data/third_party/abseil-cpp/absl/log/internal/check_op.h +63 -21
  1986. data/third_party/abseil-cpp/absl/log/internal/conditions.h +2 -2
  1987. data/third_party/abseil-cpp/absl/log/internal/log_impl.h +23 -23
  1988. data/third_party/abseil-cpp/absl/log/internal/log_message.cc +104 -47
  1989. data/third_party/abseil-cpp/absl/log/internal/log_message.h +23 -4
  1990. data/third_party/abseil-cpp/absl/log/internal/nullstream.h +1 -10
  1991. data/third_party/abseil-cpp/absl/log/internal/strip.h +36 -0
  1992. data/third_party/abseil-cpp/absl/log/log.h +5 -1
  1993. data/third_party/abseil-cpp/absl/log/log_sink.h +11 -4
  1994. data/third_party/abseil-cpp/absl/log/vlog_is_on.h +3 -3
  1995. data/third_party/abseil-cpp/absl/meta/type_traits.h +138 -42
  1996. data/third_party/abseil-cpp/absl/numeric/int128.cc +0 -3
  1997. data/third_party/abseil-cpp/absl/numeric/int128.h +35 -5
  1998. data/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +14 -0
  1999. data/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +18 -0
  2000. data/third_party/abseil-cpp/absl/numeric/internal/bits.h +6 -2
  2001. data/third_party/abseil-cpp/absl/random/beta_distribution.h +8 -8
  2002. data/third_party/abseil-cpp/absl/random/bit_gen_ref.h +9 -7
  2003. data/third_party/abseil-cpp/absl/random/distributions.h +11 -11
  2004. data/third_party/abseil-cpp/absl/random/seed_sequences.h +2 -0
  2005. data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +61 -2
  2006. data/third_party/abseil-cpp/absl/status/status.cc +0 -4
  2007. data/third_party/abseil-cpp/absl/status/status.h +4 -4
  2008. data/third_party/abseil-cpp/absl/status/statusor.h +108 -142
  2009. data/third_party/abseil-cpp/absl/strings/ascii.cc +32 -71
  2010. data/third_party/abseil-cpp/absl/strings/cord.cc +20 -15
  2011. data/third_party/abseil-cpp/absl/strings/cord.h +68 -7
  2012. data/third_party/abseil-cpp/absl/strings/escaping.cc +96 -21
  2013. data/third_party/abseil-cpp/absl/strings/escaping.h +25 -8
  2014. data/third_party/abseil-cpp/absl/strings/has_absl_stringify.h +1 -0
  2015. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h +10 -0
  2016. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +29 -9
  2017. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h +2 -2
  2018. data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.cc +19 -13
  2019. data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.h +23 -13
  2020. data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc +24 -24
  2021. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +12 -7
  2022. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.h +9 -4
  2023. data/third_party/abseil-cpp/absl/strings/internal/escaping.cc +5 -2
  2024. data/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +23 -2
  2025. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +5 -1
  2026. data/third_party/abseil-cpp/absl/strings/numbers.cc +107 -333
  2027. data/third_party/abseil-cpp/absl/strings/numbers.h +12 -151
  2028. data/third_party/abseil-cpp/absl/strings/str_cat.cc +49 -142
  2029. data/third_party/abseil-cpp/absl/strings/str_cat.h +70 -85
  2030. data/third_party/abseil-cpp/absl/strings/str_format.h +1 -1
  2031. data/third_party/abseil-cpp/absl/strings/str_join.h +19 -5
  2032. data/third_party/abseil-cpp/absl/strings/str_split.h +2 -2
  2033. data/third_party/abseil-cpp/absl/strings/string_view.h +3 -2
  2034. data/third_party/abseil-cpp/absl/strings/substitute.cc +4 -0
  2035. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +11 -2
  2036. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.h +5 -0
  2037. data/third_party/abseil-cpp/absl/synchronization/mutex.h +5 -4
  2038. data/third_party/abseil-cpp/absl/time/civil_time.h +2 -2
  2039. data/third_party/abseil-cpp/absl/time/clock.cc +15 -1
  2040. data/third_party/abseil-cpp/absl/time/duration.cc +58 -53
  2041. data/third_party/abseil-cpp/absl/time/format.cc +2 -1
  2042. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +1 -1
  2043. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +0 -29
  2044. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +3 -3
  2045. data/third_party/abseil-cpp/absl/time/time.h +73 -29
  2046. data/third_party/abseil-cpp/absl/types/compare.h +505 -0
  2047. data/third_party/abseil-cpp/absl/types/internal/optional.h +2 -2
  2048. data/third_party/abseil-cpp/absl/types/internal/variant.h +55 -67
  2049. data/third_party/abseil-cpp/absl/types/optional.h +15 -18
  2050. data/third_party/abseil-cpp/absl/types/span.h +3 -2
  2051. data/third_party/abseil-cpp/absl/types/variant.h +19 -24
  2052. data/third_party/abseil-cpp/absl/utility/utility.h +3 -41
  2053. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.cc +285 -0
  2054. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.cc +89 -0
  2055. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.cc +84 -0
  2056. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.cc +85 -0
  2057. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.cc +466 -0
  2058. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.cc +281 -0
  2059. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.cc +235 -0
  2060. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.cc +248 -0
  2061. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.cc +214 -0
  2062. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.cc +397 -0
  2063. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.cc +98 -0
  2064. data/third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.cc +241 -0
  2065. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.cc +974 -0
  2066. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.cc +711 -0
  2067. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.cc +206 -0
  2068. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.cc +318 -0
  2069. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.cc +271 -0
  2070. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.cc +476 -0
  2071. data/third_party/boringssl-with-bazel/src/crypto/bcm_support.h +119 -0
  2072. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.cc +700 -0
  2073. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.cc +310 -0
  2074. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.cc +552 -0
  2075. data/third_party/boringssl-with-bazel/src/crypto/bio/file.cc +334 -0
  2076. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.cc +482 -0
  2077. data/third_party/boringssl-with-bazel/src/crypto/bio/printf.cc +102 -0
  2078. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.cc +133 -0
  2079. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.cc +169 -0
  2080. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/bn_asn1.cc +57 -0
  2081. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/convert.cc +465 -0
  2082. data/third_party/boringssl-with-bazel/src/crypto/buf/buf.cc +161 -0
  2083. data/third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.cc +53 -0
  2084. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.cc +266 -0
  2085. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.cc +702 -0
  2086. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.cc +904 -0
  2087. data/third_party/boringssl-with-bazel/src/crypto/bytestring/internal.h +1 -1
  2088. data/third_party/boringssl-with-bazel/src/crypto/bytestring/unicode.cc +156 -0
  2089. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.cc +224 -0
  2090. data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +1 -1
  2091. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesctrhmac.cc +284 -0
  2092. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesgcmsiv.cc +838 -0
  2093. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.cc +341 -0
  2094. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_des.cc +240 -0
  2095. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.cc +93 -0
  2096. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc2.cc +459 -0
  2097. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.cc +96 -0
  2098. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.cc +599 -0
  2099. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +43 -0
  2100. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.cc +675 -0
  2101. data/third_party/boringssl-with-bazel/src/crypto/conf/internal.h +1 -1
  2102. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.cc +75 -0
  2103. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.cc +55 -0
  2104. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.cc +62 -0
  2105. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.cc +61 -0
  2106. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_sysreg.cc +94 -0
  2107. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.cc +41 -0
  2108. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.cc +54 -0
  2109. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.cc +151 -0
  2110. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.h +1 -1
  2111. data/third_party/boringssl-with-bazel/src/crypto/cpu_intel.cc +341 -0
  2112. data/third_party/boringssl-with-bazel/src/crypto/crypto.cc +183 -0
  2113. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.cc +2154 -0
  2114. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_64_adx.cc +18 -0
  2115. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +1 -1
  2116. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +1 -1
  2117. data/third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.cc +527 -0
  2118. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.cc +165 -0
  2119. data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.cc +348 -0
  2120. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.cc +996 -0
  2121. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.cc +419 -0
  2122. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +1 -1
  2123. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.cc +607 -0
  2124. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_derive.cc +96 -0
  2125. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.cc +510 -0
  2126. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +1 -1
  2127. data/third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/ecdsa_asn1.cc +401 -0
  2128. data/third_party/boringssl-with-bazel/src/crypto/engine/engine.cc +95 -0
  2129. data/third_party/boringssl-with-bazel/src/crypto/err/err.cc +900 -0
  2130. data/third_party/boringssl-with-bazel/src/crypto/err/internal.h +1 -1
  2131. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.cc +429 -0
  2132. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.cc +482 -0
  2133. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh.cc +146 -0
  2134. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh_asn1.cc +137 -0
  2135. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.cc +333 -0
  2136. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.cc +271 -0
  2137. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.cc +332 -0
  2138. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.cc +103 -0
  2139. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.cc +225 -0
  2140. data/third_party/boringssl-with-bazel/src/crypto/evp/p_hkdf.cc +236 -0
  2141. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.cc +647 -0
  2142. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.cc +239 -0
  2143. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.cc +109 -0
  2144. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.cc +237 -0
  2145. data/third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.cc +146 -0
  2146. data/third_party/boringssl-with-bazel/src/crypto/evp/print.cc +380 -0
  2147. data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.cc +211 -0
  2148. data/third_party/boringssl-with-bazel/src/crypto/ex_data.cc +235 -0
  2149. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.cc.inc +127 -0
  2150. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.cc.inc +1281 -0
  2151. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +34 -12
  2152. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.cc.inc +242 -0
  2153. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.cc +274 -0
  2154. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm_interface.h +242 -0
  2155. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/add.cc.inc +311 -0
  2156. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/asm/x86_64-gcc.cc.inc +541 -0
  2157. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.cc.inc +416 -0
  2158. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/ctx.cc.inc +232 -0
  2159. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.cc.inc +867 -0
  2160. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.cc.inc +87 -0
  2161. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.cc.inc +1320 -0
  2162. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.cc.inc +394 -0
  2163. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.cc.inc +339 -0
  2164. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +33 -23
  2165. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.cc.inc +525 -0
  2166. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.cc.inc +740 -0
  2167. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.cc.inc +1074 -0
  2168. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.cc.inc +354 -0
  2169. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.cc.inc +362 -0
  2170. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.cc.inc +499 -0
  2171. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/aead.cc.inc +295 -0
  2172. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.cc.inc +714 -0
  2173. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.cc.inc +1456 -0
  2174. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cmac/cmac.cc.inc +322 -0
  2175. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h +14 -10
  2176. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.cc.inc +485 -0
  2177. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/internal.h +1 -3
  2178. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.cc.inc +292 -0
  2179. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.cc.inc +220 -0
  2180. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digestsign/digestsign.cc.inc +267 -0
  2181. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/builtin_curves.h +1 -1
  2182. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.cc.inc +1038 -0
  2183. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.cc.inc +559 -0
  2184. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.cc.inc +104 -0
  2185. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.cc.inc +358 -0
  2186. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.cc.inc +1163 -0
  2187. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz-table.h +1 -1
  2188. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.cc.inc +736 -0
  2189. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.h +65 -8
  2190. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.cc.inc +749 -0
  2191. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +1 -1
  2192. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.cc.inc +173 -0
  2193. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.cc.inc +269 -0
  2194. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/util.cc.inc +255 -0
  2195. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.cc.inc +273 -0
  2196. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.cc.inc +139 -0
  2197. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.cc.inc +316 -0
  2198. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +29 -12
  2199. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.cc +28 -0
  2200. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/hkdf.cc.inc +112 -0
  2201. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.cc.inc +257 -0
  2202. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.cc.inc +791 -0
  2203. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.cc.inc +302 -0
  2204. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +53 -33
  2205. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/polyval.cc.inc +89 -0
  2206. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/ctrdrbg.cc.inc +221 -0
  2207. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +2 -81
  2208. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.cc.inc +481 -0
  2209. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.cc.inc +242 -0
  2210. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.cc.inc +420 -0
  2211. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.cc.inc +1042 -0
  2212. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.cc.inc +1348 -0
  2213. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.cc.inc +129 -0
  2214. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.cc.inc +1042 -0
  2215. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/internal.h +2 -2
  2216. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.cc.inc +327 -0
  2217. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +11 -8
  2218. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.cc.inc +432 -0
  2219. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.cc.inc +341 -0
  2220. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.cc.inc +515 -0
  2221. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h +1 -1
  2222. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.cc +1095 -0
  2223. data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.cc +2177 -0
  2224. data/third_party/boringssl-with-bazel/src/crypto/hrss/internal.h +1 -1
  2225. data/third_party/boringssl-with-bazel/src/crypto/internal.h +278 -261
  2226. data/third_party/boringssl-with-bazel/src/crypto/keccak/internal.h +1 -1
  2227. data/third_party/boringssl-with-bazel/src/crypto/keccak/keccak.cc +279 -0
  2228. data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +1 -1
  2229. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.cc +845 -0
  2230. data/third_party/boringssl-with-bazel/src/crypto/lhash/lhash.cc +351 -0
  2231. data/third_party/boringssl-with-bazel/src/crypto/md4/md4.cc +236 -0
  2232. data/third_party/boringssl-with-bazel/src/crypto/md5/internal.h +37 -0
  2233. data/third_party/boringssl-with-bazel/src/crypto/md5/md5.cc +285 -0
  2234. data/third_party/boringssl-with-bazel/src/crypto/mem.cc +625 -0
  2235. data/third_party/boringssl-with-bazel/src/crypto/mldsa/internal.h +76 -0
  2236. data/third_party/boringssl-with-bazel/src/crypto/mldsa/mldsa.cc +1790 -0
  2237. data/third_party/boringssl-with-bazel/src/crypto/mlkem/internal.h +90 -0
  2238. data/third_party/boringssl-with-bazel/src/crypto/mlkem/mlkem.cc +1097 -0
  2239. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.cc +561 -0
  2240. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +4 -1
  2241. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.cc +294 -0
  2242. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.cc +788 -0
  2243. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.cc +87 -0
  2244. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.cc +250 -0
  2245. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.cc +183 -0
  2246. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/internal.h +1 -1
  2247. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.cc +193 -0
  2248. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.cc +524 -0
  2249. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +3 -2
  2250. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.cc +316 -0
  2251. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.cc +528 -0
  2252. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.cc +1345 -0
  2253. data/third_party/boringssl-with-bazel/src/crypto/poly1305/internal.h +1 -1
  2254. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.cc +314 -0
  2255. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.cc +310 -0
  2256. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.cc +850 -0
  2257. data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +1 -1
  2258. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.cc +262 -0
  2259. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.cc +65 -0
  2260. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/fork_detect.cc +194 -0
  2261. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.cc +44 -0
  2262. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/getentropy.cc +60 -0
  2263. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/getrandom_fillin.h +64 -0
  2264. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/ios.cc +42 -0
  2265. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.cc +178 -0
  2266. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.cc +77 -0
  2267. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/sysrand_internal.h +37 -0
  2268. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/trusty.cc +46 -0
  2269. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/urandom.cc +328 -0
  2270. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.cc +102 -0
  2271. data/third_party/boringssl-with-bazel/src/crypto/refcount.cc +59 -0
  2272. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/internal.h +2 -0
  2273. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_asn1.cc +324 -0
  2274. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_crypt.cc +573 -0
  2275. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_extra.cc +17 -0
  2276. data/third_party/boringssl-with-bazel/src/crypto/sha/sha1.cc +52 -0
  2277. data/third_party/boringssl-with-bazel/src/crypto/sha/sha256.cc +87 -0
  2278. data/third_party/boringssl-with-bazel/src/crypto/sha/sha512.cc +104 -0
  2279. data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.cc +79 -0
  2280. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/address.h +123 -0
  2281. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/fors.cc +169 -0
  2282. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/fors.h +58 -0
  2283. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/internal.h +63 -0
  2284. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/merkle.cc +161 -0
  2285. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/merkle.h +70 -0
  2286. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/params.h +83 -0
  2287. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/slhdsa.cc +307 -0
  2288. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/thash.cc +173 -0
  2289. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/thash.h +85 -0
  2290. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/wots.cc +171 -0
  2291. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/wots.h +50 -0
  2292. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.cc +538 -0
  2293. data/third_party/boringssl-with-bazel/src/crypto/thread_none.cc +51 -0
  2294. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.cc +151 -0
  2295. data/third_party/boringssl-with-bazel/src/crypto/thread_win.cc +240 -0
  2296. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +1 -1
  2297. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.cc +1656 -0
  2298. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.cc +685 -0
  2299. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.cc +1263 -0
  2300. data/third_party/boringssl-with-bazel/src/crypto/x509/a_digest.cc +94 -0
  2301. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.cc +139 -0
  2302. data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.cc +116 -0
  2303. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.cc +178 -0
  2304. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.cc +584 -0
  2305. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.cc +401 -0
  2306. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +0 -4
  2307. data/third_party/boringssl-with-bazel/src/crypto/x509/policy.cc +796 -0
  2308. data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.cc +405 -0
  2309. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akey.cc +223 -0
  2310. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_alt.cc +634 -0
  2311. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bcons.cc +137 -0
  2312. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bitst.cc +144 -0
  2313. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_conf.cc +416 -0
  2314. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_cpols.cc +488 -0
  2315. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_crld.cc +599 -0
  2316. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_enum.cc +115 -0
  2317. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_extku.cc +156 -0
  2318. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_genn.cc +270 -0
  2319. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ia5.cc +123 -0
  2320. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_info.cc +213 -0
  2321. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_int.cc +123 -0
  2322. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_lib.cc +347 -0
  2323. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ncons.cc +555 -0
  2324. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ocsp.cc +84 -0
  2325. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pcons.cc +142 -0
  2326. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pmaps.cc +150 -0
  2327. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_prn.cc +225 -0
  2328. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_purp.cc +632 -0
  2329. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_skey.cc +173 -0
  2330. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_utl.cc +1395 -0
  2331. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.cc +228 -0
  2332. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.cc +600 -0
  2333. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.cc +291 -0
  2334. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.cc +1642 -0
  2335. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.cc +482 -0
  2336. data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.cc +133 -0
  2337. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.cc +360 -0
  2338. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.cc +384 -0
  2339. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.cc +534 -0
  2340. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.cc +212 -0
  2341. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.cc +548 -0
  2342. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.cc +211 -0
  2343. data/third_party/boringssl-with-bazel/src/gen/crypto/err_data.cc +1515 -0
  2344. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +1 -1
  2345. data/third_party/boringssl-with-bazel/src/include/openssl/asm_base.h +1 -1
  2346. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +14 -1
  2347. data/third_party/boringssl-with-bazel/src/include/openssl/asn1_mac.h +1 -1
  2348. data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +237 -275
  2349. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +12 -5
  2350. data/third_party/boringssl-with-bazel/src/include/openssl/bcm_public.h +82 -0
  2351. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +8 -6
  2352. data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +1 -1
  2353. data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +14 -9
  2354. data/third_party/boringssl-with-bazel/src/include/openssl/buffer.h +1 -1
  2355. data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +1 -1
  2356. data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +1 -1
  2357. data/third_party/boringssl-with-bazel/src/include/openssl/cmac.h +1 -1
  2358. data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +1 -1
  2359. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +22 -13
  2360. data/third_party/boringssl-with-bazel/src/include/openssl/ctrdrbg.h +1 -1
  2361. data/third_party/boringssl-with-bazel/src/include/openssl/curve25519.h +1 -1
  2362. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +4 -0
  2363. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +6 -1
  2364. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +4 -0
  2365. data/third_party/boringssl-with-bazel/src/include/openssl/dtls1.h +1 -1
  2366. data/third_party/boringssl-with-bazel/src/include/openssl/e_os2.h +1 -1
  2367. data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +17 -1
  2368. data/third_party/boringssl-with-bazel/src/include/openssl/engine.h +1 -1
  2369. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +1 -1
  2370. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/kyber.h +11 -1
  2371. data/third_party/boringssl-with-bazel/src/include/openssl/hkdf.h +1 -1
  2372. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +9 -7
  2373. data/third_party/boringssl-with-bazel/src/include/openssl/hrss.h +1 -1
  2374. data/third_party/boringssl-with-bazel/src/include/openssl/is_boringssl.h +1 -1
  2375. data/third_party/boringssl-with-bazel/src/include/openssl/kdf.h +1 -1
  2376. data/third_party/boringssl-with-bazel/src/include/openssl/mldsa.h +136 -0
  2377. data/third_party/boringssl-with-bazel/src/include/openssl/mlkem.h +246 -0
  2378. data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +3 -0
  2379. data/third_party/boringssl-with-bazel/src/include/openssl/obj_mac.h +1 -1
  2380. data/third_party/boringssl-with-bazel/src/include/openssl/objects.h +1 -1
  2381. data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +1 -1
  2382. data/third_party/boringssl-with-bazel/src/include/openssl/opensslv.h +1 -1
  2383. data/third_party/boringssl-with-bazel/src/include/openssl/ossl_typ.h +1 -1
  2384. data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +3 -4
  2385. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs12.h +1 -1
  2386. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +1 -1
  2387. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +2 -2
  2388. data/third_party/boringssl-with-bazel/src/include/openssl/poly1305.h +1 -1
  2389. data/third_party/boringssl-with-bazel/src/include/openssl/pool.h +1 -1
  2390. data/third_party/boringssl-with-bazel/src/include/openssl/posix_time.h +1 -1
  2391. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +1 -1
  2392. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +10 -5
  2393. data/third_party/boringssl-with-bazel/src/include/openssl/safestack.h +1 -1
  2394. data/third_party/boringssl-with-bazel/src/include/openssl/service_indicator.h +2 -2
  2395. data/third_party/boringssl-with-bazel/src/include/openssl/sha.h +2 -40
  2396. data/third_party/boringssl-with-bazel/src/include/openssl/siphash.h +1 -1
  2397. data/third_party/boringssl-with-bazel/src/include/openssl/slhdsa.h +133 -0
  2398. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +54 -13
  2399. data/third_party/boringssl-with-bazel/src/include/openssl/srtp.h +1 -1
  2400. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +267 -143
  2401. data/third_party/boringssl-with-bazel/src/include/openssl/ssl3.h +1 -0
  2402. data/third_party/boringssl-with-bazel/src/include/openssl/target.h +1 -1
  2403. data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +2 -2
  2404. data/third_party/boringssl-with-bazel/src/include/openssl/time.h +1 -1
  2405. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +1 -1
  2406. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +0 -23
  2407. data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +1 -1
  2408. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +1 -1
  2409. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3_errors.h +2 -2
  2410. data/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc +2 -6
  2411. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +671 -329
  2412. data/third_party/boringssl-with-bazel/src/ssl/d1_lib.cc +116 -113
  2413. data/third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc +164 -17
  2414. data/third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc +4 -12
  2415. data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +99 -42
  2416. data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +445 -112
  2417. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +23 -14
  2418. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +387 -359
  2419. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +48 -58
  2420. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +44 -36
  2421. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +183 -165
  2422. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +81 -62
  2423. data/third_party/boringssl-with-bazel/src/ssl/internal.h +970 -329
  2424. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +69 -53
  2425. data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +13 -11
  2426. data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +23 -3
  2427. data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +90 -98
  2428. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +38 -64
  2429. data/third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc +8 -5
  2430. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +103 -44
  2431. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +210 -220
  2432. data/third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc +70 -12
  2433. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +114 -16
  2434. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +200 -183
  2435. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +74 -36
  2436. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +79 -95
  2437. data/third_party/boringssl-with-bazel/src/ssl/ssl_stat.cc +3 -9
  2438. data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +91 -16
  2439. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +34 -14
  2440. data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +51 -56
  2441. data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +22 -25
  2442. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +45 -28
  2443. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +69 -51
  2444. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +279 -134
  2445. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +97 -60
  2446. data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +51 -62
  2447. data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +40 -48
  2448. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_32.h +6 -0
  2449. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64.h +6 -0
  2450. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_adx.h +4 -1
  2451. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h +1 -1
  2452. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64.h +3 -0
  2453. data/third_party/upb/upb/base/string_view.h +1 -1
  2454. data/third_party/upb/upb/json/decode.c +60 -13
  2455. data/third_party/upb/upb/json/decode.h +26 -3
  2456. data/third_party/upb/upb/json/encode.c +2 -2
  2457. data/third_party/upb/upb/lex/round_trip.c +10 -0
  2458. data/third_party/upb/upb/mem/arena.c +80 -4
  2459. data/third_party/upb/upb/mem/arena.h +20 -9
  2460. data/third_party/upb/upb/mem/arena.hpp +5 -1
  2461. data/third_party/upb/upb/mem/internal/arena.h +11 -8
  2462. data/third_party/upb/upb/message/accessors.c +6 -7
  2463. data/third_party/upb/upb/message/accessors.h +186 -376
  2464. data/third_party/upb/upb/message/array.c +26 -3
  2465. data/third_party/upb/upb/message/array.h +17 -9
  2466. data/third_party/upb/upb/message/compat.c +5 -5
  2467. data/third_party/upb/upb/message/compat.h +3 -3
  2468. data/third_party/upb/upb/message/copy.c +23 -20
  2469. data/third_party/upb/upb/message/internal/accessors.h +617 -55
  2470. data/third_party/upb/upb/message/internal/array.h +23 -15
  2471. data/third_party/upb/upb/message/internal/compare_unknown.c +289 -0
  2472. data/third_party/upb/upb/message/internal/compare_unknown.h +49 -0
  2473. data/third_party/upb/upb/message/internal/extension.c +12 -12
  2474. data/third_party/upb/upb/message/internal/extension.h +9 -12
  2475. data/third_party/upb/upb/message/internal/map.h +15 -0
  2476. data/third_party/upb/upb/message/internal/map_sorter.h +4 -5
  2477. data/third_party/upb/upb/message/internal/message.c +22 -6
  2478. data/third_party/upb/upb/message/internal/message.h +11 -0
  2479. data/third_party/upb/upb/message/internal/tagged_ptr.h +5 -5
  2480. data/third_party/upb/upb/message/internal/types.h +41 -1
  2481. data/third_party/upb/upb/message/map.c +25 -0
  2482. data/third_party/upb/upb/message/map.h +11 -7
  2483. data/third_party/upb/upb/message/merge.c +38 -0
  2484. data/third_party/upb/upb/message/merge.h +26 -0
  2485. data/third_party/upb/upb/message/message.c +83 -4
  2486. data/third_party/upb/upb/message/message.h +16 -1
  2487. data/third_party/upb/upb/message/tagged_ptr.h +4 -8
  2488. data/third_party/upb/upb/message/value.h +26 -0
  2489. data/third_party/upb/upb/mini_descriptor/build_enum.c +3 -3
  2490. data/third_party/upb/upb/mini_descriptor/build_enum.h +6 -14
  2491. data/third_party/upb/upb/mini_descriptor/decode.c +19 -3
  2492. data/third_party/upb/upb/mini_descriptor/link.c +23 -21
  2493. data/third_party/upb/upb/mini_table/enum.h +2 -4
  2494. data/third_party/upb/upb/mini_table/extension.h +4 -12
  2495. data/third_party/upb/upb/mini_table/extension_registry.c +18 -0
  2496. data/third_party/upb/upb/mini_table/extension_registry.h +17 -0
  2497. data/third_party/upb/upb/mini_table/field.h +12 -38
  2498. data/third_party/upb/upb/mini_table/file.h +6 -19
  2499. data/third_party/upb/upb/mini_table/internal/enum.h +1 -1
  2500. data/third_party/upb/upb/mini_table/internal/extension.h +18 -9
  2501. data/third_party/upb/upb/mini_table/internal/field.h +23 -23
  2502. data/third_party/upb/upb/mini_table/internal/file.h +7 -7
  2503. data/third_party/upb/upb/mini_table/internal/message.c +21 -1
  2504. data/third_party/upb/upb/mini_table/internal/message.h +80 -36
  2505. data/third_party/upb/upb/mini_table/internal/sub.h +9 -4
  2506. data/third_party/upb/upb/mini_table/message.h +23 -22
  2507. data/third_party/upb/upb/mini_table/sub.h +4 -12
  2508. data/third_party/upb/upb/port/def.inc +108 -12
  2509. data/third_party/upb/upb/port/undef.inc +8 -1
  2510. data/third_party/upb/upb/reflection/common.h +1 -11
  2511. data/third_party/upb/upb/reflection/def.hpp +35 -0
  2512. data/third_party/upb/upb/reflection/def_pool.h +2 -2
  2513. data/third_party/upb/upb/reflection/descriptor_bootstrap.h +19 -0
  2514. data/third_party/upb/upb/reflection/enum_def.c +5 -1
  2515. data/third_party/upb/upb/reflection/enum_def.h +1 -0
  2516. data/third_party/upb/upb/reflection/enum_value_def.c +3 -8
  2517. data/third_party/upb/upb/reflection/field_def.c +72 -46
  2518. data/third_party/upb/upb/reflection/field_def.h +4 -0
  2519. data/third_party/upb/upb/reflection/file_def.c +30 -4
  2520. data/third_party/upb/upb/reflection/file_def.h +3 -0
  2521. data/third_party/upb/upb/reflection/internal/upb_edition_defaults.h +1 -1
  2522. data/third_party/upb/upb/reflection/message.c +26 -9
  2523. data/third_party/upb/upb/reflection/message.h +2 -2
  2524. data/third_party/upb/upb/reflection/message_def.c +14 -9
  2525. data/third_party/upb/upb/reflection/method_def.h +8 -7
  2526. data/third_party/upb/upb/reflection/service_def.h +6 -5
  2527. data/third_party/upb/upb/text/encode.c +53 -389
  2528. data/third_party/upb/upb/text/encode.h +1 -11
  2529. data/third_party/upb/upb/text/internal/encode.c +180 -0
  2530. data/third_party/upb/upb/text/internal/encode.h +240 -0
  2531. data/third_party/upb/upb/text/options.h +22 -0
  2532. data/third_party/upb/upb/wire/decode.c +160 -94
  2533. data/third_party/upb/upb/wire/decode.h +15 -2
  2534. data/third_party/upb/upb/wire/encode.c +89 -48
  2535. data/third_party/upb/upb/wire/encode.h +12 -1
  2536. data/third_party/upb/upb/wire/eps_copy_input_stream.h +3 -3
  2537. data/third_party/upb/upb/wire/internal/decode_fast.c +28 -29
  2538. data/third_party/upb/upb/wire/internal/reader.h +3 -3
  2539. data/third_party/upb/upb/wire/reader.c +1 -2
  2540. data/third_party/upb/upb/wire/reader.h +4 -8
  2541. metadata +628 -540
  2542. data/src/core/client_channel/config_selector.cc +0 -60
  2543. data/src/core/ext/gcp/metadata_query.cc +0 -137
  2544. data/src/core/ext/gcp/metadata_query.h +0 -87
  2545. data/src/core/ext/transport/chttp2/transport/http_trace.cc +0 -19
  2546. data/src/core/ext/transport/chttp2/transport/http_trace.h +0 -24
  2547. data/src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.cc +0 -45
  2548. data/src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.h +0 -67
  2549. data/src/core/ext/transport/inproc/inproc_plugin.cc +0 -23
  2550. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb.h +0 -419
  2551. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.c +0 -81
  2552. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.h +0 -30
  2553. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb.h +0 -400
  2554. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.c +0 -106
  2555. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.h +0 -33
  2556. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.c +0 -104
  2557. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.h +0 -32
  2558. data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.c +0 -66
  2559. data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.h +0 -47
  2560. data/src/core/handshaker/security/tsi_error.cc +0 -31
  2561. data/src/core/handshaker/security/tsi_error.h +0 -30
  2562. data/src/core/lib/avl/avl.h +0 -325
  2563. data/src/core/lib/backoff/backoff.cc +0 -47
  2564. data/src/core/lib/backoff/backoff.h +0 -89
  2565. data/src/core/lib/backoff/random_early_detection.cc +0 -33
  2566. data/src/core/lib/backoff/random_early_detection.h +0 -62
  2567. data/src/core/lib/channel/call_tracer.cc +0 -364
  2568. data/src/core/lib/channel/call_tracer.h +0 -226
  2569. data/src/core/lib/channel/channel_stack_trace.cc +0 -19
  2570. data/src/core/lib/channel/channel_stack_trace.h +0 -24
  2571. data/src/core/lib/channel/context.h +0 -105
  2572. data/src/core/lib/channel/metrics.cc +0 -334
  2573. data/src/core/lib/channel/metrics.h +0 -365
  2574. data/src/core/lib/channel/tcp_tracer.h +0 -144
  2575. data/src/core/lib/config/config_vars.cc +0 -154
  2576. data/src/core/lib/config/config_vars.h +0 -131
  2577. data/src/core/lib/config/config_vars_non_generated.cc +0 -49
  2578. data/src/core/lib/config/core_configuration.cc +0 -112
  2579. data/src/core/lib/config/core_configuration.h +0 -244
  2580. data/src/core/lib/config/load_config.cc +0 -79
  2581. data/src/core/lib/config/load_config.h +0 -55
  2582. data/src/core/lib/debug/event_log.cc +0 -88
  2583. data/src/core/lib/debug/event_log.h +0 -81
  2584. data/src/core/lib/debug/histogram_view.cc +0 -69
  2585. data/src/core/lib/debug/histogram_view.h +0 -37
  2586. data/src/core/lib/debug/stats.cc +0 -68
  2587. data/src/core/lib/debug/stats.h +0 -64
  2588. data/src/core/lib/debug/stats_data.cc +0 -752
  2589. data/src/core/lib/debug/stats_data.h +0 -579
  2590. data/src/core/lib/event_engine/trace.cc +0 -25
  2591. data/src/core/lib/event_engine/trace.h +0 -48
  2592. data/src/core/lib/gpr/alloc.cc +0 -73
  2593. data/src/core/lib/gpr/alloc.h +0 -28
  2594. data/src/core/lib/gpr/android/log.cc +0 -79
  2595. data/src/core/lib/gpr/atm.cc +0 -35
  2596. data/src/core/lib/gpr/iphone/cpu.cc +0 -44
  2597. data/src/core/lib/gpr/linux/cpu.cc +0 -87
  2598. data/src/core/lib/gpr/linux/log.cc +0 -114
  2599. data/src/core/lib/gpr/log.cc +0 -166
  2600. data/src/core/lib/gpr/msys/tmpfile.cc +0 -59
  2601. data/src/core/lib/gpr/posix/cpu.cc +0 -84
  2602. data/src/core/lib/gpr/posix/log.cc +0 -111
  2603. data/src/core/lib/gpr/posix/string.cc +0 -72
  2604. data/src/core/lib/gpr/posix/sync.cc +0 -161
  2605. data/src/core/lib/gpr/posix/time.cc +0 -125
  2606. data/src/core/lib/gpr/posix/tmpfile.cc +0 -73
  2607. data/src/core/lib/gpr/spinlock.h +0 -53
  2608. data/src/core/lib/gpr/string.cc +0 -344
  2609. data/src/core/lib/gpr/string.h +0 -112
  2610. data/src/core/lib/gpr/sync.cc +0 -126
  2611. data/src/core/lib/gpr/sync_abseil.cc +0 -110
  2612. data/src/core/lib/gpr/time.cc +0 -271
  2613. data/src/core/lib/gpr/time_precise.cc +0 -168
  2614. data/src/core/lib/gpr/time_precise.h +0 -69
  2615. data/src/core/lib/gpr/tmpfile.h +0 -32
  2616. data/src/core/lib/gpr/useful.h +0 -184
  2617. data/src/core/lib/gpr/windows/cpu.cc +0 -35
  2618. data/src/core/lib/gpr/windows/log.cc +0 -116
  2619. data/src/core/lib/gpr/windows/string.cc +0 -69
  2620. data/src/core/lib/gpr/windows/string_util.cc +0 -55
  2621. data/src/core/lib/gpr/windows/sync.cc +0 -124
  2622. data/src/core/lib/gpr/windows/time.cc +0 -108
  2623. data/src/core/lib/gpr/windows/tmpfile.cc +0 -68
  2624. data/src/core/lib/gprpp/atomic_utils.h +0 -47
  2625. data/src/core/lib/gprpp/bitset.h +0 -225
  2626. data/src/core/lib/gprpp/chunked_vector.h +0 -258
  2627. data/src/core/lib/gprpp/construct_destruct.h +0 -40
  2628. data/src/core/lib/gprpp/cpp_impl_of.h +0 -49
  2629. data/src/core/lib/gprpp/crash.cc +0 -42
  2630. data/src/core/lib/gprpp/crash.h +0 -37
  2631. data/src/core/lib/gprpp/debug_location.h +0 -99
  2632. data/src/core/lib/gprpp/directory_reader.h +0 -48
  2633. data/src/core/lib/gprpp/down_cast.h +0 -49
  2634. data/src/core/lib/gprpp/dual_ref_counted.h +0 -365
  2635. data/src/core/lib/gprpp/env.h +0 -53
  2636. data/src/core/lib/gprpp/examine_stack.cc +0 -43
  2637. data/src/core/lib/gprpp/examine_stack.h +0 -45
  2638. data/src/core/lib/gprpp/fork.cc +0 -241
  2639. data/src/core/lib/gprpp/fork.h +0 -98
  2640. data/src/core/lib/gprpp/host_port.cc +0 -116
  2641. data/src/core/lib/gprpp/host_port.h +0 -57
  2642. data/src/core/lib/gprpp/if_list.h +0 -4530
  2643. data/src/core/lib/gprpp/linux/env.cc +0 -62
  2644. data/src/core/lib/gprpp/load_file.cc +0 -77
  2645. data/src/core/lib/gprpp/load_file.h +0 -34
  2646. data/src/core/lib/gprpp/manual_constructor.h +0 -146
  2647. data/src/core/lib/gprpp/match.h +0 -75
  2648. data/src/core/lib/gprpp/memory.h +0 -52
  2649. data/src/core/lib/gprpp/mpscq.cc +0 -108
  2650. data/src/core/lib/gprpp/mpscq.h +0 -100
  2651. data/src/core/lib/gprpp/no_destruct.h +0 -95
  2652. data/src/core/lib/gprpp/notification.h +0 -67
  2653. data/src/core/lib/gprpp/orphanable.h +0 -153
  2654. data/src/core/lib/gprpp/overload.h +0 -59
  2655. data/src/core/lib/gprpp/packed_table.h +0 -40
  2656. data/src/core/lib/gprpp/per_cpu.cc +0 -34
  2657. data/src/core/lib/gprpp/per_cpu.h +0 -103
  2658. data/src/core/lib/gprpp/posix/directory_reader.cc +0 -82
  2659. data/src/core/lib/gprpp/posix/env.cc +0 -47
  2660. data/src/core/lib/gprpp/posix/stat.cc +0 -56
  2661. data/src/core/lib/gprpp/posix/thd.cc +0 -247
  2662. data/src/core/lib/gprpp/ref_counted.h +0 -395
  2663. data/src/core/lib/gprpp/ref_counted_ptr.h +0 -445
  2664. data/src/core/lib/gprpp/ref_counted_string.cc +0 -43
  2665. data/src/core/lib/gprpp/ref_counted_string.h +0 -161
  2666. data/src/core/lib/gprpp/single_set_ptr.h +0 -88
  2667. data/src/core/lib/gprpp/sorted_pack.h +0 -89
  2668. data/src/core/lib/gprpp/stat.h +0 -36
  2669. data/src/core/lib/gprpp/status_helper.cc +0 -453
  2670. data/src/core/lib/gprpp/status_helper.h +0 -190
  2671. data/src/core/lib/gprpp/strerror.cc +0 -41
  2672. data/src/core/lib/gprpp/strerror.h +0 -29
  2673. data/src/core/lib/gprpp/sync.h +0 -200
  2674. data/src/core/lib/gprpp/table.h +0 -452
  2675. data/src/core/lib/gprpp/tchar.cc +0 -49
  2676. data/src/core/lib/gprpp/tchar.h +0 -33
  2677. data/src/core/lib/gprpp/thd.h +0 -195
  2678. data/src/core/lib/gprpp/time.cc +0 -242
  2679. data/src/core/lib/gprpp/time.h +0 -384
  2680. data/src/core/lib/gprpp/time_averaged_stats.cc +0 -60
  2681. data/src/core/lib/gprpp/time_averaged_stats.h +0 -79
  2682. data/src/core/lib/gprpp/time_util.cc +0 -82
  2683. data/src/core/lib/gprpp/time_util.h +0 -41
  2684. data/src/core/lib/gprpp/type_list.h +0 -32
  2685. data/src/core/lib/gprpp/unique_type_name.h +0 -104
  2686. data/src/core/lib/gprpp/uuid_v4.cc +0 -37
  2687. data/src/core/lib/gprpp/uuid_v4.h +0 -36
  2688. data/src/core/lib/gprpp/validation_errors.cc +0 -65
  2689. data/src/core/lib/gprpp/validation_errors.h +0 -134
  2690. data/src/core/lib/gprpp/windows/directory_reader.cc +0 -81
  2691. data/src/core/lib/gprpp/windows/env.cc +0 -56
  2692. data/src/core/lib/gprpp/windows/stat.cc +0 -52
  2693. data/src/core/lib/gprpp/windows/thd.cc +0 -184
  2694. data/src/core/lib/gprpp/work_serializer.cc +0 -558
  2695. data/src/core/lib/gprpp/work_serializer.h +0 -106
  2696. data/src/core/lib/gprpp/xxhash_inline.h +0 -29
  2697. data/src/core/lib/http/format_request.cc +0 -136
  2698. data/src/core/lib/http/format_request.h +0 -37
  2699. data/src/core/lib/http/httpcli.cc +0 -392
  2700. data/src/core/lib/http/httpcli.h +0 -267
  2701. data/src/core/lib/http/httpcli_security_connector.cc +0 -213
  2702. data/src/core/lib/http/httpcli_ssl_credentials.h +0 -38
  2703. data/src/core/lib/http/parser.cc +0 -451
  2704. data/src/core/lib/http/parser.h +0 -129
  2705. data/src/core/lib/iomgr/ev_windows.cc +0 -30
  2706. data/src/core/lib/iomgr/gethostname.h +0 -26
  2707. data/src/core/lib/iomgr/gethostname_fallback.cc +0 -30
  2708. data/src/core/lib/iomgr/gethostname_host_name_max.cc +0 -40
  2709. data/src/core/lib/iomgr/gethostname_sysconf.cc +0 -40
  2710. data/src/core/lib/iomgr/grpc_if_nametoindex.h +0 -30
  2711. data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +0 -43
  2712. data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +0 -39
  2713. data/src/core/lib/json/json.h +0 -29
  2714. data/src/core/lib/json/json_args.h +0 -34
  2715. data/src/core/lib/json/json_channel_args.h +0 -42
  2716. data/src/core/lib/json/json_object_loader.cc +0 -215
  2717. data/src/core/lib/json/json_object_loader.h +0 -645
  2718. data/src/core/lib/json/json_reader.cc +0 -956
  2719. data/src/core/lib/json/json_reader.h +0 -34
  2720. data/src/core/lib/json/json_util.cc +0 -101
  2721. data/src/core/lib/json/json_util.h +0 -164
  2722. data/src/core/lib/json/json_writer.cc +0 -339
  2723. data/src/core/lib/json/json_writer.h +0 -33
  2724. data/src/core/lib/matchers/matchers.cc +0 -330
  2725. data/src/core/lib/matchers/matchers.h +0 -163
  2726. data/src/core/lib/promise/trace.cc +0 -20
  2727. data/src/core/lib/promise/trace.h +0 -24
  2728. data/src/core/lib/resource_quota/trace.cc +0 -19
  2729. data/src/core/lib/resource_quota/trace.h +0 -24
  2730. data/src/core/lib/slice/slice_refcount.cc +0 -20
  2731. data/src/core/lib/surface/api_trace.cc +0 -25
  2732. data/src/core/lib/surface/api_trace.h +0 -52
  2733. data/src/core/lib/surface/call_trace.h +0 -24
  2734. data/src/core/lib/surface/wait_for_cq_end_op.cc +0 -75
  2735. data/src/core/lib/surface/wait_for_cq_end_op.h +0 -72
  2736. data/src/core/lib/transport/batch_builder.cc +0 -172
  2737. data/src/core/lib/transport/batch_builder.h +0 -474
  2738. data/src/core/lib/uri/uri_parser.cc +0 -372
  2739. data/src/core/lib/uri/uri_parser.h +0 -101
  2740. data/src/core/resolver/binder/binder_resolver.cc +0 -154
  2741. data/src/core/resolver/xds/xds_resolver_trace.cc +0 -25
  2742. data/src/core/resolver/xds/xds_resolver_trace.h +0 -30
  2743. data/src/core/xds/grpc/upb_utils.h +0 -45
  2744. data/src/core/xds/grpc/xds_http_filters.cc +0 -116
  2745. data/src/core/xds/grpc/xds_http_filters.h +0 -182
  2746. data/src/core/xds/xds_client/xds_client_stats.cc +0 -174
  2747. data/src/core/xds/xds_client/xds_client_stats.h +0 -258
  2748. data/third_party/abseil-cpp/absl/strings/internal/has_absl_stringify.h +0 -44
  2749. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +0 -284
  2750. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c +0 -89
  2751. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.c +0 -84
  2752. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.c +0 -85
  2753. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c +0 -465
  2754. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +0 -279
  2755. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +0 -235
  2756. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +0 -245
  2757. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +0 -214
  2758. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +0 -397
  2759. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +0 -98
  2760. data/third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.c +0 -241
  2761. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +0 -973
  2762. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +0 -708
  2763. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +0 -212
  2764. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c +0 -317
  2765. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c +0 -268
  2766. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +0 -475
  2767. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +0 -726
  2768. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +0 -309
  2769. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.c +0 -544
  2770. data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +0 -334
  2771. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.c +0 -480
  2772. data/third_party/boringssl-with-bazel/src/crypto/bio/printf.c +0 -102
  2773. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +0 -133
  2774. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +0 -169
  2775. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/bn_asn1.c +0 -57
  2776. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/convert.c +0 -465
  2777. data/third_party/boringssl-with-bazel/src/crypto/buf/buf.c +0 -158
  2778. data/third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.c +0 -53
  2779. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c +0 -266
  2780. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.c +0 -718
  2781. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +0 -913
  2782. data/third_party/boringssl-with-bazel/src/crypto/bytestring/unicode.c +0 -156
  2783. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +0 -224
  2784. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesctrhmac.c +0 -284
  2785. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesgcmsiv.c +0 -841
  2786. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c +0 -341
  2787. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_des.c +0 -228
  2788. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.c +0 -90
  2789. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc2.c +0 -455
  2790. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.c +0 -94
  2791. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +0 -598
  2792. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +0 -647
  2793. data/third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h +0 -122
  2794. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.c +0 -75
  2795. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.c +0 -55
  2796. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.c +0 -62
  2797. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.c +0 -61
  2798. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_sysreg.c +0 -93
  2799. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.c +0 -41
  2800. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c +0 -54
  2801. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.c +0 -148
  2802. data/third_party/boringssl-with-bazel/src/crypto/cpu_intel.c +0 -292
  2803. data/third_party/boringssl-with-bazel/src/crypto/crypto.c +0 -242
  2804. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +0 -2157
  2805. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_64_adx.c +0 -18
  2806. data/third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c +0 -523
  2807. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c +0 -165
  2808. data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +0 -266
  2809. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +0 -990
  2810. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +0 -421
  2811. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +0 -572
  2812. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_derive.c +0 -96
  2813. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +0 -508
  2814. data/third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/ecdsa_asn1.c +0 -265
  2815. data/third_party/boringssl-with-bazel/src/crypto/engine/engine.c +0 -91
  2816. data/third_party/boringssl-with-bazel/src/crypto/err/err.c +0 -903
  2817. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +0 -430
  2818. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c +0 -483
  2819. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh.c +0 -137
  2820. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh_asn1.c +0 -120
  2821. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c +0 -338
  2822. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c +0 -274
  2823. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c +0 -332
  2824. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.c +0 -100
  2825. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.c +0 -224
  2826. data/third_party/boringssl-with-bazel/src/crypto/evp/p_hkdf.c +0 -232
  2827. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c +0 -646
  2828. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.c +0 -241
  2829. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.c +0 -106
  2830. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.c +0 -236
  2831. data/third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.c +0 -146
  2832. data/third_party/boringssl-with-bazel/src/crypto/evp/print.c +0 -381
  2833. data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.c +0 -209
  2834. data/third_party/boringssl-with-bazel/src/crypto/ex_data.c +0 -236
  2835. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.c +0 -106
  2836. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.c +0 -1281
  2837. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.c +0 -242
  2838. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +0 -275
  2839. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/add.c +0 -310
  2840. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/asm/x86_64-gcc.c +0 -541
  2841. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.c +0 -428
  2842. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/ctx.c +0 -234
  2843. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +0 -909
  2844. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.c +0 -87
  2845. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c +0 -1276
  2846. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.c +0 -397
  2847. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.c +0 -331
  2848. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.c +0 -532
  2849. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.c +0 -744
  2850. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.c +0 -1077
  2851. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.c +0 -356
  2852. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.c +0 -363
  2853. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.c +0 -499
  2854. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/aead.c +0 -287
  2855. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +0 -717
  2856. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +0 -1463
  2857. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cmac/cmac.c +0 -322
  2858. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.c +0 -489
  2859. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c +0 -288
  2860. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c +0 -304
  2861. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digestsign/digestsign.c +0 -267
  2862. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +0 -1043
  2863. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +0 -557
  2864. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.c +0 -104
  2865. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c +0 -359
  2866. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +0 -1163
  2867. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.c +0 -637
  2868. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +0 -749
  2869. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c +0 -173
  2870. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +0 -269
  2871. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/util.c +0 -255
  2872. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c +0 -264
  2873. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.c +0 -130
  2874. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +0 -372
  2875. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c +0 -32
  2876. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/hkdf.c +0 -112
  2877. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.c +0 -256
  2878. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +0 -240
  2879. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/internal.h +0 -37
  2880. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +0 -284
  2881. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +0 -743
  2882. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.c +0 -302
  2883. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/polyval.c +0 -90
  2884. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/ctrdrbg.c +0 -220
  2885. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.c +0 -197
  2886. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.h +0 -68
  2887. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/getrandom_fillin.h +0 -64
  2888. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +0 -493
  2889. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +0 -328
  2890. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.c +0 -241
  2891. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.c +0 -423
  2892. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +0 -1038
  2893. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +0 -1351
  2894. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c +0 -119
  2895. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +0 -1064
  2896. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.c +0 -328
  2897. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +0 -439
  2898. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +0 -359
  2899. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +0 -537
  2900. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +0 -801
  2901. data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c +0 -2234
  2902. data/third_party/boringssl-with-bazel/src/crypto/keccak/keccak.c +0 -279
  2903. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +0 -844
  2904. data/third_party/boringssl-with-bazel/src/crypto/lhash/lhash.c +0 -350
  2905. data/third_party/boringssl-with-bazel/src/crypto/mem.c +0 -609
  2906. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +0 -564
  2907. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.c +0 -294
  2908. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +0 -790
  2909. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.c +0 -87
  2910. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c +0 -251
  2911. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c +0 -183
  2912. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.c +0 -193
  2913. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +0 -523
  2914. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.c +0 -316
  2915. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +0 -527
  2916. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +0 -1352
  2917. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c +0 -314
  2918. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.c +0 -308
  2919. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.c +0 -847
  2920. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.c +0 -261
  2921. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c +0 -57
  2922. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c +0 -44
  2923. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/getentropy.c +0 -52
  2924. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/ios.c +0 -34
  2925. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c +0 -158
  2926. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +0 -74
  2927. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/trusty.c +0 -38
  2928. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c +0 -95
  2929. data/third_party/boringssl-with-bazel/src/crypto/refcount.c +0 -59
  2930. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_asn1.c +0 -324
  2931. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_crypt.c +0 -570
  2932. data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c +0 -79
  2933. data/third_party/boringssl-with-bazel/src/crypto/spx/address.c +0 -101
  2934. data/third_party/boringssl-with-bazel/src/crypto/spx/address.h +0 -50
  2935. data/third_party/boringssl-with-bazel/src/crypto/spx/fors.c +0 -133
  2936. data/third_party/boringssl-with-bazel/src/crypto/spx/fors.h +0 -54
  2937. data/third_party/boringssl-with-bazel/src/crypto/spx/merkle.c +0 -150
  2938. data/third_party/boringssl-with-bazel/src/crypto/spx/merkle.h +0 -61
  2939. data/third_party/boringssl-with-bazel/src/crypto/spx/params.h +0 -71
  2940. data/third_party/boringssl-with-bazel/src/crypto/spx/spx.c +0 -140
  2941. data/third_party/boringssl-with-bazel/src/crypto/spx/spx_util.c +0 -53
  2942. data/third_party/boringssl-with-bazel/src/crypto/spx/spx_util.h +0 -44
  2943. data/third_party/boringssl-with-bazel/src/crypto/spx/thash.c +0 -136
  2944. data/third_party/boringssl-with-bazel/src/crypto/spx/thash.h +0 -70
  2945. data/third_party/boringssl-with-bazel/src/crypto/spx/wots.c +0 -135
  2946. data/third_party/boringssl-with-bazel/src/crypto/spx/wots.h +0 -45
  2947. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +0 -534
  2948. data/third_party/boringssl-with-bazel/src/crypto/thread_none.c +0 -51
  2949. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +0 -150
  2950. data/third_party/boringssl-with-bazel/src/crypto/thread_win.c +0 -236
  2951. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +0 -1668
  2952. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +0 -687
  2953. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +0 -1267
  2954. data/third_party/boringssl-with-bazel/src/crypto/x509/a_digest.c +0 -94
  2955. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.c +0 -136
  2956. data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.c +0 -116
  2957. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +0 -178
  2958. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +0 -585
  2959. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +0 -400
  2960. data/third_party/boringssl-with-bazel/src/crypto/x509/policy.c +0 -786
  2961. data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c +0 -401
  2962. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akey.c +0 -221
  2963. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_alt.c +0 -634
  2964. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bcons.c +0 -135
  2965. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bitst.c +0 -141
  2966. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_conf.c +0 -416
  2967. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_cpols.c +0 -482
  2968. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_crld.c +0 -598
  2969. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_enum.c +0 -112
  2970. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_extku.c +0 -154
  2971. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_genn.c +0 -270
  2972. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ia5.c +0 -122
  2973. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_info.c +0 -211
  2974. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_int.c +0 -121
  2975. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_lib.c +0 -344
  2976. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ncons.c +0 -555
  2977. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ocsp.c +0 -81
  2978. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pcons.c +0 -142
  2979. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pmaps.c +0 -150
  2980. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_prn.c +0 -224
  2981. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_purp.c +0 -624
  2982. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_skey.c +0 -170
  2983. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_utl.c +0 -1357
  2984. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +0 -227
  2985. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +0 -609
  2986. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +0 -291
  2987. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +0 -1648
  2988. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +0 -440
  2989. data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.c +0 -133
  2990. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c +0 -356
  2991. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +0 -384
  2992. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +0 -527
  2993. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +0 -210
  2994. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +0 -544
  2995. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +0 -209
  2996. data/third_party/boringssl-with-bazel/src/gen/crypto/err_data.c +0 -1514
  2997. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/spx.h +0 -90
  2998. /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_bool.c → a_bool.cc} +0 -0
  2999. /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_gentm.c → a_gentm.cc} +0 -0
  3000. /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_octet.c → a_octet.cc} +0 -0
  3001. /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_strex.c → a_strex.cc} +0 -0
  3002. /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_time.c → a_time.cc} +0 -0
  3003. /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_utctm.c → a_utctm.cc} +0 -0
  3004. /data/third_party/boringssl-with-bazel/src/crypto/asn1/{asn1_par.c → asn1_par.cc} +0 -0
  3005. /data/third_party/boringssl-with-bazel/src/crypto/asn1/{f_int.c → f_int.cc} +0 -0
  3006. /data/third_party/boringssl-with-bazel/src/crypto/asn1/{f_string.c → f_string.cc} +0 -0
  3007. /data/third_party/boringssl-with-bazel/src/crypto/asn1/{tasn_typ.c → tasn_typ.cc} +0 -0
  3008. /data/third_party/boringssl-with-bazel/src/crypto/bio/{errno.c → errno.cc} +0 -0
  3009. /data/third_party/boringssl-with-bazel/src/crypto/bio/{fd.c → fd.cc} +0 -0
  3010. /data/third_party/boringssl-with-bazel/src/crypto/bio/{hexdump.c → hexdump.cc} +0 -0
  3011. /data/third_party/boringssl-with-bazel/src/crypto/bio/{socket.c → socket.cc} +0 -0
  3012. /data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{cipher_extra.c → cipher_extra.cc} +0 -0
  3013. /data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{derive_key.c → derive_key.cc} +0 -0
  3014. /data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{tls_cbc.c → tls_cbc.cc} +0 -0
  3015. /data/third_party/boringssl-with-bazel/src/crypto/des/{des.c → des.cc} +0 -0
  3016. /data/third_party/boringssl-with-bazel/src/crypto/dh_extra/{params.c → params.cc} +0 -0
  3017. /data/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/{ecdh_extra.c → ecdh_extra.cc} +0 -0
  3018. /data/third_party/boringssl-with-bazel/src/crypto/evp/{evp_asn1.c → evp_asn1.cc} +0 -0
  3019. /data/third_party/boringssl-with-bazel/src/crypto/evp/{sign.c → sign.cc} +0 -0
  3020. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{mode_wrappers.c → mode_wrappers.cc.inc} +0 -0
  3021. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{bytes.c → bytes.cc.inc} +0 -0
  3022. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{cmp.c → cmp.cc.inc} +0 -0
  3023. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{generic.c → generic.cc.inc} +0 -0
  3024. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{jacobi.c → jacobi.cc.inc} +0 -0
  3025. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{montgomery_inv.c → montgomery_inv.cc.inc} +0 -0
  3026. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{rsaz_exp.c → rsaz_exp.cc.inc} +0 -0
  3027. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{e_aesccm.c → e_aesccm.cc.inc} +0 -0
  3028. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/{check.c → check.cc.inc} +0 -0
  3029. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{ec_montgomery.c → ec_montgomery.cc.inc} +0 -0
  3030. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{simple.c → simple.cc.inc} +0 -0
  3031. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{cbc.c → cbc.cc.inc} +0 -0
  3032. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{cfb.c → cfb.cc.inc} +0 -0
  3033. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{ctr.c → ctr.cc.inc} +0 -0
  3034. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{ofb.c → ofb.cc.inc} +0 -0
  3035. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/{kdf.c → kdf.cc.inc} +0 -0
  3036. /data/third_party/boringssl-with-bazel/src/crypto/obj/{obj_xref.c → obj_xref.cc} +0 -0
  3037. /data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_all.c → pem_all.cc} +0 -0
  3038. /data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_x509.c → pem_x509.cc} +0 -0
  3039. /data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_xaux.c → pem_xaux.cc} +0 -0
  3040. /data/third_party/boringssl-with-bazel/src/crypto/rc4/{rc4.c → rc4.cc} +0 -0
  3041. /data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/{rsa_print.c → rsa_print.cc} +0 -0
  3042. /data/third_party/boringssl-with-bazel/src/crypto/{thread.c → thread.cc} +0 -0
  3043. /data/third_party/boringssl-with-bazel/src/crypto/x509/{by_file.c → by_file.cc} +0 -0
  3044. /data/third_party/boringssl-with-bazel/src/crypto/x509/{i2d_pr.c → i2d_pr.cc} +0 -0
  3045. /data/third_party/boringssl-with-bazel/src/crypto/x509/{name_print.c → name_print.cc} +0 -0
  3046. /data/third_party/boringssl-with-bazel/src/crypto/x509/{t_crl.c → t_crl.cc} +0 -0
  3047. /data/third_party/boringssl-with-bazel/src/crypto/x509/{t_req.c → t_req.cc} +0 -0
  3048. /data/third_party/boringssl-with-bazel/src/crypto/x509/{t_x509.c → t_x509.cc} +0 -0
  3049. /data/third_party/boringssl-with-bazel/src/crypto/x509/{t_x509a.c → t_x509a.cc} +0 -0
  3050. /data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_akeya.c → v3_akeya.cc} +0 -0
  3051. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509.c → x509.cc} +0 -0
  3052. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_cmp.c → x509_cmp.cc} +0 -0
  3053. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_d2.c → x509_d2.cc} +0 -0
  3054. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_def.c → x509_def.cc} +0 -0
  3055. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_ext.c → x509_ext.cc} +0 -0
  3056. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_obj.c → x509_obj.cc} +0 -0
  3057. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_req.c → x509_req.cc} +0 -0
  3058. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_set.c → x509_set.cc} +0 -0
  3059. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_trs.c → x509_trs.cc} +0 -0
  3060. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_txt.c → x509_txt.cc} +0 -0
  3061. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509cset.c → x509cset.cc} +0 -0
  3062. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509name.c → x509name.cc} +0 -0
  3063. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509rset.c → x509rset.cc} +0 -0
  3064. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_algor.c → x_algor.cc} +0 -0
  3065. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_attrib.c → x_attrib.cc} +0 -0
  3066. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_exten.c → x_exten.cc} +0 -0
  3067. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_req.c → x_req.cc} +0 -0
  3068. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_sig.c → x_sig.cc} +0 -0
  3069. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_spki.c → x_spki.cc} +0 -0
  3070. /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_val.c → x_val.cc} +0 -0
@@ -14,10 +14,16 @@
14
14
  // limitations under the License.
15
15
  //
16
16
 
17
- #include <grpc/support/port_platform.h>
18
-
19
17
  #include "src/core/client_channel/client_channel_filter.h"
20
18
 
19
+ #include <grpc/event_engine/event_engine.h>
20
+ #include <grpc/impl/channel_arg_names.h>
21
+ #include <grpc/slice.h>
22
+ #include <grpc/status.h>
23
+ #include <grpc/support/json.h>
24
+ #include <grpc/support/port_platform.h>
25
+ #include <grpc/support/string_util.h>
26
+ #include <grpc/support/time.h>
21
27
  #include <inttypes.h>
22
28
  #include <limits.h>
23
29
 
@@ -31,6 +37,7 @@
31
37
 
32
38
  #include "absl/cleanup/cleanup.h"
33
39
  #include "absl/log/check.h"
40
+ #include "absl/log/log.h"
34
41
  #include "absl/status/status.h"
35
42
  #include "absl/status/statusor.h"
36
43
  #include "absl/strings/cord.h"
@@ -40,16 +47,6 @@
40
47
  #include "absl/strings/string_view.h"
41
48
  #include "absl/types/optional.h"
42
49
  #include "absl/types/variant.h"
43
-
44
- #include <grpc/event_engine/event_engine.h>
45
- #include <grpc/impl/channel_arg_names.h>
46
- #include <grpc/slice.h>
47
- #include <grpc/status.h>
48
- #include <grpc/support/json.h>
49
- #include <grpc/support/log.h>
50
- #include <grpc/support/string_util.h>
51
- #include <grpc/support/time.h>
52
-
53
50
  #include "src/core/channelz/channel_trace.h"
54
51
  #include "src/core/client_channel/backup_poller.h"
55
52
  #include "src/core/client_channel/client_channel_internal.h"
@@ -57,30 +54,23 @@
57
54
  #include "src/core/client_channel/config_selector.h"
58
55
  #include "src/core/client_channel/dynamic_filters.h"
59
56
  #include "src/core/client_channel/global_subchannel_pool.h"
57
+ #include "src/core/client_channel/lb_metadata.h"
60
58
  #include "src/core/client_channel/local_subchannel_pool.h"
61
59
  #include "src/core/client_channel/retry_filter.h"
62
60
  #include "src/core/client_channel/subchannel.h"
63
61
  #include "src/core/client_channel/subchannel_interface_internal.h"
62
+ #include "src/core/config/core_configuration.h"
64
63
  #include "src/core/handshaker/proxy_mapper_registry.h"
64
+ #include "src/core/lib/address_utils/sockaddr_utils.h"
65
65
  #include "src/core/lib/channel/channel_args.h"
66
66
  #include "src/core/lib/channel/channel_stack.h"
67
67
  #include "src/core/lib/channel/status_util.h"
68
- #include "src/core/lib/config/core_configuration.h"
69
68
  #include "src/core/lib/debug/trace.h"
70
69
  #include "src/core/lib/experiments/experiments.h"
71
- #include "src/core/lib/gpr/useful.h"
72
- #include "src/core/lib/gprpp/crash.h"
73
- #include "src/core/lib/gprpp/debug_location.h"
74
- #include "src/core/lib/gprpp/manual_constructor.h"
75
- #include "src/core/lib/gprpp/status_helper.h"
76
- #include "src/core/lib/gprpp/sync.h"
77
- #include "src/core/lib/gprpp/unique_type_name.h"
78
- #include "src/core/lib/gprpp/work_serializer.h"
79
70
  #include "src/core/lib/iomgr/exec_ctx.h"
80
71
  #include "src/core/lib/iomgr/polling_entity.h"
81
72
  #include "src/core/lib/iomgr/pollset_set.h"
82
73
  #include "src/core/lib/iomgr/resolved_address.h"
83
- #include "src/core/lib/json/json.h"
84
74
  #include "src/core/lib/promise/cancel_callback.h"
85
75
  #include "src/core/lib/promise/context.h"
86
76
  #include "src/core/lib/promise/latch.h"
@@ -104,6 +94,15 @@
104
94
  #include "src/core/resolver/resolver_registry.h"
105
95
  #include "src/core/service_config/service_config_call_data.h"
106
96
  #include "src/core/service_config/service_config_impl.h"
97
+ #include "src/core/util/crash.h"
98
+ #include "src/core/util/debug_location.h"
99
+ #include "src/core/util/json/json.h"
100
+ #include "src/core/util/manual_constructor.h"
101
+ #include "src/core/util/status_helper.h"
102
+ #include "src/core/util/sync.h"
103
+ #include "src/core/util/unique_type_name.h"
104
+ #include "src/core/util/useful.h"
105
+ #include "src/core/util/work_serializer.h"
107
106
 
108
107
  //
109
108
  // Client channel filter
@@ -113,10 +112,6 @@ namespace grpc_core {
113
112
 
114
113
  using internal::ClientChannelMethodParsedConfig;
115
114
 
116
- TraceFlag grpc_client_channel_trace(false, "client_channel");
117
- TraceFlag grpc_client_channel_call_trace(false, "client_channel_call");
118
- TraceFlag grpc_client_channel_lb_call_trace(false, "client_channel_lb_call");
119
-
120
115
  //
121
116
  // ClientChannelFilter::CallData definition
122
117
  //
@@ -159,7 +154,6 @@ class ClientChannelFilter::CallData {
159
154
  virtual Arena* arena() const = 0;
160
155
  virtual grpc_polling_entity* pollent() = 0;
161
156
  virtual grpc_metadata_batch* send_initial_metadata() = 0;
162
- virtual grpc_call_context_element* call_context() const = 0;
163
157
 
164
158
  // Helper function for CheckResolution(). Returns true if the call
165
159
  // can continue (i.e., there is a valid resolution result, or there is
@@ -222,9 +216,6 @@ class ClientChannelFilter::FilterBasedCallData final
222
216
  return pending_batches_[0]
223
217
  ->payload->send_initial_metadata.send_initial_metadata;
224
218
  }
225
- grpc_call_context_element* call_context() const override {
226
- return call_context_;
227
- }
228
219
 
229
220
  // Returns the index into pending_batches_ to be used for batch.
230
221
  static size_t GetBatchIndex(grpc_transport_stream_op_batch* batch);
@@ -269,8 +260,7 @@ class ClientChannelFilter::FilterBasedCallData final
269
260
  void ResetDeadline(Duration timeout) override {
270
261
  const Timestamp per_method_deadline =
271
262
  Timestamp::FromCycleCounterRoundUp(call_start_time_) + timeout;
272
- static_cast<Call*>(call_context_[GRPC_CONTEXT_CALL].value)
273
- ->UpdateDeadline(per_method_deadline);
263
+ arena_->GetContext<Call>()->UpdateDeadline(per_method_deadline);
274
264
  }
275
265
 
276
266
  void CreateDynamicCall();
@@ -279,7 +269,6 @@ class ClientChannelFilter::FilterBasedCallData final
279
269
  void* arg, grpc_error_handle error);
280
270
 
281
271
  grpc_slice path_; // Request path.
282
- grpc_call_context_element* call_context_;
283
272
  gpr_cycle_counter call_start_time_;
284
273
  Timestamp deadline_;
285
274
 
@@ -310,105 +299,12 @@ class ClientChannelFilter::FilterBasedCallData final
310
299
  grpc_error_handle cancel_error_;
311
300
  };
312
301
 
313
- class ClientChannelFilter::PromiseBasedCallData final
314
- : public ClientChannelFilter::CallData {
315
- public:
316
- explicit PromiseBasedCallData(ClientChannelFilter* chand) : chand_(chand) {}
317
-
318
- ~PromiseBasedCallData() override {
319
- if (was_queued_ && client_initial_metadata_ != nullptr) {
320
- MutexLock lock(&chand_->resolution_mu_);
321
- RemoveCallFromResolverQueuedCallsLocked();
322
- chand_->resolver_queued_calls_.erase(this);
323
- }
324
- }
325
-
326
- ArenaPromise<absl::StatusOr<CallArgs>> MakeNameResolutionPromise(
327
- CallArgs call_args) {
328
- pollent_ = NowOrNever(call_args.polling_entity->WaitAndCopy()).value();
329
- client_initial_metadata_ = std::move(call_args.client_initial_metadata);
330
- // If we're still in IDLE, we need to start resolving.
331
- if (GPR_UNLIKELY(chand_->CheckConnectivityState(false) ==
332
- GRPC_CHANNEL_IDLE)) {
333
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_call_trace)) {
334
- gpr_log(GPR_INFO, "chand=%p calld=%p: %striggering exit idle", chand_,
335
- this, GetContext<Activity>()->DebugTag().c_str());
336
- }
337
- // Bounce into the control plane work serializer to start resolving.
338
- GRPC_CHANNEL_STACK_REF(chand_->owning_stack_, "ExitIdle");
339
- chand_->work_serializer_->Run(
340
- [chand = chand_]()
341
- ABSL_EXCLUSIVE_LOCKS_REQUIRED(*chand_->work_serializer_) {
342
- chand->CheckConnectivityState(/*try_to_connect=*/true);
343
- GRPC_CHANNEL_STACK_UNREF(chand->owning_stack_, "ExitIdle");
344
- },
345
- DEBUG_LOCATION);
346
- }
347
- return [this, call_args = std::move(
348
- call_args)]() mutable -> Poll<absl::StatusOr<CallArgs>> {
349
- auto result = CheckResolution(was_queued_);
350
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_call_trace)) {
351
- gpr_log(GPR_INFO, "chand=%p calld=%p: %sCheckResolution returns %s",
352
- chand_, this, GetContext<Activity>()->DebugTag().c_str(),
353
- result.has_value() ? result->ToString().c_str() : "Pending");
354
- }
355
- if (!result.has_value()) return Pending{};
356
- if (!result->ok()) return *result;
357
- call_args.client_initial_metadata = std::move(client_initial_metadata_);
358
- return std::move(call_args);
359
- };
360
- }
361
-
362
- private:
363
- ClientChannelFilter* chand() const override { return chand_; }
364
- Arena* arena() const override { return GetContext<Arena>(); }
365
- grpc_polling_entity* pollent() override { return &pollent_; }
366
- grpc_metadata_batch* send_initial_metadata() override {
367
- return client_initial_metadata_.get();
368
- }
369
- grpc_call_context_element* call_context() const override {
370
- return GetContext<grpc_call_context_element>();
371
- }
372
-
373
- void OnAddToQueueLocked() override
374
- ABSL_EXCLUSIVE_LOCKS_REQUIRED(&ClientChannelFilter::resolution_mu_) {
375
- waker_ = GetContext<Activity>()->MakeNonOwningWaker();
376
- was_queued_ = true;
377
- }
378
-
379
- void RetryCheckResolutionLocked() ABSL_EXCLUSIVE_LOCKS_REQUIRED(
380
- &ClientChannelFilter::resolution_mu_) override {
381
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_call_trace)) {
382
- gpr_log(GPR_INFO, "chand=%p calld=%p: RetryCheckResolutionLocked(): %s",
383
- chand_, this, waker_.ActivityDebugTag().c_str());
384
- }
385
- waker_.WakeupAsync();
386
- }
387
-
388
- void ResetDeadline(Duration timeout) override {
389
- Call* call = GetContext<Call>();
390
- CallContext* call_context = GetContext<CallContext>();
391
- const Timestamp per_method_deadline =
392
- Timestamp::FromCycleCounterRoundUp(call_context->call_start_time()) +
393
- timeout;
394
- call->UpdateDeadline(per_method_deadline);
395
- }
396
-
397
- ClientChannelFilter* chand_;
398
- grpc_polling_entity pollent_;
399
- ClientMetadataHandle client_initial_metadata_;
400
- bool was_queued_ = false;
401
- Waker waker_ ABSL_GUARDED_BY(&ClientChannelFilter::resolution_mu_);
402
- };
403
-
404
302
  //
405
303
  // Filter vtable
406
304
  //
407
305
 
408
- const grpc_channel_filter ClientChannelFilter::kFilterVtableWithPromises = {
306
+ const grpc_channel_filter ClientChannelFilter::kFilter = {
409
307
  ClientChannelFilter::FilterBasedCallData::StartTransportStreamOpBatch,
410
- ClientChannelFilter::MakeCallPromise,
411
- /* init_call: */ nullptr,
412
308
  ClientChannelFilter::StartTransportOp,
413
309
  sizeof(ClientChannelFilter::FilterBasedCallData),
414
310
  ClientChannelFilter::FilterBasedCallData::Init,
@@ -419,24 +315,7 @@ const grpc_channel_filter ClientChannelFilter::kFilterVtableWithPromises = {
419
315
  grpc_channel_stack_no_post_init,
420
316
  ClientChannelFilter::Destroy,
421
317
  ClientChannelFilter::GetChannelInfo,
422
- "client-channel",
423
- };
424
-
425
- const grpc_channel_filter ClientChannelFilter::kFilterVtableWithoutPromises = {
426
- ClientChannelFilter::FilterBasedCallData::StartTransportStreamOpBatch,
427
- nullptr,
428
- /* init_call: */ nullptr,
429
- ClientChannelFilter::StartTransportOp,
430
- sizeof(ClientChannelFilter::FilterBasedCallData),
431
- ClientChannelFilter::FilterBasedCallData::Init,
432
- ClientChannelFilter::FilterBasedCallData::SetPollent,
433
- ClientChannelFilter::FilterBasedCallData::Destroy,
434
- sizeof(ClientChannelFilter),
435
- ClientChannelFilter::Init,
436
- grpc_channel_stack_no_post_init,
437
- ClientChannelFilter::Destroy,
438
- ClientChannelFilter::GetChannelInfo,
439
- "client-channel",
318
+ GRPC_UNIQUE_TYPE_NAME_HERE("client-channel"),
440
319
  };
441
320
 
442
321
  //
@@ -445,10 +324,9 @@ const grpc_channel_filter ClientChannelFilter::kFilterVtableWithoutPromises = {
445
324
 
446
325
  namespace {
447
326
 
448
- ClientChannelServiceConfigCallData* GetServiceConfigCallData(
449
- grpc_call_context_element* context) {
450
- return static_cast<ClientChannelServiceConfigCallData*>(
451
- context[GRPC_CONTEXT_SERVICE_CONFIG_CALL_DATA].value);
327
+ ClientChannelServiceConfigCallData* GetServiceConfigCallData(Arena* arena) {
328
+ return DownCast<ClientChannelServiceConfigCallData*>(
329
+ arena->GetContext<ServiceConfigCallData>());
452
330
  }
453
331
 
454
332
  class DynamicTerminationFilter final {
@@ -476,19 +354,6 @@ class DynamicTerminationFilter final {
476
354
  static void GetChannelInfo(grpc_channel_element* /*elem*/,
477
355
  const grpc_channel_info* /*info*/) {}
478
356
 
479
- static ArenaPromise<ServerMetadataHandle> MakeCallPromise(
480
- grpc_channel_element* elem, CallArgs call_args, NextPromiseFactory) {
481
- auto* chand = static_cast<DynamicTerminationFilter*>(elem->channel_data);
482
- return chand->chand_->CreateLoadBalancedCallPromise(
483
- std::move(call_args),
484
- []() {
485
- auto* service_config_call_data =
486
- GetServiceConfigCallData(GetContext<grpc_call_context_element>());
487
- service_config_call_data->Commit();
488
- },
489
- /*is_transparent_retry=*/false);
490
- }
491
-
492
357
  private:
493
358
  explicit DynamicTerminationFilter(const ChannelArgs& args)
494
359
  : chand_(args.GetObject<ClientChannelFilter>()) {}
@@ -532,21 +397,18 @@ class DynamicTerminationFilter::CallData final {
532
397
  auto* calld = static_cast<CallData*>(elem->call_data);
533
398
  auto* chand = static_cast<DynamicTerminationFilter*>(elem->channel_data);
534
399
  ClientChannelFilter* client_channel = chand->chand_;
535
- grpc_call_element_args args = {calld->owning_call_, nullptr,
536
- calld->call_context_, calld->path_,
537
- /*start_time=*/0, calld->deadline_,
538
- calld->arena_, calld->call_combiner_};
539
- auto* service_config_call_data =
540
- GetServiceConfigCallData(calld->call_context_);
400
+ grpc_call_element_args args = {calld->owning_call_, nullptr,
401
+ calld->path_,
402
+ /*start_time=*/0, calld->deadline_,
403
+ calld->arena_, calld->call_combiner_};
404
+ auto* service_config_call_data = GetServiceConfigCallData(calld->arena_);
541
405
  calld->lb_call_ = client_channel->CreateLoadBalancedCall(
542
406
  args, pollent, nullptr,
543
407
  [service_config_call_data]() { service_config_call_data->Commit(); },
544
408
  /*is_transparent_retry=*/false);
545
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_call_trace)) {
546
- gpr_log(GPR_INFO,
547
- "chand=%p dynamic_termination_calld=%p: create lb_call=%p", chand,
548
- client_channel, calld->lb_call_.get());
549
- }
409
+ GRPC_TRACE_LOG(client_channel_call, INFO)
410
+ << "chand=" << chand << " dynamic_termination_calld=" << client_channel
411
+ << ": create lb_call=" << calld->lb_call_.get();
550
412
  }
551
413
 
552
414
  private:
@@ -555,8 +417,7 @@ class DynamicTerminationFilter::CallData final {
555
417
  deadline_(args.deadline),
556
418
  arena_(args.arena),
557
419
  owning_call_(args.call_stack),
558
- call_combiner_(args.call_combiner),
559
- call_context_(args.context) {}
420
+ call_combiner_(args.call_combiner) {}
560
421
 
561
422
  ~CallData() { CSliceUnref(path_); }
562
423
 
@@ -565,15 +426,12 @@ class DynamicTerminationFilter::CallData final {
565
426
  Arena* arena_;
566
427
  grpc_call_stack* owning_call_;
567
428
  CallCombiner* call_combiner_;
568
- grpc_call_context_element* call_context_;
569
429
 
570
430
  OrphanablePtr<ClientChannelFilter::FilterBasedLoadBalancedCall> lb_call_;
571
431
  };
572
432
 
573
433
  const grpc_channel_filter DynamicTerminationFilter::kFilterVtable = {
574
434
  DynamicTerminationFilter::CallData::StartTransportStreamOpBatch,
575
- DynamicTerminationFilter::MakeCallPromise,
576
- /* init_call: */ nullptr,
577
435
  DynamicTerminationFilter::StartTransportOp,
578
436
  sizeof(DynamicTerminationFilter::CallData),
579
437
  DynamicTerminationFilter::CallData::Init,
@@ -584,7 +442,7 @@ const grpc_channel_filter DynamicTerminationFilter::kFilterVtable = {
584
442
  grpc_channel_stack_no_post_init,
585
443
  DynamicTerminationFilter::Destroy,
586
444
  DynamicTerminationFilter::GetChannelInfo,
587
- "dynamic_filter_termination",
445
+ GRPC_UNIQUE_TYPE_NAME_HERE("dynamic_filter_termination"),
588
446
  };
589
447
 
590
448
  } // namespace
@@ -601,9 +459,8 @@ class ClientChannelFilter::ResolverResultHandler final
601
459
  }
602
460
 
603
461
  ~ResolverResultHandler() override {
604
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_trace)) {
605
- gpr_log(GPR_INFO, "chand=%p: resolver shutdown complete", chand_);
606
- }
462
+ GRPC_TRACE_LOG(client_channel, INFO)
463
+ << "chand=" << chand_ << ": resolver shutdown complete";
607
464
  GRPC_CHANNEL_STACK_UNREF(chand_->owning_stack_, "ResolverResultHandler");
608
465
  }
609
466
 
@@ -633,16 +490,14 @@ class ClientChannelFilter::SubchannelWrapper final
633
490
  public:
634
491
  SubchannelWrapper(ClientChannelFilter* chand,
635
492
  RefCountedPtr<Subchannel> subchannel)
636
- : SubchannelInterface(GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_trace)
493
+ : SubchannelInterface(GRPC_TRACE_FLAG_ENABLED(client_channel)
637
494
  ? "SubchannelWrapper"
638
495
  : nullptr),
639
496
  chand_(chand),
640
497
  subchannel_(std::move(subchannel)) {
641
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_trace)) {
642
- gpr_log(GPR_INFO,
643
- "chand=%p: creating subchannel wrapper %p for subchannel %p",
644
- chand, this, subchannel_.get());
645
- }
498
+ GRPC_TRACE_LOG(client_channel, INFO)
499
+ << "chand=" << chand << ": creating subchannel wrapper " << this
500
+ << " for subchannel " << subchannel_.get();
646
501
  GRPC_CHANNEL_STACK_REF(chand_->owning_stack_, "SubchannelWrapper");
647
502
  #ifndef NDEBUG
648
503
  DCHECK(chand_->work_serializer_->RunningInWorkSerializer());
@@ -663,11 +518,9 @@ class ClientChannelFilter::SubchannelWrapper final
663
518
  }
664
519
 
665
520
  ~SubchannelWrapper() override {
666
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_trace)) {
667
- gpr_log(GPR_INFO,
668
- "chand=%p: destroying subchannel wrapper %p for subchannel %p",
669
- chand_, this, subchannel_.get());
670
- }
521
+ GRPC_TRACE_LOG(client_channel, INFO)
522
+ << "chand=" << chand_ << ": destroying subchannel wrapper " << this
523
+ << "for subchannel " << subchannel_.get();
671
524
  if (!IsWorkSerializerDispatchEnabled()) {
672
525
  chand_->subchannel_wrappers_.erase(this);
673
526
  if (chand_->channelz_node_ != nullptr) {
@@ -761,6 +614,8 @@ class ClientChannelFilter::SubchannelWrapper final
761
614
  subchannel_->ThrottleKeepaliveTime(new_keepalive_time);
762
615
  }
763
616
 
617
+ std::string address() const override { return subchannel_->address(); }
618
+
764
619
  private:
765
620
  // This wrapper provides a bridge between the internal Subchannel API
766
621
  // and the SubchannelInterface API that we expose to LB policies.
@@ -773,7 +628,7 @@ class ClientChannelFilter::SubchannelWrapper final
773
628
  //
774
629
  // This class handles things like hopping into the WorkSerializer
775
630
  // before passing notifications to the LB policy and propagating
776
- // keepalive information betwen subchannels.
631
+ // keepalive information between subchannels.
777
632
  class WatcherWrapper final
778
633
  : public Subchannel::ConnectivityStateWatcherInterface {
779
634
  public:
@@ -800,12 +655,11 @@ class ClientChannelFilter::SubchannelWrapper final
800
655
  void OnConnectivityStateChange(
801
656
  RefCountedPtr<ConnectivityStateWatcherInterface> self,
802
657
  grpc_connectivity_state state, const absl::Status& status) override {
803
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_trace)) {
804
- gpr_log(GPR_INFO,
805
- "chand=%p: connectivity change for subchannel wrapper %p "
806
- "subchannel %p; hopping into work_serializer",
807
- parent_->chand_, parent_.get(), parent_->subchannel_.get());
808
- }
658
+ GRPC_TRACE_LOG(client_channel, INFO)
659
+ << "chand=" << parent_->chand_
660
+ << ": connectivity change for subchannel wrapper " << parent_.get()
661
+ << " subchannel " << parent_->subchannel_.get()
662
+ << "hopping into work_serializer";
809
663
  self.release(); // Held by callback.
810
664
  parent_->chand_->work_serializer_->Run(
811
665
  [this, state, status]() ABSL_EXCLUSIVE_LOCKS_REQUIRED(
@@ -824,15 +678,13 @@ class ClientChannelFilter::SubchannelWrapper final
824
678
  void ApplyUpdateInControlPlaneWorkSerializer(grpc_connectivity_state state,
825
679
  const absl::Status& status)
826
680
  ABSL_EXCLUSIVE_LOCKS_REQUIRED(*parent_->chand_->work_serializer_) {
827
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_trace)) {
828
- gpr_log(GPR_INFO,
829
- "chand=%p: processing connectivity change in work serializer "
830
- "for subchannel wrapper %p subchannel %p watcher=%p "
831
- "state=%s status=%s",
832
- parent_->chand_, parent_.get(), parent_->subchannel_.get(),
833
- watcher_.get(), ConnectivityStateName(state),
834
- status.ToString().c_str());
835
- }
681
+ GRPC_TRACE_LOG(client_channel, INFO)
682
+ << "chand=" << parent_->chand_
683
+ << ": processing connectivity change in work serializer for "
684
+ "subchannel wrapper "
685
+ << parent_.get() << " subchannel " << parent_->subchannel_.get()
686
+ << " watcher=" << watcher_.get()
687
+ << " state=" << ConnectivityStateName(state) << " status=" << status;
836
688
  absl::optional<absl::Cord> keepalive_throttling =
837
689
  status.GetPayload(kKeepaliveThrottlingKey);
838
690
  if (keepalive_throttling.has_value()) {
@@ -841,10 +693,10 @@ class ClientChannelFilter::SubchannelWrapper final
841
693
  &new_keepalive_time)) {
842
694
  if (new_keepalive_time > parent_->chand_->keepalive_time_) {
843
695
  parent_->chand_->keepalive_time_ = new_keepalive_time;
844
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_trace)) {
845
- gpr_log(GPR_INFO, "chand=%p: throttling keepalive time to %d",
846
- parent_->chand_, parent_->chand_->keepalive_time_);
847
- }
696
+ GRPC_TRACE_LOG(client_channel, INFO)
697
+ << "chand=" << parent_->chand_
698
+ << ": throttling keepalive time to "
699
+ << parent_->chand_->keepalive_time_;
848
700
  // Propagate the new keepalive time to all subchannels. This is so
849
701
  // that new transports created by any subchannel (and not just the
850
702
  // subchannel that received the GOAWAY), use the new keepalive time.
@@ -854,9 +706,9 @@ class ClientChannelFilter::SubchannelWrapper final
854
706
  }
855
707
  }
856
708
  } else {
857
- gpr_log(GPR_ERROR, "chand=%p: Illegal keepalive throttling value %s",
858
- parent_->chand_,
859
- std::string(keepalive_throttling.value()).c_str());
709
+ LOG(ERROR) << "chand=" << parent_->chand_
710
+ << ": Illegal keepalive throttling value "
711
+ << std::string(keepalive_throttling.value());
860
712
  }
861
713
  }
862
714
  // Propagate status only in state TF.
@@ -1109,7 +961,7 @@ class ClientChannelFilter::ClientChannelControlHelper final
1109
961
  const ChannelArgs& args) override
1110
962
  ABSL_EXCLUSIVE_LOCKS_REQUIRED(*chand_->work_serializer_) {
1111
963
  if (chand_->resolver_ == nullptr) return nullptr; // Shutting down.
1112
- ChannelArgs subchannel_args = ClientChannelFilter::MakeSubchannelArgs(
964
+ ChannelArgs subchannel_args = Subchannel::MakeSubchannelArgs(
1113
965
  args, per_address_args, chand_->subchannel_pool_,
1114
966
  chand_->default_authority_);
1115
967
  // Create subchannel.
@@ -1127,14 +979,13 @@ class ClientChannelFilter::ClientChannelControlHelper final
1127
979
  RefCountedPtr<LoadBalancingPolicy::SubchannelPicker> picker)
1128
980
  override ABSL_EXCLUSIVE_LOCKS_REQUIRED(*chand_->work_serializer_) {
1129
981
  if (chand_->resolver_ == nullptr) return; // Shutting down.
1130
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_trace)) {
1131
- const char* extra = chand_->disconnect_error_.ok()
1132
- ? ""
1133
- : " (ignoring -- channel shutting down)";
1134
- gpr_log(GPR_INFO, "chand=%p: update: state=%s status=(%s) picker=%p%s",
1135
- chand_, ConnectivityStateName(state), status.ToString().c_str(),
1136
- picker.get(), extra);
1137
- }
982
+ GRPC_TRACE_LOG(client_channel, INFO)
983
+ << "chand=" << chand_
984
+ << ": update: state=" << ConnectivityStateName(state) << " status=("
985
+ << status << ") picker=" << picker.get()
986
+ << (chand_->disconnect_error_.ok()
987
+ ? ""
988
+ : " (ignoring -- channel shutting down)");
1138
989
  // Do update only if not shutting down.
1139
990
  if (chand_->disconnect_error_.ok()) {
1140
991
  chand_->UpdateStateAndPickerLocked(state, status, "helper",
@@ -1145,9 +996,8 @@ class ClientChannelFilter::ClientChannelControlHelper final
1145
996
  void RequestReresolution() override
1146
997
  ABSL_EXCLUSIVE_LOCKS_REQUIRED(*chand_->work_serializer_) {
1147
998
  if (chand_->resolver_ == nullptr) return; // Shutting down.
1148
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_trace)) {
1149
- gpr_log(GPR_INFO, "chand=%p: started name re-resolving", chand_);
1150
- }
999
+ GRPC_TRACE_LOG(client_channel, INFO)
1000
+ << "chand=" << chand_ << ": started name re-resolving";
1151
1001
  chand_->resolver_->RequestReresolutionLocked();
1152
1002
  }
1153
1003
 
@@ -1203,8 +1053,7 @@ class ClientChannelFilter::ClientChannelControlHelper final
1203
1053
  grpc_error_handle ClientChannelFilter::Init(grpc_channel_element* elem,
1204
1054
  grpc_channel_element_args* args) {
1205
1055
  CHECK(args->is_last);
1206
- CHECK(elem->filter == &kFilterVtableWithPromises ||
1207
- elem->filter == &kFilterVtableWithoutPromises);
1056
+ CHECK(elem->filter == &kFilter);
1208
1057
  grpc_error_handle error;
1209
1058
  new (elem->channel_data) ClientChannelFilter(args, &error);
1210
1059
  return error;
@@ -1240,10 +1089,9 @@ ClientChannelFilter::ClientChannelFilter(grpc_channel_element_args* args,
1240
1089
  std::make_shared<WorkSerializer>(*args->channel_stack->event_engine)),
1241
1090
  state_tracker_("client_channel", GRPC_CHANNEL_IDLE),
1242
1091
  subchannel_pool_(GetSubchannelPool(channel_args_)) {
1243
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_trace)) {
1244
- gpr_log(GPR_INFO, "chand=%p: creating client_channel for channel stack %p",
1245
- this, owning_stack_);
1246
- }
1092
+ GRPC_TRACE_LOG(client_channel, INFO)
1093
+ << "chand=" << this << ": creating client_channel for channel stack "
1094
+ << owning_stack_;
1247
1095
  // Start backup polling.
1248
1096
  grpc_client_channel_start_backup_polling(interested_parties_);
1249
1097
  // Check client channel factory.
@@ -1312,30 +1160,14 @@ ClientChannelFilter::ClientChannelFilter(grpc_channel_element_args* args,
1312
1160
  }
1313
1161
 
1314
1162
  ClientChannelFilter::~ClientChannelFilter() {
1315
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_trace)) {
1316
- gpr_log(GPR_INFO, "chand=%p: destroying channel", this);
1317
- }
1163
+ GRPC_TRACE_LOG(client_channel, INFO)
1164
+ << "chand=" << this << ": destroying channel";
1318
1165
  DestroyResolverAndLbPolicyLocked();
1319
1166
  // Stop backup polling.
1320
1167
  grpc_client_channel_stop_backup_polling(interested_parties_);
1321
1168
  grpc_pollset_set_destroy(interested_parties_);
1322
1169
  }
1323
1170
 
1324
- ArenaPromise<ServerMetadataHandle> ClientChannelFilter::MakeCallPromise(
1325
- grpc_channel_element* elem, CallArgs call_args, NextPromiseFactory) {
1326
- auto* chand = static_cast<ClientChannelFilter*>(elem->channel_data);
1327
- // TODO(roth): Is this the right lifetime story for calld?
1328
- auto* calld = GetContext<Arena>()->ManagedNew<PromiseBasedCallData>(chand);
1329
- return TrySeq(
1330
- // Name resolution.
1331
- calld->MakeNameResolutionPromise(std::move(call_args)),
1332
- // Dynamic filter stack.
1333
- [calld](CallArgs call_args) mutable {
1334
- return calld->dynamic_filters()->channel_stack()->MakeClientCallPromise(
1335
- std::move(call_args));
1336
- });
1337
- }
1338
-
1339
1171
  OrphanablePtr<ClientChannelFilter::FilterBasedLoadBalancedCall>
1340
1172
  ClientChannelFilter::CreateLoadBalancedCall(
1341
1173
  const grpc_call_element_args& args, grpc_polling_entity* pollent,
@@ -1348,42 +1180,6 @@ ClientChannelFilter::CreateLoadBalancedCall(
1348
1180
  std::move(on_commit), is_transparent_retry));
1349
1181
  }
1350
1182
 
1351
- ArenaPromise<ServerMetadataHandle>
1352
- ClientChannelFilter::CreateLoadBalancedCallPromise(
1353
- CallArgs call_args, absl::AnyInvocable<void()> on_commit,
1354
- bool is_transparent_retry) {
1355
- OrphanablePtr<PromiseBasedLoadBalancedCall> lb_call(
1356
- GetContext<Arena>()->New<PromiseBasedLoadBalancedCall>(
1357
- this, std::move(on_commit), is_transparent_retry));
1358
- auto* call_ptr = lb_call.get();
1359
- return call_ptr->MakeCallPromise(std::move(call_args), std::move(lb_call));
1360
- }
1361
-
1362
- ChannelArgs ClientChannelFilter::MakeSubchannelArgs(
1363
- const ChannelArgs& channel_args, const ChannelArgs& address_args,
1364
- const RefCountedPtr<SubchannelPoolInterface>& subchannel_pool,
1365
- const std::string& channel_default_authority) {
1366
- // Note that we start with the channel-level args and then apply the
1367
- // per-address args, so that if a value is present in both, the one
1368
- // in the channel-level args is used. This is particularly important
1369
- // for the GRPC_ARG_DEFAULT_AUTHORITY arg, which we want to allow
1370
- // resolvers to set on a per-address basis only if the application
1371
- // did not explicitly set it at the channel level.
1372
- return channel_args.UnionWith(address_args)
1373
- .SetObject(subchannel_pool)
1374
- // If we haven't already set the default authority arg (i.e., it
1375
- // was not explicitly set by the application nor overridden by
1376
- // the resolver), add it from the channel's default.
1377
- .SetIfUnset(GRPC_ARG_DEFAULT_AUTHORITY, channel_default_authority)
1378
- // Remove channel args that should not affect subchannel
1379
- // uniqueness.
1380
- .Remove(GRPC_ARG_HEALTH_CHECK_SERVICE_NAME)
1381
- .Remove(GRPC_ARG_INHIBIT_HEALTH_CHECKING)
1382
- .Remove(GRPC_ARG_CHANNELZ_CHANNEL_NODE)
1383
- // Remove all keys with the no-subchannel prefix.
1384
- .RemoveAllKeysWithPrefix(GRPC_ARG_NO_SUBCHANNEL_PREFIX);
1385
- }
1386
-
1387
1183
  void ClientChannelFilter::ReprocessQueuedResolverCalls() {
1388
1184
  for (CallData* calld : resolver_queued_calls_) {
1389
1185
  calld->RemoveCallFromResolverQueuedCallsLocked();
@@ -1415,15 +1211,13 @@ RefCountedPtr<LoadBalancingPolicy::Config> ChooseLbPolicy(
1415
1211
  .LoadBalancingPolicyExists(*policy_name, &requires_config) ||
1416
1212
  requires_config)) {
1417
1213
  if (requires_config) {
1418
- gpr_log(GPR_ERROR,
1419
- "LB policy: %s passed through channel_args must not "
1420
- "require a config. Using pick_first instead.",
1421
- std::string(*policy_name).c_str());
1214
+ LOG(ERROR) << "LB policy: " << *policy_name
1215
+ << " passed through channel_args must not "
1216
+ "require a config. Using pick_first instead.";
1422
1217
  } else {
1423
- gpr_log(GPR_ERROR,
1424
- "LB policy: %s passed through channel_args does not exist. "
1425
- "Using pick_first instead.",
1426
- std::string(*policy_name).c_str());
1218
+ LOG(ERROR) << "LB policy: " << *policy_name
1219
+ << " passed through channel_args does not exist. "
1220
+ "Using pick_first instead.";
1427
1221
  }
1428
1222
  policy_name = "pick_first";
1429
1223
  }
@@ -1457,9 +1251,8 @@ void ClientChannelFilter::OnResolverResultChangedLocked(
1457
1251
  Resolver::Result result) {
1458
1252
  // Handle race conditions.
1459
1253
  if (resolver_ == nullptr) return;
1460
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_trace)) {
1461
- gpr_log(GPR_INFO, "chand=%p: got resolver result", this);
1462
- }
1254
+ GRPC_TRACE_LOG(client_channel, INFO)
1255
+ << "chand=" << this << ": got resolver result";
1463
1256
  // Grab resolver result health callback.
1464
1257
  auto resolver_callback = std::move(result.result_health_callback);
1465
1258
  absl::Status resolver_result_status;
@@ -1493,19 +1286,16 @@ void ClientChannelFilter::OnResolverResultChangedLocked(
1493
1286
  RefCountedPtr<ServiceConfig> service_config;
1494
1287
  RefCountedPtr<ConfigSelector> config_selector;
1495
1288
  if (!result.service_config.ok()) {
1496
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_trace)) {
1497
- gpr_log(GPR_INFO, "chand=%p: resolver returned service config error: %s",
1498
- this, result.service_config.status().ToString().c_str());
1499
- }
1289
+ GRPC_TRACE_LOG(client_channel, INFO)
1290
+ << "chand=" << this << ": resolver returned service config error: "
1291
+ << result.service_config.status();
1500
1292
  // If the service config was invalid, then fallback to the
1501
1293
  // previously returned service config.
1502
1294
  if (saved_service_config_ != nullptr) {
1503
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_trace)) {
1504
- gpr_log(GPR_INFO,
1505
- "chand=%p: resolver returned invalid service config. "
1506
- "Continuing to use previous service config.",
1507
- this);
1508
- }
1295
+ GRPC_TRACE_LOG(client_channel, INFO)
1296
+ << "chand=" << this
1297
+ << ": resolver returned invalid service config. "
1298
+ "Continuing to use previous service config.";
1509
1299
  service_config = saved_service_config_;
1510
1300
  config_selector = saved_config_selector_;
1511
1301
  } else {
@@ -1519,18 +1309,20 @@ void ClientChannelFilter::OnResolverResultChangedLocked(
1519
1309
  }
1520
1310
  } else if (*result.service_config == nullptr) {
1521
1311
  // Resolver did not return any service config.
1522
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_trace)) {
1523
- gpr_log(GPR_INFO,
1524
- "chand=%p: resolver returned no service config. Using default "
1525
- "service config for channel.",
1526
- this);
1527
- }
1312
+ GRPC_TRACE_LOG(client_channel, INFO)
1313
+ << "chand=" << this
1314
+ << ": resolver returned no service config. Using default service "
1315
+ "config for channel.";
1528
1316
  service_config = default_service_config_;
1529
1317
  } else {
1530
1318
  // Use ServiceConfig and ConfigSelector returned by resolver.
1531
1319
  service_config = std::move(*result.service_config);
1532
1320
  config_selector = result.args.GetObjectRef<ConfigSelector>();
1533
1321
  }
1322
+ // Remove the config selector from channel args so that we're not holding
1323
+ // unnecessary refs that cause it to be destroyed somewhere other than in the
1324
+ // WorkSerializer.
1325
+ result.args = result.args.Remove(GRPC_ARG_CONFIG_SELECTOR);
1534
1326
  // Note: The only case in which service_config is null here is if the resolver
1535
1327
  // returned a service config error and we don't have a previous service
1536
1328
  // config to fall back to.
@@ -1556,10 +1348,12 @@ void ClientChannelFilter::OnResolverResultChangedLocked(
1556
1348
  UpdateServiceConfigInControlPlaneLocked(
1557
1349
  std::move(service_config), std::move(config_selector),
1558
1350
  std::string(lb_policy_config->name()));
1559
- } else if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_trace)) {
1560
- gpr_log(GPR_INFO, "chand=%p: service config not changed", this);
1351
+ } else {
1352
+ GRPC_TRACE_LOG(client_channel, INFO)
1353
+ << "chand=" << this << ": service config not changed";
1561
1354
  }
1562
1355
  // Create or update LB policy, as needed.
1356
+ ChannelArgs new_args = result.args;
1563
1357
  resolver_result_status = CreateOrUpdateLbPolicyLocked(
1564
1358
  std::move(lb_policy_config),
1565
1359
  parsed_service_config->health_check_service_name(), std::move(result));
@@ -1568,7 +1362,7 @@ void ClientChannelFilter::OnResolverResultChangedLocked(
1568
1362
  // This needs to happen after the LB policy has been updated, since
1569
1363
  // the ConfigSelector may need the LB policy to know about new
1570
1364
  // destinations before it can send RPCs to those destinations.
1571
- UpdateServiceConfigInDataPlaneLocked();
1365
+ UpdateServiceConfigInDataPlaneLocked(new_args);
1572
1366
  // TODO(ncteisen): might be worth somehow including a snippet of the
1573
1367
  // config in the trace, at the risk of bloating the trace logs.
1574
1368
  trace_strings.push_back("Service config changed");
@@ -1591,10 +1385,8 @@ void ClientChannelFilter::OnResolverResultChangedLocked(
1591
1385
 
1592
1386
  void ClientChannelFilter::OnResolverErrorLocked(absl::Status status) {
1593
1387
  if (resolver_ == nullptr) return;
1594
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_trace)) {
1595
- gpr_log(GPR_INFO, "chand=%p: resolver transient failure: %s", this,
1596
- status.ToString().c_str());
1597
- }
1388
+ GRPC_TRACE_LOG(client_channel, INFO)
1389
+ << "chand=" << this << ": resolver transient failure: " << status;
1598
1390
  // If we already have an LB policy from a previous resolution
1599
1391
  // result, then we continue to let it set the connectivity state.
1600
1392
  // Otherwise, we go into TRANSIENT_FAILURE.
@@ -1626,10 +1418,7 @@ absl::Status ClientChannelFilter::CreateOrUpdateLbPolicyLocked(
1626
1418
  }
1627
1419
  update_args.config = std::move(lb_policy_config);
1628
1420
  update_args.resolution_note = std::move(result.resolution_note);
1629
- // Remove the config selector from channel args so that we're not holding
1630
- // unnecessary refs that cause it to be destroyed somewhere other than in the
1631
- // WorkSerializer.
1632
- update_args.args = result.args.Remove(GRPC_ARG_CONFIG_SELECTOR);
1421
+ update_args.args = std::move(result.args);
1633
1422
  // Add health check service name to channel args.
1634
1423
  if (health_check_service_name.has_value()) {
1635
1424
  update_args.args = update_args.args.Set(GRPC_ARG_HEALTH_CHECK_SERVICE_NAME,
@@ -1640,10 +1429,8 @@ absl::Status ClientChannelFilter::CreateOrUpdateLbPolicyLocked(
1640
1429
  lb_policy_ = CreateLbPolicyLocked(update_args.args);
1641
1430
  }
1642
1431
  // Update the policy.
1643
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_trace)) {
1644
- gpr_log(GPR_INFO, "chand=%p: Updating child policy %p", this,
1645
- lb_policy_.get());
1646
- }
1432
+ GRPC_TRACE_LOG(client_channel, INFO)
1433
+ << "chand=" << this << ": Updating child policy " << lb_policy_.get();
1647
1434
  return lb_policy_->UpdateLocked(std::move(update_args));
1648
1435
  }
1649
1436
 
@@ -1665,11 +1452,9 @@ OrphanablePtr<LoadBalancingPolicy> ClientChannelFilter::CreateLbPolicyLocked(
1665
1452
  lb_policy_args.args = args;
1666
1453
  OrphanablePtr<LoadBalancingPolicy> lb_policy =
1667
1454
  MakeOrphanable<ChildPolicyHandler>(std::move(lb_policy_args),
1668
- &grpc_client_channel_trace);
1669
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_trace)) {
1670
- gpr_log(GPR_INFO, "chand=%p: created new LB policy %p", this,
1671
- lb_policy.get());
1672
- }
1455
+ &client_channel_trace);
1456
+ GRPC_TRACE_LOG(client_channel, INFO)
1457
+ << "chand=" << this << ": created new LB policy " << lb_policy.get();
1673
1458
  grpc_pollset_set_add_pollset_set(lb_policy->interested_parties(),
1674
1459
  interested_parties_);
1675
1460
  return lb_policy;
@@ -1679,10 +1464,9 @@ void ClientChannelFilter::UpdateServiceConfigInControlPlaneLocked(
1679
1464
  RefCountedPtr<ServiceConfig> service_config,
1680
1465
  RefCountedPtr<ConfigSelector> config_selector, std::string lb_policy_name) {
1681
1466
  std::string service_config_json(service_config->json_string());
1682
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_trace)) {
1683
- gpr_log(GPR_INFO, "chand=%p: using service config: \"%s\"", this,
1684
- service_config_json.c_str());
1685
- }
1467
+ GRPC_TRACE_LOG(client_channel, INFO)
1468
+ << "chand=" << this << ": using service config: \"" << service_config_json
1469
+ << "\"";
1686
1470
  // Save service config.
1687
1471
  saved_service_config_ = std::move(service_config);
1688
1472
  // Swap out the data used by GetChannelInfo().
@@ -1693,27 +1477,26 @@ void ClientChannelFilter::UpdateServiceConfigInControlPlaneLocked(
1693
1477
  }
1694
1478
  // Save config selector.
1695
1479
  saved_config_selector_ = std::move(config_selector);
1696
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_trace)) {
1697
- gpr_log(GPR_INFO, "chand=%p: using ConfigSelector %p", this,
1698
- saved_config_selector_.get());
1699
- }
1480
+ GRPC_TRACE_LOG(client_channel, INFO)
1481
+ << "chand=" << this << ": using ConfigSelector "
1482
+ << saved_config_selector_.get();
1700
1483
  }
1701
1484
 
1702
- void ClientChannelFilter::UpdateServiceConfigInDataPlaneLocked() {
1485
+ void ClientChannelFilter::UpdateServiceConfigInDataPlaneLocked(
1486
+ const ChannelArgs& args) {
1703
1487
  // Grab ref to service config.
1704
1488
  RefCountedPtr<ServiceConfig> service_config = saved_service_config_;
1705
1489
  // Grab ref to config selector. Use default if resolver didn't supply one.
1706
1490
  RefCountedPtr<ConfigSelector> config_selector = saved_config_selector_;
1707
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_trace)) {
1708
- gpr_log(GPR_INFO, "chand=%p: switching to ConfigSelector %p", this,
1709
- saved_config_selector_.get());
1710
- }
1491
+ GRPC_TRACE_LOG(client_channel, INFO)
1492
+ << "chand=" << this << ": switching to ConfigSelector "
1493
+ << saved_config_selector_.get();
1711
1494
  if (config_selector == nullptr) {
1712
1495
  config_selector =
1713
1496
  MakeRefCounted<DefaultConfigSelector>(saved_service_config_);
1714
1497
  }
1715
- ChannelArgs new_args =
1716
- channel_args_.SetObject(this).SetObject(service_config);
1498
+ // Modify channel args.
1499
+ ChannelArgs new_args = args.SetObject(this).SetObject(service_config);
1717
1500
  bool enable_retries =
1718
1501
  !new_args.WantMinimalStack() &&
1719
1502
  new_args.GetBool(GRPC_ARG_ENABLE_RETRIES).value_or(true);
@@ -1725,9 +1508,11 @@ void ClientChannelFilter::UpdateServiceConfigInDataPlaneLocked() {
1725
1508
  } else {
1726
1509
  filters.push_back(&DynamicTerminationFilter::kFilterVtable);
1727
1510
  }
1728
- RefCountedPtr<DynamicFilters> dynamic_filters =
1729
- DynamicFilters::Create(new_args, std::move(filters));
1511
+ auto new_blackboard = MakeRefCounted<Blackboard>();
1512
+ RefCountedPtr<DynamicFilters> dynamic_filters = DynamicFilters::Create(
1513
+ new_args, std::move(filters), blackboard_.get(), new_blackboard.get());
1730
1514
  CHECK(dynamic_filters != nullptr);
1515
+ blackboard_ = std::move(new_blackboard);
1731
1516
  // Grab data plane lock to update service config.
1732
1517
  //
1733
1518
  // We defer unreffing the old values (and deallocating memory) until
@@ -1749,10 +1534,9 @@ void ClientChannelFilter::UpdateServiceConfigInDataPlaneLocked() {
1749
1534
  }
1750
1535
 
1751
1536
  void ClientChannelFilter::CreateResolverLocked() {
1752
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_trace)) {
1753
- gpr_log(GPR_INFO, "chand=%p: starting name resolution for %s", this,
1754
- uri_to_resolve_.c_str());
1755
- }
1537
+ GRPC_TRACE_LOG(client_channel, INFO)
1538
+ << "chand=" << this << ": starting name resolution for "
1539
+ << uri_to_resolve_;
1756
1540
  resolver_ = CoreConfiguration::Get().resolver_registry().CreateResolver(
1757
1541
  uri_to_resolve_, channel_args_, interested_parties_, work_serializer_,
1758
1542
  std::make_unique<ResolverResultHandler>(this));
@@ -1762,17 +1546,14 @@ void ClientChannelFilter::CreateResolverLocked() {
1762
1546
  UpdateStateLocked(GRPC_CHANNEL_CONNECTING, absl::Status(),
1763
1547
  "started resolving");
1764
1548
  resolver_->StartLocked();
1765
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_trace)) {
1766
- gpr_log(GPR_INFO, "chand=%p: created resolver=%p", this, resolver_.get());
1767
- }
1549
+ GRPC_TRACE_LOG(client_channel, INFO)
1550
+ << "chand=" << this << ": created resolver=" << resolver_.get();
1768
1551
  }
1769
1552
 
1770
1553
  void ClientChannelFilter::DestroyResolverAndLbPolicyLocked() {
1771
1554
  if (resolver_ != nullptr) {
1772
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_trace)) {
1773
- gpr_log(GPR_INFO, "chand=%p: shutting down resolver=%p", this,
1774
- resolver_.get());
1775
- }
1555
+ GRPC_TRACE_LOG(client_channel, INFO)
1556
+ << "chand=" << this << ": shutting down resolver=" << resolver_.get();
1776
1557
  resolver_.reset();
1777
1558
  // Clear resolution state.
1778
1559
  saved_service_config_.reset();
@@ -1792,10 +1573,9 @@ void ClientChannelFilter::DestroyResolverAndLbPolicyLocked() {
1792
1573
  }
1793
1574
  // Clear LB policy if set.
1794
1575
  if (lb_policy_ != nullptr) {
1795
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_trace)) {
1796
- gpr_log(GPR_INFO, "chand=%p: shutting down lb_policy=%p", this,
1797
- lb_policy_.get());
1798
- }
1576
+ GRPC_TRACE_LOG(client_channel, INFO)
1577
+ << "chand=" << this
1578
+ << ": shutting down lb_policy=" << lb_policy_.get();
1799
1579
  grpc_pollset_set_del_pollset_set(lb_policy_->interested_parties(),
1800
1580
  interested_parties_);
1801
1581
  lb_policy_.reset();
@@ -1841,7 +1621,7 @@ void ClientChannelFilter::UpdateStateAndPickerLocked(
1841
1621
 
1842
1622
  namespace {
1843
1623
 
1844
- // TODO(roth): Remove this in favor of the gprpp Match() function once
1624
+ // TODO(roth): Remove this in favor of src/core/util/match.h once
1845
1625
  // we can do that without breaking lock annotations.
1846
1626
  template <typename T>
1847
1627
  T HandlePickResult(
@@ -1941,10 +1721,9 @@ void ClientChannelFilter::StartTransportOpLocked(grpc_transport_op* op) {
1941
1721
  }
1942
1722
  // Disconnect or enter IDLE.
1943
1723
  if (!op->disconnect_with_error.ok()) {
1944
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_trace)) {
1945
- gpr_log(GPR_INFO, "chand=%p: disconnect_with_error: %s", this,
1946
- StatusToString(op->disconnect_with_error).c_str());
1947
- }
1724
+ GRPC_TRACE_LOG(client_channel, INFO)
1725
+ << "chand=" << this << ": disconnect_with_error: "
1726
+ << StatusToString(op->disconnect_with_error);
1948
1727
  DestroyResolverAndLbPolicyLocked();
1949
1728
  intptr_t value;
1950
1729
  if (grpc_error_get_int(op->disconnect_with_error,
@@ -2049,11 +1828,9 @@ void ClientChannelFilter::RemoveConnectivityWatcher(
2049
1828
  //
2050
1829
 
2051
1830
  void ClientChannelFilter::CallData::RemoveCallFromResolverQueuedCallsLocked() {
2052
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_call_trace)) {
2053
- gpr_log(GPR_INFO,
2054
- "chand=%p calld=%p: removing from resolver queued picks list",
2055
- chand(), this);
2056
- }
1831
+ GRPC_TRACE_LOG(client_channel_call, INFO)
1832
+ << "chand=" << chand() << " calld=" << this
1833
+ << ": removing from resolver queued picks list";
2057
1834
  // Remove call's pollent from channel's interested_parties.
2058
1835
  grpc_polling_entity_del_from_pollset_set(pollent(),
2059
1836
  chand()->interested_parties_);
@@ -2064,12 +1841,10 @@ void ClientChannelFilter::CallData::RemoveCallFromResolverQueuedCallsLocked() {
2064
1841
  }
2065
1842
 
2066
1843
  void ClientChannelFilter::CallData::AddCallToResolverQueuedCallsLocked() {
2067
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_call_trace)) {
2068
- gpr_log(
2069
- GPR_INFO,
2070
- "chand=%p calld=%p: adding to resolver queued picks list; pollent=%s",
2071
- chand(), this, grpc_polling_entity_string(pollent()).c_str());
2072
- }
1844
+ GRPC_TRACE_LOG(client_channel_call, INFO)
1845
+ << "chand=" << chand() << " calld=" << this
1846
+ << ": adding to resolver queued picks list; pollent="
1847
+ << grpc_polling_entity_string(pollent());
2073
1848
  // Add call's pollent to channel's interested_parties, so that I/O
2074
1849
  // can be done under the call's CQ.
2075
1850
  grpc_polling_entity_add_to_pollset_set(pollent(),
@@ -2081,10 +1856,9 @@ void ClientChannelFilter::CallData::AddCallToResolverQueuedCallsLocked() {
2081
1856
 
2082
1857
  grpc_error_handle ClientChannelFilter::CallData::ApplyServiceConfigToCallLocked(
2083
1858
  const absl::StatusOr<RefCountedPtr<ConfigSelector>>& config_selector) {
2084
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_call_trace)) {
2085
- gpr_log(GPR_INFO, "chand=%p calld=%p: applying service config to call",
2086
- chand(), this);
2087
- }
1859
+ GRPC_TRACE_LOG(client_channel_call, INFO)
1860
+ << "chand=" << chand() << " calld=" << this
1861
+ << ": applying service config to call";
2088
1862
  if (!config_selector.ok()) return config_selector.status();
2089
1863
  // Create a ClientChannelServiceConfigCallData for the call. This stores
2090
1864
  // a ref to the ServiceConfig and caches the right set of parsed configs
@@ -2092,7 +1866,7 @@ grpc_error_handle ClientChannelFilter::CallData::ApplyServiceConfigToCallLocked(
2092
1866
  // itself in the call context, so that it can be accessed by filters
2093
1867
  // below us in the stack, and it will be cleaned up when the call ends.
2094
1868
  auto* service_config_call_data =
2095
- arena()->New<ClientChannelServiceConfigCallData>(arena(), call_context());
1869
+ arena()->New<ClientChannelServiceConfigCallData>(arena());
2096
1870
  // Use the ConfigSelector to determine the config for the call.
2097
1871
  absl::Status call_config_status =
2098
1872
  (*config_selector)
@@ -2149,17 +1923,14 @@ absl::optional<absl::Status> ClientChannelFilter::CallData::CheckResolution(
2149
1923
  }
2150
1924
  // Handle errors.
2151
1925
  if (!error.ok()) {
2152
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_call_trace)) {
2153
- gpr_log(GPR_INFO,
2154
- "chand=%p calld=%p: error applying config to call: error=%s",
2155
- chand(), this, StatusToString(error).c_str());
2156
- }
1926
+ GRPC_TRACE_LOG(client_channel_call, INFO)
1927
+ << "chand=" << chand() << " calld=" << this
1928
+ << ": error applying config to call: error=" << StatusToString(error);
2157
1929
  return error;
2158
1930
  }
2159
1931
  // If the call was queued, add trace annotation.
2160
1932
  if (was_queued) {
2161
- auto* call_tracer = static_cast<CallTracerAnnotationInterface*>(
2162
- call_context()[GRPC_CONTEXT_CALL_TRACER_ANNOTATION_INTERFACE].value);
1933
+ auto* call_tracer = arena()->GetContext<CallTracerAnnotationInterface>();
2163
1934
  if (call_tracer != nullptr) {
2164
1935
  call_tracer->RecordAnnotation("Delayed name resolution complete.");
2165
1936
  }
@@ -2177,20 +1948,18 @@ bool ClientChannelFilter::CallData::CheckResolutionLocked(
2177
1948
  absl::Status resolver_error = chand()->resolver_transient_failure_error_;
2178
1949
  if (!resolver_error.ok() &&
2179
1950
  !send_initial_metadata()->GetOrCreatePointer(WaitForReady())->value) {
2180
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_call_trace)) {
2181
- gpr_log(GPR_INFO, "chand=%p calld=%p: resolution failed, failing call",
2182
- chand(), this);
2183
- }
1951
+ GRPC_TRACE_LOG(client_channel_call, INFO)
1952
+ << "chand=" << chand() << " calld=" << this
1953
+ << ": resolution failed, failing call";
2184
1954
  *config_selector = absl_status_to_grpc_error(resolver_error);
2185
1955
  return true;
2186
1956
  }
2187
1957
  // Either the resolver has not yet returned a result, or it has
2188
1958
  // returned transient failure but the call is wait_for_ready. In
2189
1959
  // either case, queue the call.
2190
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_call_trace)) {
2191
- gpr_log(GPR_INFO, "chand=%p calld=%p: no resolver result yet", chand(),
2192
- this);
2193
- }
1960
+ GRPC_TRACE_LOG(client_channel_call, INFO)
1961
+ << "chand=" << chand() << " calld=" << this
1962
+ << ": no resolver result yet";
2194
1963
  return false;
2195
1964
  }
2196
1965
  // Result found.
@@ -2206,16 +1975,14 @@ bool ClientChannelFilter::CallData::CheckResolutionLocked(
2206
1975
  ClientChannelFilter::FilterBasedCallData::FilterBasedCallData(
2207
1976
  grpc_call_element* elem, const grpc_call_element_args& args)
2208
1977
  : path_(CSliceRef(args.path)),
2209
- call_context_(args.context),
2210
1978
  call_start_time_(args.start_time),
2211
1979
  deadline_(args.deadline),
2212
1980
  arena_(args.arena),
2213
1981
  elem_(elem),
2214
1982
  owning_call_(args.call_stack),
2215
1983
  call_combiner_(args.call_combiner) {
2216
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_call_trace)) {
2217
- gpr_log(GPR_INFO, "chand=%p calld=%p: created call", chand(), this);
2218
- }
1984
+ GRPC_TRACE_LOG(client_channel_call, INFO)
1985
+ << "chand=" << chand() << " calld=" << this << ": created call";
2219
1986
  }
2220
1987
 
2221
1988
  ClientChannelFilter::FilterBasedCallData::~FilterBasedCallData() {
@@ -2251,10 +2018,11 @@ void ClientChannelFilter::FilterBasedCallData::StartTransportStreamOpBatch(
2251
2018
  grpc_call_element* elem, grpc_transport_stream_op_batch* batch) {
2252
2019
  auto* calld = static_cast<FilterBasedCallData*>(elem->call_data);
2253
2020
  auto* chand = static_cast<ClientChannelFilter*>(elem->channel_data);
2254
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_call_trace) &&
2255
- !GRPC_TRACE_FLAG_ENABLED(grpc_trace_channel)) {
2256
- gpr_log(GPR_INFO, "chand=%p calld=%p: batch started from above: %s", chand,
2257
- calld, grpc_transport_stream_op_batch_string(batch, false).c_str());
2021
+ if (GRPC_TRACE_FLAG_ENABLED(client_channel_call) &&
2022
+ !GRPC_TRACE_FLAG_ENABLED(channel)) {
2023
+ LOG(INFO) << "chand=" << chand << " calld=" << calld
2024
+ << ": batch started from above: "
2025
+ << grpc_transport_stream_op_batch_string(batch, false);
2258
2026
  }
2259
2027
  // Intercept recv_trailing_metadata to commit the call, in case we wind up
2260
2028
  // failing the call before we get down to the retry or LB call layer.
@@ -2271,10 +2039,9 @@ void ClientChannelFilter::FilterBasedCallData::StartTransportStreamOpBatch(
2271
2039
  // Note that once we have done so, we do not need to acquire the channel's
2272
2040
  // resolution mutex, which is more efficient (especially for streaming calls).
2273
2041
  if (calld->dynamic_call_ != nullptr) {
2274
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_call_trace)) {
2275
- gpr_log(GPR_INFO, "chand=%p calld=%p: starting batch on dynamic_call=%p",
2276
- chand, calld, calld->dynamic_call_.get());
2277
- }
2042
+ GRPC_TRACE_LOG(client_channel_call, INFO)
2043
+ << "chand=" << chand << " calld=" << calld
2044
+ << ": starting batch on dynamic_call=" << calld->dynamic_call_.get();
2278
2045
  calld->dynamic_call_->StartTransportStreamOpBatch(batch);
2279
2046
  return;
2280
2047
  }
@@ -2282,10 +2049,10 @@ void ClientChannelFilter::FilterBasedCallData::StartTransportStreamOpBatch(
2282
2049
  //
2283
2050
  // If we've previously been cancelled, immediately fail any new batches.
2284
2051
  if (GPR_UNLIKELY(!calld->cancel_error_.ok())) {
2285
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_call_trace)) {
2286
- gpr_log(GPR_INFO, "chand=%p calld=%p: failing batch with error: %s",
2287
- chand, calld, StatusToString(calld->cancel_error_).c_str());
2288
- }
2052
+ GRPC_TRACE_LOG(client_channel_call, INFO)
2053
+ << "chand=" << chand << " calld=" << calld
2054
+ << ": failing batch with error: "
2055
+ << StatusToString(calld->cancel_error_);
2289
2056
  // Note: This will release the call combiner.
2290
2057
  grpc_transport_stream_op_batch_finish_with_failure(
2291
2058
  batch, calld->cancel_error_, calld->call_combiner());
@@ -2299,10 +2066,9 @@ void ClientChannelFilter::FilterBasedCallData::StartTransportStreamOpBatch(
2299
2066
  // is in the past when the call starts), we can return the right
2300
2067
  // error to the caller when the first batch does get passed down.
2301
2068
  calld->cancel_error_ = batch->payload->cancel_stream.cancel_error;
2302
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_call_trace)) {
2303
- gpr_log(GPR_INFO, "chand=%p calld=%p: recording cancel_error=%s", chand,
2304
- calld, StatusToString(calld->cancel_error_).c_str());
2305
- }
2069
+ GRPC_TRACE_LOG(client_channel_call, INFO)
2070
+ << "chand=" << chand << " calld=" << calld
2071
+ << ": recording cancel_error=" << StatusToString(calld->cancel_error_);
2306
2072
  // Fail all pending batches.
2307
2073
  calld->PendingBatchesFail(calld->cancel_error_, NoYieldCallCombiner);
2308
2074
  // Note: This will release the call combiner.
@@ -2316,19 +2082,15 @@ void ClientChannelFilter::FilterBasedCallData::StartTransportStreamOpBatch(
2316
2082
  // channel's resolution mutex to apply the service config to the call,
2317
2083
  // after which we will create a dynamic call.
2318
2084
  if (GPR_LIKELY(batch->send_initial_metadata)) {
2319
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_call_trace)) {
2320
- gpr_log(GPR_INFO,
2321
- "chand=%p calld=%p: grabbing resolution mutex to apply service "
2322
- "config",
2323
- chand, calld);
2324
- }
2085
+ GRPC_TRACE_LOG(client_channel_call, INFO)
2086
+ << "chand=" << chand << " calld=" << calld
2087
+ << ": grabbing resolution mutex to apply service ";
2325
2088
  // If we're still in IDLE, we need to start resolving.
2326
2089
  if (GPR_UNLIKELY(chand->CheckConnectivityState(false) ==
2327
2090
  GRPC_CHANNEL_IDLE)) {
2328
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_call_trace)) {
2329
- gpr_log(GPR_INFO, "chand=%p calld=%p: triggering exit idle", chand,
2330
- calld);
2331
- }
2091
+ GRPC_TRACE_LOG(client_channel_call, INFO)
2092
+ << "chand=" << chand << " calld=" << calld
2093
+ << ": triggering exit idle";
2332
2094
  // Bounce into the control plane work serializer to start resolving.
2333
2095
  GRPC_CHANNEL_STACK_REF(chand->owning_stack_, "ExitIdle");
2334
2096
  chand->work_serializer_->Run(
@@ -2341,11 +2103,9 @@ void ClientChannelFilter::FilterBasedCallData::StartTransportStreamOpBatch(
2341
2103
  calld->TryCheckResolution(/*was_queued=*/false);
2342
2104
  } else {
2343
2105
  // For all other batches, release the call combiner.
2344
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_call_trace)) {
2345
- gpr_log(GPR_INFO,
2346
- "chand=%p calld=%p: saved batch, yielding call combiner", chand,
2347
- calld);
2348
- }
2106
+ GRPC_TRACE_LOG(client_channel_call, INFO)
2107
+ << "chand=" << chand << " calld=" << calld
2108
+ << ": saved batch, yielding call combiner";
2349
2109
  GRPC_CALL_COMBINER_STOP(calld->call_combiner(),
2350
2110
  "batch does not include send_initial_metadata");
2351
2111
  }
@@ -2374,11 +2134,9 @@ size_t ClientChannelFilter::FilterBasedCallData::GetBatchIndex(
2374
2134
  void ClientChannelFilter::FilterBasedCallData::PendingBatchesAdd(
2375
2135
  grpc_transport_stream_op_batch* batch) {
2376
2136
  const size_t idx = GetBatchIndex(batch);
2377
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_call_trace)) {
2378
- gpr_log(GPR_INFO,
2379
- "chand=%p calld=%p: adding pending batch at index %" PRIuPTR,
2380
- chand(), this, idx);
2381
- }
2137
+ GRPC_TRACE_LOG(client_channel_call, INFO)
2138
+ << "chand=" << chand() << " calld=" << this
2139
+ << ": adding pending batch at index " << idx;
2382
2140
  grpc_transport_stream_op_batch*& pending = pending_batches_[idx];
2383
2141
  CHECK_EQ(pending, nullptr);
2384
2142
  pending = batch;
@@ -2401,14 +2159,13 @@ void ClientChannelFilter::FilterBasedCallData::PendingBatchesFail(
2401
2159
  grpc_error_handle error,
2402
2160
  YieldCallCombinerPredicate yield_call_combiner_predicate) {
2403
2161
  CHECK(!error.ok());
2404
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_call_trace)) {
2162
+ if (GRPC_TRACE_FLAG_ENABLED(client_channel_call)) {
2405
2163
  size_t num_batches = 0;
2406
2164
  for (size_t i = 0; i < GPR_ARRAY_SIZE(pending_batches_); ++i) {
2407
2165
  if (pending_batches_[i] != nullptr) ++num_batches;
2408
2166
  }
2409
- gpr_log(GPR_INFO,
2410
- "chand=%p calld=%p: failing %" PRIuPTR " pending batches: %s",
2411
- chand(), this, num_batches, StatusToString(error).c_str());
2167
+ LOG(INFO) << "chand=" << chand() << " calld=" << this << ": failing "
2168
+ << num_batches << " pending batches: " << StatusToString(error);
2412
2169
  }
2413
2170
  CallCombinerClosureList closures;
2414
2171
  for (size_t i = 0; i < GPR_ARRAY_SIZE(pending_batches_); ++i) {
@@ -2444,15 +2201,14 @@ void ClientChannelFilter::FilterBasedCallData::ResumePendingBatchInCallCombiner(
2444
2201
  // This is called via the call combiner, so access to calld is synchronized.
2445
2202
  void ClientChannelFilter::FilterBasedCallData::PendingBatchesResume() {
2446
2203
  // Retries not enabled; send down batches as-is.
2447
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_call_trace)) {
2204
+ if (GRPC_TRACE_FLAG_ENABLED(client_channel_call)) {
2448
2205
  size_t num_batches = 0;
2449
2206
  for (size_t i = 0; i < GPR_ARRAY_SIZE(pending_batches_); ++i) {
2450
2207
  if (pending_batches_[i] != nullptr) ++num_batches;
2451
2208
  }
2452
- gpr_log(GPR_INFO,
2453
- "chand=%p calld=%p: starting %" PRIuPTR
2454
- " pending batches on dynamic_call=%p",
2455
- chand(), this, num_batches, dynamic_call_.get());
2209
+ LOG(INFO) << "chand=" << chand() << " calld=" << this << ": starting "
2210
+ << num_batches
2211
+ << " pending batches on dynamic_call=" << dynamic_call_.get();
2456
2212
  }
2457
2213
  CallCombinerClosureList closures;
2458
2214
  for (size_t i = 0; i < GPR_ARRAY_SIZE(pending_batches_); ++i) {
@@ -2490,13 +2246,13 @@ class ClientChannelFilter::FilterBasedCallData::ResolverQueuedCallCanceller
2490
2246
  auto* chand = calld->chand();
2491
2247
  {
2492
2248
  MutexLock lock(&chand->resolution_mu_);
2493
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_call_trace)) {
2494
- gpr_log(GPR_INFO,
2495
- "chand=%p calld=%p: cancelling resolver queued pick: "
2496
- "error=%s self=%p calld->resolver_pick_canceller=%p",
2497
- chand, calld, StatusToString(error).c_str(), self,
2498
- calld->resolver_call_canceller_);
2499
- }
2249
+ GRPC_TRACE_LOG(client_channel_call, INFO)
2250
+ << "chand=" << chand << " calld=" << calld
2251
+ << ": cancelling resolver queued pick: "
2252
+ "error="
2253
+ << StatusToString(error) << " self=" << self
2254
+ << " calld->resolver_pick_canceller="
2255
+ << calld->resolver_call_canceller_;
2500
2256
  if (calld->resolver_call_canceller_ == self && !error.ok()) {
2501
2257
  // Remove pick from list of queued picks.
2502
2258
  calld->RemoveCallFromResolverQueuedCallsLocked();
@@ -2544,24 +2300,19 @@ void ClientChannelFilter::FilterBasedCallData::RetryCheckResolutionLocked() {
2544
2300
  }
2545
2301
 
2546
2302
  void ClientChannelFilter::FilterBasedCallData::CreateDynamicCall() {
2547
- DynamicFilters::Call::Args args = {dynamic_filters(), pollent_, path_,
2548
- call_start_time_, deadline_, arena(),
2549
- call_context_, call_combiner()};
2303
+ DynamicFilters::Call::Args args = {dynamic_filters(), pollent_, path_,
2304
+ call_start_time_, deadline_, arena(),
2305
+ call_combiner()};
2550
2306
  grpc_error_handle error;
2551
2307
  DynamicFilters* channel_stack = args.channel_stack.get();
2552
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_call_trace)) {
2553
- gpr_log(
2554
- GPR_INFO,
2555
- "chand=%p calld=%p: creating dynamic call stack on channel_stack=%p",
2556
- chand(), this, channel_stack);
2557
- }
2308
+ GRPC_TRACE_LOG(client_channel_call, INFO)
2309
+ << "chand=" << chand() << " calld=" << this
2310
+ << ": creating dynamic call stack on channel_stack=" << channel_stack;
2558
2311
  dynamic_call_ = channel_stack->CreateCall(std::move(args), &error);
2559
2312
  if (!error.ok()) {
2560
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_call_trace)) {
2561
- gpr_log(GPR_INFO,
2562
- "chand=%p calld=%p: failed to create dynamic call: error=%s",
2563
- chand(), this, StatusToString(error).c_str());
2564
- }
2313
+ GRPC_TRACE_LOG(client_channel_call, INFO)
2314
+ << "chand=" << chand() << " calld=" << this
2315
+ << ": failed to create dynamic call: error=" << StatusToString(error);
2565
2316
  PendingBatchesFail(error, YieldCallCombiner);
2566
2317
  return;
2567
2318
  }
@@ -2573,15 +2324,11 @@ void ClientChannelFilter::FilterBasedCallData::
2573
2324
  void* arg, grpc_error_handle error) {
2574
2325
  auto* calld = static_cast<FilterBasedCallData*>(arg);
2575
2326
  auto* chand = calld->chand();
2576
- auto* service_config_call_data =
2577
- GetServiceConfigCallData(calld->call_context());
2578
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_call_trace)) {
2579
- gpr_log(GPR_INFO,
2580
- "chand=%p calld=%p: got recv_trailing_metadata_ready: error=%s "
2581
- "service_config_call_data=%p",
2582
- chand, calld, StatusToString(error).c_str(),
2583
- service_config_call_data);
2584
- }
2327
+ auto* service_config_call_data = GetServiceConfigCallData(calld->arena());
2328
+ GRPC_TRACE_LOG(client_channel_call, INFO)
2329
+ << "chand=" << chand << " calld=" << calld
2330
+ << ": got recv_trailing_metadata_ready: error=" << StatusToString(error)
2331
+ << " service_config_call_data=" << service_config_call_data;
2585
2332
  if (service_config_call_data != nullptr) {
2586
2333
  service_config_call_data->Commit();
2587
2334
  }
@@ -2599,7 +2346,7 @@ class ClientChannelFilter::LoadBalancedCall::LbCallState final
2599
2346
  public:
2600
2347
  explicit LbCallState(LoadBalancedCall* lb_call) : lb_call_(lb_call) {}
2601
2348
 
2602
- void* Alloc(size_t size) override { return lb_call_->arena()->Alloc(size); }
2349
+ void* Alloc(size_t size) override { return lb_call_->arena_->Alloc(size); }
2603
2350
 
2604
2351
  // Internal API to allow first-party LB policies to access per-call
2605
2352
  // attributes set by the ConfigSelector.
@@ -2612,81 +2359,6 @@ class ClientChannelFilter::LoadBalancedCall::LbCallState final
2612
2359
  LoadBalancedCall* lb_call_;
2613
2360
  };
2614
2361
 
2615
- //
2616
- // ClientChannelFilter::LoadBalancedCall::Metadata
2617
- //
2618
-
2619
- class ClientChannelFilter::LoadBalancedCall::Metadata final
2620
- : public LoadBalancingPolicy::MetadataInterface {
2621
- public:
2622
- explicit Metadata(grpc_metadata_batch* batch) : batch_(batch) {}
2623
-
2624
- void Add(absl::string_view key, absl::string_view value) override {
2625
- if (batch_ == nullptr) return;
2626
- // Gross, egregious hack to support legacy grpclb behavior.
2627
- // TODO(ctiller): Use a promise context for this once that plumbing is done.
2628
- if (key == GrpcLbClientStatsMetadata::key()) {
2629
- batch_->Set(
2630
- GrpcLbClientStatsMetadata(),
2631
- const_cast<GrpcLbClientStats*>(
2632
- reinterpret_cast<const GrpcLbClientStats*>(value.data())));
2633
- return;
2634
- }
2635
- batch_->Append(key, Slice::FromStaticString(value),
2636
- [key](absl::string_view error, const Slice& value) {
2637
- gpr_log(GPR_ERROR, "%s",
2638
- absl::StrCat(error, " key:", key,
2639
- " value:", value.as_string_view())
2640
- .c_str());
2641
- });
2642
- }
2643
-
2644
- std::vector<std::pair<std::string, std::string>> TestOnlyCopyToVector()
2645
- override {
2646
- if (batch_ == nullptr) return {};
2647
- Encoder encoder;
2648
- batch_->Encode(&encoder);
2649
- return encoder.Take();
2650
- }
2651
-
2652
- absl::optional<absl::string_view> Lookup(absl::string_view key,
2653
- std::string* buffer) const override {
2654
- if (batch_ == nullptr) return absl::nullopt;
2655
- return batch_->GetStringValue(key, buffer);
2656
- }
2657
-
2658
- private:
2659
- class Encoder final {
2660
- public:
2661
- void Encode(const Slice& key, const Slice& value) {
2662
- out_.emplace_back(std::string(key.as_string_view()),
2663
- std::string(value.as_string_view()));
2664
- }
2665
-
2666
- template <class Which>
2667
- void Encode(Which, const typename Which::ValueType& value) {
2668
- auto value_slice = Which::Encode(value);
2669
- out_.emplace_back(std::string(Which::key()),
2670
- std::string(value_slice.as_string_view()));
2671
- }
2672
-
2673
- void Encode(GrpcTimeoutMetadata,
2674
- const typename GrpcTimeoutMetadata::ValueType&) {}
2675
- void Encode(HttpPathMetadata, const Slice&) {}
2676
- void Encode(HttpMethodMetadata,
2677
- const typename HttpMethodMetadata::ValueType&) {}
2678
-
2679
- std::vector<std::pair<std::string, std::string>> Take() {
2680
- return std::move(out_);
2681
- }
2682
-
2683
- private:
2684
- std::vector<std::pair<std::string, std::string>> out_;
2685
- };
2686
-
2687
- grpc_metadata_batch* batch_;
2688
- };
2689
-
2690
2362
  //
2691
2363
  // ClientChannelFilter::LoadBalancedCall::LbCallState
2692
2364
  //
@@ -2694,8 +2366,7 @@ class ClientChannelFilter::LoadBalancedCall::Metadata final
2694
2366
  ServiceConfigCallData::CallAttributeInterface*
2695
2367
  ClientChannelFilter::LoadBalancedCall::LbCallState::GetCallAttribute(
2696
2368
  UniqueTypeName type) const {
2697
- auto* service_config_call_data =
2698
- GetServiceConfigCallData(lb_call_->call_context_);
2369
+ auto* service_config_call_data = GetServiceConfigCallData(lb_call_->arena_);
2699
2370
  return service_config_call_data->GetCallAttribute(type);
2700
2371
  }
2701
2372
 
@@ -2721,7 +2392,7 @@ class ClientChannelFilter::LoadBalancedCall::BackendMetricAccessor final
2721
2392
  recv_trailing_metadata_ != nullptr) {
2722
2393
  if (const auto* md = recv_trailing_metadata_->get_pointer(
2723
2394
  EndpointLoadMetricsBinMetadata())) {
2724
- BackendMetricAllocator allocator(lb_call_->arena());
2395
+ BackendMetricAllocator allocator(lb_call_->arena_);
2725
2396
  lb_call_->backend_metric_data_ =
2726
2397
  ParseBackendMetricData(md->as_string_view(), &allocator);
2727
2398
  }
@@ -2756,31 +2427,28 @@ class ClientChannelFilter::LoadBalancedCall::BackendMetricAccessor final
2756
2427
 
2757
2428
  namespace {
2758
2429
 
2759
- void CreateCallAttemptTracer(grpc_call_context_element* context,
2760
- bool is_transparent_retry) {
2761
- auto* call_tracer = static_cast<ClientCallTracer*>(
2762
- context[GRPC_CONTEXT_CALL_TRACER_ANNOTATION_INTERFACE].value);
2430
+ void CreateCallAttemptTracer(Arena* arena, bool is_transparent_retry) {
2431
+ auto* call_tracer = DownCast<ClientCallTracer*>(
2432
+ arena->GetContext<CallTracerAnnotationInterface>());
2763
2433
  if (call_tracer == nullptr) return;
2764
2434
  auto* tracer = call_tracer->StartNewAttempt(is_transparent_retry);
2765
- context[GRPC_CONTEXT_CALL_TRACER].value = tracer;
2435
+ arena->SetContext<CallTracerInterface>(tracer);
2766
2436
  }
2767
2437
 
2768
2438
  } // namespace
2769
2439
 
2770
2440
  ClientChannelFilter::LoadBalancedCall::LoadBalancedCall(
2771
- ClientChannelFilter* chand, grpc_call_context_element* call_context,
2441
+ ClientChannelFilter* chand, Arena* arena,
2772
2442
  absl::AnyInvocable<void()> on_commit, bool is_transparent_retry)
2773
- : InternallyRefCounted(
2774
- GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_lb_call_trace)
2775
- ? "LoadBalancedCall"
2776
- : nullptr),
2443
+ : InternallyRefCounted(GRPC_TRACE_FLAG_ENABLED(client_channel_lb_call)
2444
+ ? "LoadBalancedCall"
2445
+ : nullptr),
2777
2446
  chand_(chand),
2778
2447
  on_commit_(std::move(on_commit)),
2779
- call_context_(call_context) {
2780
- CreateCallAttemptTracer(call_context, is_transparent_retry);
2781
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_lb_call_trace)) {
2782
- gpr_log(GPR_INFO, "chand=%p lb_call=%p: created", chand_, this);
2783
- }
2448
+ arena_(arena) {
2449
+ CreateCallAttemptTracer(arena, is_transparent_retry);
2450
+ GRPC_TRACE_LOG(client_channel_lb_call, INFO)
2451
+ << "chand=" << chand_ << " lb_call=" << this << ": created";
2784
2452
  }
2785
2453
 
2786
2454
  ClientChannelFilter::LoadBalancedCall::~LoadBalancedCall() {
@@ -2801,7 +2469,7 @@ void ClientChannelFilter::LoadBalancedCall::RecordCallCompletion(
2801
2469
  // If the LB policy requested a callback for trailing metadata, invoke
2802
2470
  // the callback.
2803
2471
  if (lb_subchannel_call_tracker_ != nullptr) {
2804
- Metadata trailing_metadata(recv_trailing_metadata);
2472
+ LbMetadata trailing_metadata(recv_trailing_metadata);
2805
2473
  BackendMetricAccessor backend_metric_accessor(this, recv_trailing_metadata);
2806
2474
  LoadBalancingPolicy::SubchannelCallTrackerInterface::FinishArgs args = {
2807
2475
  peer_address, status, &trailing_metadata, &backend_metric_accessor};
@@ -2821,24 +2489,22 @@ void ClientChannelFilter::LoadBalancedCall::RecordLatency() {
2821
2489
 
2822
2490
  void ClientChannelFilter::LoadBalancedCall::
2823
2491
  RemoveCallFromLbQueuedCallsLocked() {
2824
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_lb_call_trace)) {
2825
- gpr_log(GPR_INFO, "chand=%p lb_call=%p: removing from queued picks list",
2826
- chand_, this);
2827
- }
2492
+ GRPC_TRACE_LOG(client_channel_lb_call, INFO)
2493
+ << "chand=" << chand_ << " lb_call=" << this
2494
+ << ": removing from queued picks list";
2828
2495
  // Remove pollset_set linkage.
2829
2496
  grpc_polling_entity_del_from_pollset_set(pollent(),
2830
2497
  chand_->interested_parties_);
2831
2498
  // Note: There's no need to actually remove the call from the queue
2832
- // here, beacuse that will be done in either
2499
+ // here, because that will be done in either
2833
2500
  // LbQueuedCallCanceller::CancelLocked() or
2834
2501
  // in ClientChannelFilter::UpdateStateAndPickerLocked().
2835
2502
  }
2836
2503
 
2837
2504
  void ClientChannelFilter::LoadBalancedCall::AddCallToLbQueuedCallsLocked() {
2838
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_lb_call_trace)) {
2839
- gpr_log(GPR_INFO, "chand=%p lb_call=%p: adding to queued picks list",
2840
- chand_, this);
2841
- }
2505
+ GRPC_TRACE_LOG(client_channel_lb_call, INFO)
2506
+ << "chand=" << chand_ << " lb_call=" << this
2507
+ << ": adding to queued picks list";
2842
2508
  // Add call's pollent to channel's interested_parties, so that I/O
2843
2509
  // can be done under the call's CQ.
2844
2510
  grpc_polling_entity_add_to_pollset_set(pollent(),
@@ -2855,16 +2521,17 @@ ClientChannelFilter::LoadBalancedCall::PickSubchannel(bool was_queued) {
2855
2521
  // updated before we queue it.
2856
2522
  // We need to unref pickers in the WorkSerializer.
2857
2523
  std::vector<RefCountedPtr<LoadBalancingPolicy::SubchannelPicker>> pickers;
2858
- auto cleanup = absl::MakeCleanup([&]() {
2859
- if (IsWorkSerializerDispatchEnabled()) return;
2860
- chand_->work_serializer_->Run(
2861
- [pickers = std::move(pickers)]() mutable {
2862
- for (auto& picker : pickers) {
2863
- picker.reset(DEBUG_LOCATION, "PickSubchannel");
2864
- }
2865
- },
2866
- DEBUG_LOCATION);
2867
- });
2524
+ auto cleanup = absl::MakeCleanup(
2525
+ [work_serializer = chand_->work_serializer_, &pickers]() {
2526
+ if (IsWorkSerializerDispatchEnabled()) return;
2527
+ work_serializer->Run(
2528
+ [pickers = std::move(pickers)]() mutable {
2529
+ for (auto& picker : pickers) {
2530
+ picker.reset(DEBUG_LOCATION, "PickSubchannel");
2531
+ }
2532
+ },
2533
+ DEBUG_LOCATION);
2534
+ });
2868
2535
  absl::AnyInvocable<void(RefCountedPtr<LoadBalancingPolicy::SubchannelPicker>)>
2869
2536
  set_picker;
2870
2537
  if (!IsWorkSerializerDispatchEnabled()) {
@@ -2880,10 +2547,9 @@ ClientChannelFilter::LoadBalancedCall::PickSubchannel(bool was_queued) {
2880
2547
  };
2881
2548
  }
2882
2549
  // Grab mutex and take a ref to the picker.
2883
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_lb_call_trace)) {
2884
- gpr_log(GPR_INFO, "chand=%p lb_call=%p: grabbing LB mutex to get picker",
2885
- chand_, this);
2886
- }
2550
+ GRPC_TRACE_LOG(client_channel_lb_call, INFO)
2551
+ << "chand=" << chand_ << " lb_call=" << this
2552
+ << ": grabbing LB mutex to get picker";
2887
2553
  RefCountedPtr<LoadBalancingPolicy::SubchannelPicker> picker;
2888
2554
  {
2889
2555
  MutexLock lock(&chand_->lb_mu_);
@@ -2893,17 +2559,15 @@ ClientChannelFilter::LoadBalancedCall::PickSubchannel(bool was_queued) {
2893
2559
  // TODO(roth): Fix race condition in channel_idle filter and any
2894
2560
  // other possible causes of this.
2895
2561
  if (pickers.back() == nullptr) {
2896
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_lb_call_trace)) {
2897
- gpr_log(GPR_ERROR, "chand=%p lb_call=%p: picker is null, failing call",
2898
- chand_, this);
2899
- }
2562
+ GRPC_TRACE_LOG(client_channel_lb_call, INFO)
2563
+ << "chand=" << chand_ << " lb_call=" << this
2564
+ << ": picker is null, failing call";
2900
2565
  return absl::InternalError("picker is null -- shouldn't happen");
2901
2566
  }
2902
2567
  // Do pick.
2903
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_lb_call_trace)) {
2904
- gpr_log(GPR_INFO, "chand=%p lb_call=%p: performing pick with picker=%p",
2905
- chand_, this, pickers.back().get());
2906
- }
2568
+ GRPC_TRACE_LOG(client_channel_lb_call, INFO)
2569
+ << "chand=" << chand_ << " lb_call=" << this
2570
+ << ": performing pick with picker=" << pickers.back().get();
2907
2571
  grpc_error_handle error;
2908
2572
  bool pick_complete = PickSubchannelImpl(pickers.back().get(), &error);
2909
2573
  if (!pick_complete) {
@@ -2911,11 +2575,9 @@ ClientChannelFilter::LoadBalancedCall::PickSubchannel(bool was_queued) {
2911
2575
  MutexLock lock(&chand_->lb_mu_);
2912
2576
  // If picker has been swapped out since we grabbed it, try again.
2913
2577
  if (pickers.back() != chand_->picker_) {
2914
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_lb_call_trace)) {
2915
- gpr_log(GPR_INFO,
2916
- "chand=%p lb_call=%p: pick not complete, but picker changed",
2917
- chand_, this);
2918
- }
2578
+ GRPC_TRACE_LOG(client_channel_lb_call, INFO)
2579
+ << "chand=" << chand_ << " lb_call=" << this
2580
+ << ": pick not complete, but picker changed";
2919
2581
  if (IsWorkSerializerDispatchEnabled()) {
2920
2582
  // Don't unref until after we release the mutex.
2921
2583
  old_picker = std::move(pickers.back());
@@ -2934,11 +2596,9 @@ ClientChannelFilter::LoadBalancedCall::PickSubchannel(bool was_queued) {
2934
2596
  }
2935
2597
  // If the pick failed, fail the call.
2936
2598
  if (!error.ok()) {
2937
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_lb_call_trace)) {
2938
- gpr_log(GPR_INFO,
2939
- "chand=%p lb_call=%p: failed to pick subchannel: error=%s",
2940
- chand_, this, StatusToString(error).c_str());
2941
- }
2599
+ GRPC_TRACE_LOG(client_channel_lb_call, INFO)
2600
+ << "chand=" << chand_ << " lb_call=" << this
2601
+ << ": failed to pick subchannel: error=" << StatusToString(error);
2942
2602
  return error;
2943
2603
  }
2944
2604
  // Pick succeeded.
@@ -2957,18 +2617,17 @@ bool ClientChannelFilter::LoadBalancedCall::PickSubchannelImpl(
2957
2617
  pick_args.path = path->as_string_view();
2958
2618
  LbCallState lb_call_state(this);
2959
2619
  pick_args.call_state = &lb_call_state;
2960
- Metadata initial_metadata(send_initial_metadata());
2620
+ LbMetadata initial_metadata(send_initial_metadata());
2961
2621
  pick_args.initial_metadata = &initial_metadata;
2962
2622
  auto result = picker->Pick(pick_args);
2963
2623
  return HandlePickResult<bool>(
2964
2624
  &result,
2965
2625
  // CompletePick
2966
2626
  [this](LoadBalancingPolicy::PickResult::Complete* complete_pick) {
2967
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_lb_call_trace)) {
2968
- gpr_log(GPR_INFO,
2969
- "chand=%p lb_call=%p: LB pick succeeded: subchannel=%p",
2970
- chand_, this, complete_pick->subchannel.get());
2971
- }
2627
+ GRPC_TRACE_LOG(client_channel_lb_call, INFO)
2628
+ << "chand=" << chand_ << " lb_call=" << this
2629
+ << ": LB pick succeeded: subchannel="
2630
+ << complete_pick->subchannel.get();
2972
2631
  CHECK(complete_pick->subchannel != nullptr);
2973
2632
  // Grab a ref to the connected subchannel while we're still
2974
2633
  // holding the data plane mutex.
@@ -2980,12 +2639,10 @@ bool ClientChannelFilter::LoadBalancedCall::PickSubchannelImpl(
2980
2639
  // yet seen that change and given us a new picker), then just
2981
2640
  // queue the pick. We'll try again as soon as we get a new picker.
2982
2641
  if (connected_subchannel_ == nullptr) {
2983
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_lb_call_trace)) {
2984
- gpr_log(GPR_INFO,
2985
- "chand=%p lb_call=%p: subchannel returned by LB picker "
2986
- "has no connected subchannel; queueing pick",
2987
- chand_, this);
2988
- }
2642
+ GRPC_TRACE_LOG(client_channel_lb_call, INFO)
2643
+ << "chand=" << chand_ << " lb_call=" << this
2644
+ << ": subchannel returned by LB picker "
2645
+ "has no connected subchannel; queueing pick";
2989
2646
  return false;
2990
2647
  }
2991
2648
  lb_subchannel_call_tracker_ =
@@ -2993,22 +2650,24 @@ bool ClientChannelFilter::LoadBalancedCall::PickSubchannelImpl(
2993
2650
  if (lb_subchannel_call_tracker_ != nullptr) {
2994
2651
  lb_subchannel_call_tracker_->Start();
2995
2652
  }
2653
+ // Handle metadata mutations.
2654
+ MetadataMutationHandler::Apply(complete_pick->metadata_mutations,
2655
+ send_initial_metadata());
2656
+ MaybeOverrideAuthority(std::move(complete_pick->authority_override),
2657
+ send_initial_metadata());
2996
2658
  return true;
2997
2659
  },
2998
2660
  // QueuePick
2999
2661
  [this](LoadBalancingPolicy::PickResult::Queue* /*queue_pick*/) {
3000
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_lb_call_trace)) {
3001
- gpr_log(GPR_INFO, "chand=%p lb_call=%p: LB pick queued", chand_,
3002
- this);
3003
- }
2662
+ GRPC_TRACE_LOG(client_channel_lb_call, INFO)
2663
+ << "chand=" << chand_ << " lb_call=" << this << ": LB pick queued";
3004
2664
  return false;
3005
2665
  },
3006
2666
  // FailPick
3007
2667
  [this, &error](LoadBalancingPolicy::PickResult::Fail* fail_pick) {
3008
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_lb_call_trace)) {
3009
- gpr_log(GPR_INFO, "chand=%p lb_call=%p: LB pick failed: %s", chand_,
3010
- this, fail_pick->status.ToString().c_str());
3011
- }
2668
+ GRPC_TRACE_LOG(client_channel_lb_call, INFO)
2669
+ << "chand=" << chand_ << " lb_call=" << this
2670
+ << ": LB pick failed: " << fail_pick->status;
3012
2671
  // If wait_for_ready is false, then the error indicates the RPC
3013
2672
  // attempt's final status.
3014
2673
  if (!send_initial_metadata()
@@ -3024,10 +2683,9 @@ bool ClientChannelFilter::LoadBalancedCall::PickSubchannelImpl(
3024
2683
  },
3025
2684
  // DropPick
3026
2685
  [this, &error](LoadBalancingPolicy::PickResult::Drop* drop_pick) {
3027
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_lb_call_trace)) {
3028
- gpr_log(GPR_INFO, "chand=%p lb_call=%p: LB pick dropped: %s", chand_,
3029
- this, drop_pick->status.ToString().c_str());
3030
- }
2686
+ GRPC_TRACE_LOG(client_channel_lb_call, INFO)
2687
+ << "chand=" << chand_ << " lb_call=" << this
2688
+ << ": LB pick dropped: " << drop_pick->status;
3031
2689
  *error = grpc_error_set_int(
3032
2690
  absl_status_to_grpc_error(MaybeRewriteIllegalStatusCode(
3033
2691
  std::move(drop_pick->status), "LB drop")),
@@ -3044,9 +2702,8 @@ ClientChannelFilter::FilterBasedLoadBalancedCall::FilterBasedLoadBalancedCall(
3044
2702
  ClientChannelFilter* chand, const grpc_call_element_args& args,
3045
2703
  grpc_polling_entity* pollent, grpc_closure* on_call_destruction_complete,
3046
2704
  absl::AnyInvocable<void()> on_commit, bool is_transparent_retry)
3047
- : LoadBalancedCall(chand, args.context, std::move(on_commit),
2705
+ : LoadBalancedCall(chand, args.arena, std::move(on_commit),
3048
2706
  is_transparent_retry),
3049
- arena_(args.arena),
3050
2707
  owning_call_(args.call_stack),
3051
2708
  call_combiner_(args.call_combiner),
3052
2709
  pollent_(pollent),
@@ -3094,11 +2751,9 @@ size_t ClientChannelFilter::FilterBasedLoadBalancedCall::GetBatchIndex(
3094
2751
  void ClientChannelFilter::FilterBasedLoadBalancedCall::PendingBatchesAdd(
3095
2752
  grpc_transport_stream_op_batch* batch) {
3096
2753
  const size_t idx = GetBatchIndex(batch);
3097
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_lb_call_trace)) {
3098
- gpr_log(GPR_INFO,
3099
- "chand=%p lb_call=%p: adding pending batch at index %" PRIuPTR,
3100
- chand(), this, idx);
3101
- }
2754
+ GRPC_TRACE_LOG(client_channel_lb_call, INFO)
2755
+ << "chand=" << chand() << " lb_call=" << this
2756
+ << ": adding pending batch at index " << idx;
3102
2757
  CHECK_EQ(pending_batches_[idx], nullptr);
3103
2758
  pending_batches_[idx] = batch;
3104
2759
  }
@@ -3121,14 +2776,13 @@ void ClientChannelFilter::FilterBasedLoadBalancedCall::PendingBatchesFail(
3121
2776
  YieldCallCombinerPredicate yield_call_combiner_predicate) {
3122
2777
  CHECK(!error.ok());
3123
2778
  failure_error_ = error;
3124
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_lb_call_trace)) {
2779
+ if (GRPC_TRACE_FLAG_ENABLED(client_channel_lb_call)) {
3125
2780
  size_t num_batches = 0;
3126
2781
  for (size_t i = 0; i < GPR_ARRAY_SIZE(pending_batches_); ++i) {
3127
2782
  if (pending_batches_[i] != nullptr) ++num_batches;
3128
2783
  }
3129
- gpr_log(GPR_INFO,
3130
- "chand=%p lb_call=%p: failing %" PRIuPTR " pending batches: %s",
3131
- chand(), this, num_batches, StatusToString(error).c_str());
2784
+ LOG(INFO) << "chand=" << chand() << " lb_call=" << this << ": failing "
2785
+ << num_batches << " pending batches: " << StatusToString(error);
3132
2786
  }
3133
2787
  CallCombinerClosureList closures;
3134
2788
  for (size_t i = 0; i < GPR_ARRAY_SIZE(pending_batches_); ++i) {
@@ -3163,15 +2817,14 @@ void ClientChannelFilter::FilterBasedLoadBalancedCall::
3163
2817
 
3164
2818
  // This is called via the call combiner, so access to calld is synchronized.
3165
2819
  void ClientChannelFilter::FilterBasedLoadBalancedCall::PendingBatchesResume() {
3166
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_lb_call_trace)) {
2820
+ if (GRPC_TRACE_FLAG_ENABLED(client_channel_lb_call)) {
3167
2821
  size_t num_batches = 0;
3168
2822
  for (size_t i = 0; i < GPR_ARRAY_SIZE(pending_batches_); ++i) {
3169
2823
  if (pending_batches_[i] != nullptr) ++num_batches;
3170
2824
  }
3171
- gpr_log(GPR_INFO,
3172
- "chand=%p lb_call=%p: starting %" PRIuPTR
3173
- " pending batches on subchannel_call=%p",
3174
- chand(), this, num_batches, subchannel_call_.get());
2825
+ LOG(INFO) << "chand=" << chand() << " lb_call=" << this << ": starting "
2826
+ << num_batches << " pending batches on subchannel_call="
2827
+ << subchannel_call_.get();
3175
2828
  }
3176
2829
  CallCombinerClosureList closures;
3177
2830
  for (size_t i = 0; i < GPR_ARRAY_SIZE(pending_batches_); ++i) {
@@ -3192,14 +2845,12 @@ void ClientChannelFilter::FilterBasedLoadBalancedCall::PendingBatchesResume() {
3192
2845
 
3193
2846
  void ClientChannelFilter::FilterBasedLoadBalancedCall::
3194
2847
  StartTransportStreamOpBatch(grpc_transport_stream_op_batch* batch) {
3195
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_lb_call_trace) ||
3196
- GRPC_TRACE_FLAG_ENABLED(grpc_trace_channel)) {
3197
- gpr_log(GPR_INFO,
3198
- "chand=%p lb_call=%p: batch started from above: %s, "
3199
- "call_attempt_tracer()=%p",
3200
- chand(), this,
3201
- grpc_transport_stream_op_batch_string(batch, false).c_str(),
3202
- call_attempt_tracer());
2848
+ if (GRPC_TRACE_FLAG_ENABLED(client_channel_lb_call) ||
2849
+ GRPC_TRACE_FLAG_ENABLED(channel)) {
2850
+ LOG(INFO) << "chand=" << chand() << " lb_call=" << this
2851
+ << ": batch started from above: "
2852
+ << grpc_transport_stream_op_batch_string(batch, false)
2853
+ << ", call_attempt_tracer()=" << call_attempt_tracer();
3203
2854
  }
3204
2855
  // Handle call tracing.
3205
2856
  if (call_attempt_tracer() != nullptr) {
@@ -3247,11 +2898,9 @@ void ClientChannelFilter::FilterBasedLoadBalancedCall::
3247
2898
  // the channel's data plane mutex, which is more efficient (especially for
3248
2899
  // streaming calls).
3249
2900
  if (subchannel_call_ != nullptr) {
3250
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_lb_call_trace)) {
3251
- gpr_log(GPR_INFO,
3252
- "chand=%p lb_call=%p: starting batch on subchannel_call=%p",
3253
- chand(), this, subchannel_call_.get());
3254
- }
2901
+ GRPC_TRACE_LOG(client_channel_lb_call, INFO)
2902
+ << "chand=" << chand() << " lb_call=" << this
2903
+ << ": starting batch on subchannel_call=" << subchannel_call_.get();
3255
2904
  subchannel_call_->StartTransportStreamOpBatch(batch);
3256
2905
  return;
3257
2906
  }
@@ -3259,10 +2908,9 @@ void ClientChannelFilter::FilterBasedLoadBalancedCall::
3259
2908
  //
3260
2909
  // If we've previously been cancelled, immediately fail any new batches.
3261
2910
  if (GPR_UNLIKELY(!cancel_error_.ok())) {
3262
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_lb_call_trace)) {
3263
- gpr_log(GPR_INFO, "chand=%p lb_call=%p: failing batch with error: %s",
3264
- chand(), this, StatusToString(cancel_error_).c_str());
3265
- }
2911
+ GRPC_TRACE_LOG(client_channel_lb_call, INFO)
2912
+ << "chand=" << chand() << " lb_call=" << this
2913
+ << ": failing batch with error: " << StatusToString(cancel_error_);
3266
2914
  // Note: This will release the call combiner.
3267
2915
  grpc_transport_stream_op_batch_finish_with_failure(batch, cancel_error_,
3268
2916
  call_combiner_);
@@ -3276,10 +2924,9 @@ void ClientChannelFilter::FilterBasedLoadBalancedCall::
3276
2924
  // is in the past when the call starts), we can return the right
3277
2925
  // error to the caller when the first batch does get passed down.
3278
2926
  cancel_error_ = batch->payload->cancel_stream.cancel_error;
3279
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_lb_call_trace)) {
3280
- gpr_log(GPR_INFO, "chand=%p lb_call=%p: recording cancel_error=%s",
3281
- chand(), this, StatusToString(cancel_error_).c_str());
3282
- }
2927
+ GRPC_TRACE_LOG(client_channel_lb_call, INFO)
2928
+ << "chand=" << chand() << " lb_call=" << this
2929
+ << ": recording cancel_error=" << StatusToString(cancel_error_).c_str();
3283
2930
  // Fail all pending batches.
3284
2931
  PendingBatchesFail(cancel_error_, NoYieldCallCombiner);
3285
2932
  // Note: This will release the call combiner.
@@ -3295,11 +2942,9 @@ void ClientChannelFilter::FilterBasedLoadBalancedCall::
3295
2942
  TryPick(/*was_queued=*/false);
3296
2943
  } else {
3297
2944
  // For all other batches, release the call combiner.
3298
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_lb_call_trace)) {
3299
- gpr_log(GPR_INFO,
3300
- "chand=%p lb_call=%p: saved batch, yielding call combiner",
3301
- chand(), this);
3302
- }
2945
+ GRPC_TRACE_LOG(client_channel_lb_call, INFO)
2946
+ << "chand=" << chand() << " lb_call=" << this
2947
+ << ": saved batch, yielding call combiner";
3303
2948
  GRPC_CALL_COMBINER_STOP(call_combiner_,
3304
2949
  "batch does not include send_initial_metadata");
3305
2950
  }
@@ -3308,11 +2953,9 @@ void ClientChannelFilter::FilterBasedLoadBalancedCall::
3308
2953
  void ClientChannelFilter::FilterBasedLoadBalancedCall::RecvInitialMetadataReady(
3309
2954
  void* arg, grpc_error_handle error) {
3310
2955
  auto* self = static_cast<FilterBasedLoadBalancedCall*>(arg);
3311
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_lb_call_trace)) {
3312
- gpr_log(GPR_INFO,
3313
- "chand=%p lb_call=%p: got recv_initial_metadata_ready: error=%s",
3314
- self->chand(), self, StatusToString(error).c_str());
3315
- }
2956
+ GRPC_TRACE_LOG(client_channel_lb_call, INFO)
2957
+ << "chand=" << self->chand() << " lb_call=" << self
2958
+ << ": got recv_initial_metadata_ready: error=" << StatusToString(error);
3316
2959
  if (error.ok()) {
3317
2960
  // recv_initial_metadata_flags is not populated for clients
3318
2961
  self->call_attempt_tracer()->RecordReceivedInitialMetadata(
@@ -3327,15 +2970,12 @@ void ClientChannelFilter::FilterBasedLoadBalancedCall::RecvInitialMetadataReady(
3327
2970
  void ClientChannelFilter::FilterBasedLoadBalancedCall::
3328
2971
  RecvTrailingMetadataReady(void* arg, grpc_error_handle error) {
3329
2972
  auto* self = static_cast<FilterBasedLoadBalancedCall*>(arg);
3330
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_lb_call_trace)) {
3331
- gpr_log(GPR_INFO,
3332
- "chand=%p lb_call=%p: got recv_trailing_metadata_ready: error=%s "
3333
- "call_attempt_tracer()=%p lb_subchannel_call_tracker_=%p "
3334
- "failure_error_=%s",
3335
- self->chand(), self, StatusToString(error).c_str(),
3336
- self->call_attempt_tracer(), self->lb_subchannel_call_tracker(),
3337
- StatusToString(self->failure_error_).c_str());
3338
- }
2973
+ GRPC_TRACE_LOG(client_channel_lb_call, INFO)
2974
+ << "chand=" << self->chand() << " lb_call=" << self
2975
+ << ": got recv_trailing_metadata_ready: error=" << StatusToString(error)
2976
+ << " call_attempt_tracer()=" << self->call_attempt_tracer()
2977
+ << " lb_subchannel_call_tracker_=" << self->lb_subchannel_call_tracker()
2978
+ << " failure_error_=" << StatusToString(self->failure_error_);
3339
2979
  // Check if we have a tracer or an LB callback to invoke.
3340
2980
  if (self->call_attempt_tracer() != nullptr ||
3341
2981
  self->lb_subchannel_call_tracker() != nullptr) {
@@ -3346,10 +2986,7 @@ void ClientChannelFilter::FilterBasedLoadBalancedCall::
3346
2986
  grpc_status_code code;
3347
2987
  std::string message;
3348
2988
  grpc_error_get_status(
3349
- error,
3350
- static_cast<Call*>(self->call_context()[GRPC_CONTEXT_CALL].value)
3351
- ->deadline(),
3352
- &code, &message,
2989
+ error, self->arena()->GetContext<Call>()->deadline(), &code, &message,
3353
2990
  /*http_error=*/nullptr, /*error_string=*/nullptr);
3354
2991
  status = absl::Status(static_cast<absl::StatusCode>(code), message);
3355
2992
  } else {
@@ -3406,13 +3043,11 @@ class ClientChannelFilter::FilterBasedLoadBalancedCall::LbQueuedCallCanceller
3406
3043
  auto* chand = lb_call->chand();
3407
3044
  {
3408
3045
  MutexLock lock(&chand->lb_mu_);
3409
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_lb_call_trace)) {
3410
- gpr_log(GPR_INFO,
3411
- "chand=%p lb_call=%p: cancelling queued pick: "
3412
- "error=%s self=%p calld->pick_canceller=%p",
3413
- chand, lb_call, StatusToString(error).c_str(), self,
3414
- lb_call->lb_call_canceller_);
3415
- }
3046
+ GRPC_TRACE_LOG(client_channel_lb_call, INFO)
3047
+ << "chand=" << chand << " lb_call=" << lb_call
3048
+ << ": cancelling queued pick: error=" << StatusToString(error)
3049
+ << " self=" << self
3050
+ << " calld->pick_canceller=" << lb_call->lb_call_canceller_;
3416
3051
  if (lb_call->lb_call_canceller_ == self && !error.ok()) {
3417
3052
  lb_call->Commit();
3418
3053
  // Remove pick from list of queued picks.
@@ -3488,18 +3123,16 @@ void ClientChannelFilter::FilterBasedLoadBalancedCall::CreateSubchannelCall() {
3488
3123
  CHECK_NE(path, nullptr);
3489
3124
  SubchannelCall::Args call_args = {
3490
3125
  connected_subchannel()->Ref(), pollent_, path->Ref(), /*start_time=*/0,
3491
- static_cast<Call*>(call_context()[GRPC_CONTEXT_CALL].value)->deadline(),
3492
- arena_,
3126
+ arena()->GetContext<Call>()->deadline(),
3493
3127
  // TODO(roth): When we implement hedging support, we will probably
3494
- // need to use a separate call context for each subchannel call.
3495
- call_context(), call_combiner_};
3128
+ // need to use a separate call arena for each subchannel call.
3129
+ arena(), call_combiner_};
3496
3130
  grpc_error_handle error;
3497
3131
  subchannel_call_ = SubchannelCall::Create(std::move(call_args), &error);
3498
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_lb_call_trace)) {
3499
- gpr_log(GPR_INFO,
3500
- "chand=%p lb_call=%p: create subchannel_call=%p: error=%s", chand(),
3501
- this, subchannel_call_.get(), StatusToString(error).c_str());
3502
- }
3132
+ GRPC_TRACE_LOG(client_channel_lb_call, INFO)
3133
+ << "chand=" << chand() << " lb_call=" << this
3134
+ << ": create subchannel_call=" << subchannel_call_.get()
3135
+ << ": error=" << StatusToString(error);
3503
3136
  if (on_call_destruction_complete_ != nullptr) {
3504
3137
  subchannel_call_->SetAfterCallStackDestroy(on_call_destruction_complete_);
3505
3138
  on_call_destruction_complete_ = nullptr;
@@ -3511,150 +3144,4 @@ void ClientChannelFilter::FilterBasedLoadBalancedCall::CreateSubchannelCall() {
3511
3144
  }
3512
3145
  }
3513
3146
 
3514
- //
3515
- // ClientChannelFilter::PromiseBasedLoadBalancedCall
3516
- //
3517
-
3518
- ClientChannelFilter::PromiseBasedLoadBalancedCall::PromiseBasedLoadBalancedCall(
3519
- ClientChannelFilter* chand, absl::AnyInvocable<void()> on_commit,
3520
- bool is_transparent_retry)
3521
- : LoadBalancedCall(chand, GetContext<grpc_call_context_element>(),
3522
- std::move(on_commit), is_transparent_retry) {}
3523
-
3524
- ArenaPromise<ServerMetadataHandle>
3525
- ClientChannelFilter::PromiseBasedLoadBalancedCall::MakeCallPromise(
3526
- CallArgs call_args, OrphanablePtr<PromiseBasedLoadBalancedCall> lb_call) {
3527
- pollent_ = NowOrNever(call_args.polling_entity->WaitAndCopy()).value();
3528
- // Record ops in tracer.
3529
- if (call_attempt_tracer() != nullptr) {
3530
- call_attempt_tracer()->RecordSendInitialMetadata(
3531
- call_args.client_initial_metadata.get());
3532
- // TODO(ctiller): Find a way to do this without registering a no-op mapper.
3533
- call_args.client_to_server_messages->InterceptAndMapWithHalfClose(
3534
- [](MessageHandle message) { return message; }, // No-op.
3535
- [this]() {
3536
- // TODO(roth): Change CallTracer API to not pass metadata
3537
- // batch to this method, since the batch is always empty.
3538
- grpc_metadata_batch metadata;
3539
- call_attempt_tracer()->RecordSendTrailingMetadata(&metadata);
3540
- });
3541
- }
3542
- // Extract peer name from server initial metadata.
3543
- call_args.server_initial_metadata->InterceptAndMap(
3544
- [self = lb_call->RefAsSubclass<PromiseBasedLoadBalancedCall>()](
3545
- ServerMetadataHandle metadata) {
3546
- if (self->call_attempt_tracer() != nullptr) {
3547
- self->call_attempt_tracer()->RecordReceivedInitialMetadata(
3548
- metadata.get());
3549
- }
3550
- Slice* peer_string = metadata->get_pointer(PeerString());
3551
- if (peer_string != nullptr) self->peer_string_ = peer_string->Ref();
3552
- return metadata;
3553
- });
3554
- client_initial_metadata_ = std::move(call_args.client_initial_metadata);
3555
- return OnCancel(
3556
- Map(TrySeq(
3557
- // LB pick.
3558
- [this]() -> Poll<absl::Status> {
3559
- auto result = PickSubchannel(was_queued_);
3560
- if (GRPC_TRACE_FLAG_ENABLED(
3561
- grpc_client_channel_lb_call_trace)) {
3562
- gpr_log(GPR_INFO,
3563
- "chand=%p lb_call=%p: %sPickSubchannel() returns %s",
3564
- chand(), this,
3565
- GetContext<Activity>()->DebugTag().c_str(),
3566
- result.has_value() ? result->ToString().c_str()
3567
- : "Pending");
3568
- }
3569
- if (result == absl::nullopt) return Pending{};
3570
- return std::move(*result);
3571
- },
3572
- [this, call_args = std::move(call_args)]() mutable
3573
- -> ArenaPromise<ServerMetadataHandle> {
3574
- call_args.client_initial_metadata =
3575
- std::move(client_initial_metadata_);
3576
- return connected_subchannel()->MakeCallPromise(
3577
- std::move(call_args));
3578
- }),
3579
- // Record call completion.
3580
- [this](ServerMetadataHandle metadata) {
3581
- if (call_attempt_tracer() != nullptr ||
3582
- lb_subchannel_call_tracker() != nullptr) {
3583
- absl::Status status;
3584
- grpc_status_code code = metadata->get(GrpcStatusMetadata())
3585
- .value_or(GRPC_STATUS_UNKNOWN);
3586
- if (code != GRPC_STATUS_OK) {
3587
- absl::string_view message;
3588
- if (const auto* grpc_message =
3589
- metadata->get_pointer(GrpcMessageMetadata())) {
3590
- message = grpc_message->as_string_view();
3591
- }
3592
- status =
3593
- absl::Status(static_cast<absl::StatusCode>(code), message);
3594
- }
3595
- RecordCallCompletion(status, metadata.get(),
3596
- &GetContext<CallContext>()
3597
- ->call_stats()
3598
- ->transport_stream_stats,
3599
- peer_string_.as_string_view());
3600
- }
3601
- RecordLatency();
3602
- return metadata;
3603
- }),
3604
- [lb_call = std::move(lb_call)]() {
3605
- // If the waker is pending, then we need to remove ourself from
3606
- // the list of queued LB calls.
3607
- if (!lb_call->waker_.is_unwakeable()) {
3608
- MutexLock lock(&lb_call->chand()->lb_mu_);
3609
- lb_call->Commit();
3610
- // Remove pick from list of queued picks.
3611
- lb_call->RemoveCallFromLbQueuedCallsLocked();
3612
- // Remove from queued picks list.
3613
- lb_call->chand()->lb_queued_calls_.erase(lb_call.get());
3614
- }
3615
- // TODO(ctiller): We don't have access to the call's actual status
3616
- // here, so we just assume CANCELLED. We could change this to use
3617
- // CallFinalization instead of OnCancel() so that we can get the
3618
- // actual status. But we should also have access to the trailing
3619
- // metadata, which we don't have in either case. Ultimately, we
3620
- // need a better story for code that needs to run at the end of a
3621
- // call in both cancellation and non-cancellation cases that needs
3622
- // access to server trailing metadata and the call's real status.
3623
- if (lb_call->call_attempt_tracer() != nullptr) {
3624
- lb_call->call_attempt_tracer()->RecordCancel(
3625
- absl::CancelledError("call cancelled"));
3626
- }
3627
- if (lb_call->call_attempt_tracer() != nullptr ||
3628
- lb_call->lb_subchannel_call_tracker() != nullptr) {
3629
- // If we were cancelled without recording call completion, then
3630
- // record call completion here, as best we can. We assume status
3631
- // CANCELLED in this case.
3632
- lb_call->RecordCallCompletion(absl::CancelledError("call cancelled"),
3633
- nullptr, nullptr, "");
3634
- }
3635
- });
3636
- }
3637
-
3638
- Arena* ClientChannelFilter::PromiseBasedLoadBalancedCall::arena() const {
3639
- return GetContext<Arena>();
3640
- }
3641
-
3642
- grpc_metadata_batch*
3643
- ClientChannelFilter::PromiseBasedLoadBalancedCall::send_initial_metadata()
3644
- const {
3645
- return client_initial_metadata_.get();
3646
- }
3647
-
3648
- void ClientChannelFilter::PromiseBasedLoadBalancedCall::OnAddToQueueLocked() {
3649
- waker_ = GetContext<Activity>()->MakeNonOwningWaker();
3650
- was_queued_ = true;
3651
- }
3652
-
3653
- void ClientChannelFilter::PromiseBasedLoadBalancedCall::RetryPickLocked() {
3654
- if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_lb_call_trace)) {
3655
- gpr_log(GPR_INFO, "chand=%p lb_call=%p: RetryPickLocked()", chand(), this);
3656
- }
3657
- waker_.WakeupAsync();
3658
- }
3659
-
3660
3147
  } // namespace grpc_core