grpc 1.48.0 → 1.49.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of grpc might be problematic. Click here for more details.

Files changed (715) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +104 -41
  3. data/include/grpc/event_engine/event_engine.h +19 -16
  4. data/include/grpc/impl/codegen/grpc_types.h +3 -8
  5. data/include/grpc/impl/codegen/port_platform.h +0 -8
  6. data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +3 -3
  7. data/src/core/ext/filters/channel_idle/channel_idle_filter.h +2 -2
  8. data/src/core/ext/filters/client_channel/client_channel.cc +125 -200
  9. data/src/core/ext/filters/client_channel/client_channel.h +15 -8
  10. data/src/core/ext/filters/client_channel/client_channel_factory.cc +0 -29
  11. data/src/core/ext/filters/client_channel/client_channel_factory.h +2 -10
  12. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +1 -1
  13. data/src/core/ext/filters/client_channel/config_selector.h +12 -4
  14. data/src/core/ext/filters/client_channel/connector.h +4 -5
  15. data/src/core/ext/filters/client_channel/http_proxy.cc +53 -65
  16. data/src/core/ext/filters/client_channel/http_proxy.h +12 -9
  17. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +14 -12
  18. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h +6 -6
  19. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +102 -131
  20. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +12 -3
  21. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +5 -1
  22. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +1 -0
  23. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +1 -2
  24. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h +1 -1
  25. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +169 -63
  26. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +25 -1
  27. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +15 -19
  28. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +66 -78
  29. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +44 -44
  30. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +6 -5
  31. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +65 -77
  32. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +15 -14
  33. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +19 -14
  34. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +63 -67
  35. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +40 -49
  36. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +81 -97
  37. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +53 -61
  38. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +171 -102
  39. data/src/core/ext/filters/client_channel/proxy_mapper.h +13 -14
  40. data/src/core/ext/filters/client_channel/proxy_mapper_registry.cc +19 -16
  41. data/src/core/ext/filters/client_channel/proxy_mapper_registry.h +8 -7
  42. data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +4 -8
  43. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +431 -145
  44. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +170 -99
  45. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +20 -7
  46. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +17 -15
  47. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +7 -17
  48. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +11 -0
  49. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +38 -17
  50. data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +3 -4
  51. data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +5 -6
  52. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +4 -13
  53. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +162 -165
  54. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +37 -30
  55. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +7 -10
  56. data/src/core/ext/filters/client_channel/retry_filter.cc +0 -7
  57. data/src/core/ext/filters/client_channel/retry_service_config.cc +30 -19
  58. data/src/core/ext/filters/client_channel/retry_service_config.h +6 -9
  59. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +6 -7
  60. data/src/core/ext/filters/client_channel/subchannel.cc +49 -89
  61. data/src/core/ext/filters/client_channel/subchannel.h +8 -8
  62. data/src/core/ext/filters/client_channel/subchannel_interface_internal.h +1 -1
  63. data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +6 -76
  64. data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +16 -25
  65. data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +3 -4
  66. data/src/core/ext/filters/deadline/deadline_filter.cc +6 -6
  67. data/src/core/ext/filters/deadline/deadline_filter.h +2 -3
  68. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +1 -3
  69. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +1 -1
  70. data/src/core/ext/filters/fault_injection/service_config_parser.cc +17 -12
  71. data/src/core/ext/filters/fault_injection/service_config_parser.h +4 -5
  72. data/src/core/ext/filters/http/client/http_client_filter.cc +2 -3
  73. data/src/core/ext/filters/http/client/http_client_filter.h +1 -1
  74. data/src/core/ext/filters/http/client_authority_filter.cc +1 -2
  75. data/src/core/ext/filters/http/client_authority_filter.h +1 -1
  76. data/src/core/ext/filters/http/server/http_server_filter.cc +2 -3
  77. data/src/core/ext/filters/http/server/http_server_filter.h +1 -1
  78. data/src/core/ext/filters/message_size/message_size_filter.cc +13 -7
  79. data/src/core/ext/filters/message_size/message_size_filter.h +3 -6
  80. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +16 -12
  81. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +4 -6
  82. data/src/core/ext/filters/server_config_selector/server_config_selector.h +5 -0
  83. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +3 -5
  84. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +35 -62
  85. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +62 -89
  86. data/src/core/ext/transport/chttp2/server/chttp2_server.h +4 -6
  87. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +130 -165
  88. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +3 -2
  89. data/src/core/ext/transport/chttp2/transport/flow_control.cc +67 -2
  90. data/src/core/ext/transport/chttp2/transport/flow_control.h +1 -0
  91. data/src/core/ext/transport/chttp2/transport/hpack_constants.h +7 -1
  92. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +25 -8
  93. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +4 -0
  94. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +0 -1
  95. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +8 -2
  96. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +2 -10
  97. data/src/core/ext/transport/chttp2/transport/internal.h +2 -1
  98. data/src/core/ext/transport/inproc/inproc_transport.cc +40 -74
  99. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +5 -5
  100. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +30 -10
  101. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +4 -4
  102. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +24 -8
  103. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +8 -327
  104. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +83 -1723
  105. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.c +352 -0
  106. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.h +1768 -0
  107. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +2 -2
  108. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +12 -4
  109. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +6 -4
  110. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +33 -4
  111. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +1 -1
  112. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +6 -2
  113. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +1 -1
  114. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +6 -2
  115. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +6 -2
  116. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +12 -4
  117. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +1 -1
  118. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +6 -2
  119. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +1 -1
  120. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +7 -3
  121. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +14 -14
  122. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +90 -30
  123. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +21 -19
  124. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +124 -34
  125. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +3 -3
  126. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +18 -6
  127. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +23 -22
  128. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +153 -48
  129. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +1 -1
  130. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +6 -2
  131. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +1 -1
  132. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +6 -2
  133. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +11 -11
  134. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +84 -28
  135. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +7 -7
  136. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +42 -14
  137. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +1 -1
  138. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +6 -2
  139. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +25 -23
  140. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +156 -48
  141. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +7 -7
  142. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +42 -14
  143. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +1 -1
  144. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +6 -2
  145. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +1 -1
  146. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +6 -2
  147. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +2 -2
  148. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +12 -4
  149. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +12 -12
  150. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +78 -26
  151. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +9 -9
  152. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +54 -18
  153. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +1 -1
  154. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +6 -2
  155. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +21 -20
  156. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +117 -44
  157. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +1 -1
  158. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +6 -2
  159. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +2 -2
  160. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +12 -4
  161. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +6 -2
  162. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +1 -1
  163. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +6 -2
  164. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +1 -1
  165. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +6 -2
  166. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +3 -3
  167. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +18 -6
  168. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +5 -5
  169. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +36 -12
  170. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +3 -3
  171. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +30 -10
  172. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +1 -1
  173. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +6 -2
  174. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +37 -13
  175. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +170 -15
  176. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +5 -5
  177. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +42 -14
  178. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +1 -1
  179. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +6 -2
  180. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +7 -4
  181. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +36 -4
  182. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +1 -1
  183. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +6 -2
  184. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +6 -6
  185. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +48 -16
  186. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +8 -8
  187. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +54 -18
  188. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +21 -9
  189. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +100 -14
  190. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +7 -22
  191. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +36 -77
  192. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +121 -76
  193. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +647 -163
  194. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +3 -3
  195. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +18 -6
  196. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +34 -15
  197. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +161 -22
  198. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +1 -1
  199. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +6 -2
  200. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +1 -1
  201. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +6 -2
  202. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +2 -2
  203. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +12 -4
  204. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +1 -1
  205. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +6 -2
  206. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +1 -1
  207. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +6 -2
  208. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.c +46 -0
  209. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.h +98 -0
  210. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +1 -1
  211. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +6 -2
  212. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +2 -2
  213. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +12 -4
  214. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +1 -0
  215. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +1 -0
  216. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +2 -2
  217. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +12 -4
  218. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +1 -1
  219. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +6 -2
  220. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +1 -1
  221. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +6 -2
  222. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +2 -2
  223. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +30 -10
  224. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +2 -2
  225. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +18 -6
  226. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +11 -4
  227. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +58 -4
  228. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +1 -1
  229. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +6 -2
  230. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +35 -27
  231. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +177 -52
  232. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +6 -2
  233. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c +1 -1
  234. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +6 -2
  235. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +10 -8
  236. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +66 -14
  237. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +3 -3
  238. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +18 -6
  239. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +5 -5
  240. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +42 -14
  241. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +2 -2
  242. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +12 -4
  243. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +1 -1
  244. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +6 -2
  245. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +131 -16
  246. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +632 -12
  247. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +2 -2
  248. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +12 -4
  249. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +5 -5
  250. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +30 -10
  251. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +1 -1
  252. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +6 -2
  253. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +4 -4
  254. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +24 -8
  255. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +4 -4
  256. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +24 -8
  257. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +2 -2
  258. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +12 -4
  259. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +1 -1
  260. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +6 -2
  261. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +1 -1
  262. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +6 -2
  263. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +1 -1
  264. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +6 -2
  265. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +3 -3
  266. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +18 -6
  267. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +1 -1
  268. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +12 -4
  269. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +2 -2
  270. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +12 -4
  271. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +3 -3
  272. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +18 -6
  273. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +7 -7
  274. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +42 -14
  275. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +5 -5
  276. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +30 -10
  277. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +3 -3
  278. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +18 -6
  279. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +1 -1
  280. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +6 -2
  281. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +12 -4
  282. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +2 -2
  283. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +18 -6
  284. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.c +63 -0
  285. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.h +202 -0
  286. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +1 -1
  287. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +6 -2
  288. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +6 -2
  289. data/src/core/ext/upb-generated/google/api/annotations.upb.h +1 -1
  290. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +11 -11
  291. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +66 -22
  292. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +9 -9
  293. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +72 -24
  294. data/src/core/ext/upb-generated/google/api/http.upb.c +3 -3
  295. data/src/core/ext/upb-generated/google/api/http.upb.h +18 -6
  296. data/src/core/ext/upb-generated/google/api/httpbody.upb.c +1 -1
  297. data/src/core/ext/upb-generated/google/api/httpbody.upb.h +6 -2
  298. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +1 -1
  299. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +6 -2
  300. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +44 -43
  301. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +177 -55
  302. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +1 -1
  303. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +6 -2
  304. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +1 -1
  305. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +6 -2
  306. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +2 -2
  307. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +18 -6
  308. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +1 -1
  309. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +6 -2
  310. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +6 -6
  311. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +54 -18
  312. data/src/core/ext/upb-generated/google/rpc/status.upb.c +1 -1
  313. data/src/core/ext/upb-generated/google/rpc/status.upb.h +6 -2
  314. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +2 -2
  315. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +24 -8
  316. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +6 -2
  317. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +7 -7
  318. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +60 -20
  319. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +1 -1
  320. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +12 -4
  321. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +2 -2
  322. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +12 -4
  323. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +6 -6
  324. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +54 -18
  325. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +2 -2
  326. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +12 -4
  327. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +7 -7
  328. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +42 -14
  329. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +3 -3
  330. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +23 -11
  331. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +1 -1
  332. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +7 -3
  333. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +7 -3
  334. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +1 -1
  335. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +7 -3
  336. data/src/core/ext/upb-generated/validate/validate.upb.c +22 -22
  337. data/src/core/ext/upb-generated/validate/validate.upb.h +139 -47
  338. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +3 -3
  339. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +23 -11
  340. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +1 -1
  341. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +7 -3
  342. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +3 -3
  343. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +27 -11
  344. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +1 -1
  345. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +7 -3
  346. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +1 -1
  347. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +6 -2
  348. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +2 -2
  349. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +12 -4
  350. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +1 -1
  351. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +6 -2
  352. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +1 -1
  353. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +6 -2
  354. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +1 -1
  355. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +6 -2
  356. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +1 -1
  357. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +12 -4
  358. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +1 -1
  359. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +6 -2
  360. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +6 -2
  361. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c +1 -1
  362. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h +6 -2
  363. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +6 -6
  364. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +54 -18
  365. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +2 -2
  366. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +12 -4
  367. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +1 -1
  368. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +12 -4
  369. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +1 -1
  370. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +6 -2
  371. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +67 -274
  372. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +0 -85
  373. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.c +256 -0
  374. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.h +115 -0
  375. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +14 -11
  376. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +107 -107
  377. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +191 -187
  378. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +156 -154
  379. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +186 -183
  380. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +136 -134
  381. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +16 -16
  382. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +162 -139
  383. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +5 -0
  384. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +39 -31
  385. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +12 -8
  386. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +5 -0
  387. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +72 -75
  388. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +0 -5
  389. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +713 -670
  390. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +10 -0
  391. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +150 -139
  392. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +5 -0
  393. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.c +47 -0
  394. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.h +35 -0
  395. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +16 -12
  396. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +46 -25
  397. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +477 -466
  398. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +21 -18
  399. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +153 -84
  400. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +35 -0
  401. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +113 -113
  402. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +29 -28
  403. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.c +69 -0
  404. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.h +40 -0
  405. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +92 -90
  406. data/src/core/ext/xds/upb_utils.h +0 -21
  407. data/src/core/ext/xds/xds_api.cc +53 -86
  408. data/src/core/ext/xds/xds_api.h +19 -28
  409. data/src/core/ext/xds/xds_bootstrap.cc +39 -52
  410. data/src/core/ext/xds/xds_bootstrap.h +28 -8
  411. data/src/core/ext/xds/xds_certificate_provider.h +9 -0
  412. data/src/core/ext/xds/xds_channel_stack_modifier.cc +6 -4
  413. data/src/core/ext/xds/xds_channel_stack_modifier.h +8 -0
  414. data/src/core/ext/xds/xds_client.cc +555 -1214
  415. data/src/core/ext/xds/xds_client.h +16 -44
  416. data/src/core/ext/xds/xds_client_grpc.cc +291 -0
  417. data/src/core/ext/xds/xds_client_grpc.h +102 -0
  418. data/src/core/ext/xds/xds_cluster.cc +92 -103
  419. data/src/core/ext/xds/xds_cluster.h +6 -5
  420. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +10 -14
  421. data/src/core/ext/xds/xds_cluster_specifier_plugin.h +1 -0
  422. data/src/core/ext/xds/xds_common_types.cc +134 -110
  423. data/src/core/ext/xds/xds_common_types.h +6 -7
  424. data/src/core/ext/xds/xds_endpoint.cc +80 -80
  425. data/src/core/ext/xds/xds_endpoint.h +4 -4
  426. data/src/core/ext/xds/xds_http_fault_filter.cc +4 -11
  427. data/src/core/ext/xds/xds_http_fault_filter.h +3 -3
  428. data/src/core/ext/xds/xds_http_filters.h +3 -3
  429. data/src/core/ext/xds/xds_http_rbac_filter.cc +39 -58
  430. data/src/core/ext/xds/xds_http_rbac_filter.h +3 -3
  431. data/src/core/ext/xds/xds_lb_policy_registry.cc +17 -20
  432. data/src/core/ext/xds/xds_lb_policy_registry.h +4 -4
  433. data/src/core/ext/xds/xds_listener.cc +329 -299
  434. data/src/core/ext/xds/xds_listener.h +4 -4
  435. data/src/core/ext/xds/xds_resource_type.h +13 -2
  436. data/src/core/ext/xds/xds_route_config.cc +180 -177
  437. data/src/core/ext/xds/xds_route_config.h +31 -17
  438. data/src/core/ext/xds/xds_routing.cc +3 -6
  439. data/src/core/ext/xds/xds_routing.h +7 -9
  440. data/src/core/ext/xds/xds_server_config_fetcher.cc +76 -81
  441. data/src/core/ext/xds/xds_transport.h +86 -0
  442. data/src/core/ext/xds/xds_transport_grpc.cc +349 -0
  443. data/src/core/ext/xds/xds_transport_grpc.h +135 -0
  444. data/src/core/lib/address_utils/parse_address.cc +19 -17
  445. data/src/core/lib/address_utils/parse_address.h +8 -5
  446. data/src/core/lib/avl/avl.h +47 -25
  447. data/src/core/lib/channel/call_tracer.h +1 -1
  448. data/src/core/lib/channel/channel_args.cc +88 -19
  449. data/src/core/lib/channel/channel_args.h +113 -62
  450. data/src/core/lib/channel/channel_stack.cc +0 -1
  451. data/src/core/lib/channel/channel_stack_builder.cc +3 -3
  452. data/src/core/lib/channel/channel_stack_builder.h +2 -2
  453. data/src/core/lib/channel/channel_stack_builder_impl.cc +2 -4
  454. data/src/core/lib/channel/channelz.cc +27 -37
  455. data/src/core/lib/channel/channelz.h +9 -0
  456. data/src/core/lib/channel/promise_based_filter.h +0 -1
  457. data/src/core/lib/config/core_configuration.h +48 -35
  458. data/src/core/lib/debug/stats.cc +12 -15
  459. data/src/core/lib/debug/stats.h +11 -3
  460. data/src/core/lib/event_engine/{event_engine.cc → default_event_engine.cc} +9 -5
  461. data/src/core/lib/event_engine/{event_engine_factory.h → default_event_engine.h} +4 -8
  462. data/src/core/lib/event_engine/default_event_engine_factory.cc +20 -3
  463. data/src/core/lib/event_engine/default_event_engine_factory.h +33 -0
  464. data/src/core/lib/event_engine/executor/executor.h +38 -0
  465. data/src/core/lib/event_engine/executor/threaded_executor.cc +36 -0
  466. data/src/core/lib/event_engine/executor/threaded_executor.h +44 -0
  467. data/src/core/lib/event_engine/forkable.cc +101 -0
  468. data/src/core/lib/event_engine/forkable.h +61 -0
  469. data/src/core/lib/event_engine/poller.h +54 -0
  470. data/src/core/lib/event_engine/{iomgr_engine/iomgr_engine.cc → posix_engine/posix_engine.cc} +30 -47
  471. data/src/core/lib/event_engine/{iomgr_engine/iomgr_engine.h → posix_engine/posix_engine.h} +27 -28
  472. data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer.cc +4 -5
  473. data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer.h +8 -8
  474. data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer_heap.cc +4 -4
  475. data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer_heap.h +5 -5
  476. data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer_manager.cc +46 -10
  477. data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer_manager.h +17 -8
  478. data/src/core/lib/event_engine/promise.h +11 -2
  479. data/src/core/lib/event_engine/socket_notifier.h +55 -0
  480. data/src/core/lib/event_engine/{iomgr_engine/thread_pool.cc → thread_pool.cc} +49 -14
  481. data/src/core/lib/event_engine/{iomgr_engine/thread_pool.h → thread_pool.h} +21 -10
  482. data/src/core/lib/event_engine/utils.cc +49 -0
  483. data/src/core/lib/event_engine/utils.h +40 -0
  484. data/src/core/lib/event_engine/windows/iocp.cc +149 -0
  485. data/src/core/lib/event_engine/windows/iocp.h +68 -0
  486. data/src/core/lib/event_engine/windows/win_socket.cc +196 -0
  487. data/src/core/lib/event_engine/windows/win_socket.h +120 -0
  488. data/src/core/lib/event_engine/windows/windows_engine.cc +159 -0
  489. data/src/core/lib/event_engine/windows/windows_engine.h +120 -0
  490. data/src/core/lib/gpr/time.cc +11 -9
  491. data/src/core/lib/gpr/useful.h +29 -0
  492. data/src/core/lib/gprpp/bitset.h +3 -13
  493. data/src/core/lib/gprpp/debug_location.h +39 -7
  494. data/src/core/lib/gprpp/manual_constructor.h +0 -1
  495. data/src/core/lib/gprpp/no_destruct.h +94 -0
  496. data/src/core/lib/gprpp/ref_counted_ptr.h +0 -1
  497. data/src/core/lib/gprpp/status_helper.cc +1 -0
  498. data/src/core/lib/gprpp/table.h +0 -1
  499. data/src/core/lib/{event_engine/iomgr_engine → gprpp}/time_averaged_stats.cc +3 -5
  500. data/src/core/lib/{event_engine/iomgr_engine → gprpp}/time_averaged_stats.h +5 -7
  501. data/src/core/lib/{iomgr → gprpp}/work_serializer.cc +34 -18
  502. data/src/core/lib/{iomgr → gprpp}/work_serializer.h +21 -27
  503. data/src/core/lib/http/httpcli.cc +12 -24
  504. data/src/core/lib/http/httpcli_security_connector.cc +11 -11
  505. data/src/core/lib/iomgr/call_combiner.cc +0 -26
  506. data/src/core/lib/iomgr/closure.h +0 -9
  507. data/src/core/lib/iomgr/combiner.cc +0 -20
  508. data/src/core/lib/iomgr/endpoint_pair_posix.cc +2 -1
  509. data/src/core/lib/iomgr/error.cc +0 -773
  510. data/src/core/lib/iomgr/error.h +0 -145
  511. data/src/core/lib/iomgr/error_cfstream.cc +0 -5
  512. data/src/core/lib/iomgr/ev_poll_posix.cc +17 -9
  513. data/src/core/lib/iomgr/exec_ctx.cc +0 -12
  514. data/src/core/lib/iomgr/executor.cc +0 -10
  515. data/src/core/lib/iomgr/executor.h +0 -3
  516. data/src/core/lib/iomgr/lockfree_event.cc +0 -17
  517. data/src/core/lib/iomgr/port.h +3 -0
  518. data/src/core/lib/iomgr/resolve_address.h +29 -6
  519. data/src/core/lib/iomgr/resolve_address_posix.cc +42 -8
  520. data/src/core/lib/iomgr/resolve_address_posix.h +19 -5
  521. data/src/core/lib/iomgr/resolve_address_windows.cc +44 -10
  522. data/src/core/lib/iomgr/resolve_address_windows.h +19 -5
  523. data/src/core/lib/iomgr/socket_windows.h +0 -2
  524. data/src/core/lib/iomgr/tcp_posix.cc +118 -6
  525. data/src/core/lib/iomgr/timer_generic.cc +6 -8
  526. data/src/core/lib/json/json.h +19 -22
  527. data/src/core/lib/json/json_args.h +34 -0
  528. data/src/core/lib/json/json_object_loader.cc +233 -0
  529. data/src/core/lib/json/json_object_loader.h +618 -0
  530. data/src/core/lib/json/json_reader.cc +86 -62
  531. data/src/core/lib/json/json_util.cc +8 -36
  532. data/src/core/{ext/filters/client_channel → lib/load_balancing}/lb_policy.cc +3 -44
  533. data/src/core/{ext/filters/client_channel → lib/load_balancing}/lb_policy.h +15 -24
  534. data/src/core/lib/load_balancing/lb_policy_factory.h +49 -0
  535. data/src/core/{ext/filters/client_channel → lib/load_balancing}/lb_policy_registry.cc +49 -72
  536. data/src/core/{ext/filters/client_channel → lib/load_balancing}/lb_policy_registry.h +27 -27
  537. data/src/core/{ext/filters/client_channel → lib/load_balancing}/subchannel_interface.h +6 -6
  538. data/src/core/lib/promise/activity.h +56 -8
  539. data/src/core/lib/promise/arena_promise.h +84 -81
  540. data/src/core/lib/promise/context.h +0 -1
  541. data/src/core/lib/promise/detail/basic_seq.h +43 -23
  542. data/src/core/lib/promise/detail/promise_factory.h +0 -1
  543. data/src/core/lib/promise/map.h +0 -1
  544. data/src/core/lib/promise/seq.h +25 -4
  545. data/src/core/lib/promise/sleep.cc +38 -42
  546. data/src/core/lib/promise/sleep.h +27 -24
  547. data/src/core/lib/promise/try_seq.h +26 -6
  548. data/src/core/lib/resolver/resolver.cc +0 -47
  549. data/src/core/lib/resolver/resolver.h +2 -12
  550. data/src/core/lib/resolver/resolver_factory.h +2 -3
  551. data/src/core/lib/resolver/resolver_registry.cc +1 -1
  552. data/src/core/lib/resolver/resolver_registry.h +2 -3
  553. data/src/core/lib/resolver/server_address.cc +11 -15
  554. data/src/core/lib/resolver/server_address.h +4 -8
  555. data/src/core/lib/resource_quota/api.cc +1 -1
  556. data/src/core/lib/resource_quota/arena.cc +21 -1
  557. data/src/core/lib/resource_quota/arena.h +24 -2
  558. data/src/core/lib/resource_quota/memory_quota.cc +157 -17
  559. data/src/core/lib/resource_quota/memory_quota.h +98 -17
  560. data/src/core/lib/resource_quota/periodic_update.cc +79 -0
  561. data/src/core/lib/resource_quota/periodic_update.h +71 -0
  562. data/src/core/lib/security/authorization/evaluate_args.cc +10 -7
  563. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +1 -2
  564. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +1 -1
  565. data/src/core/lib/security/authorization/matchers.cc +13 -10
  566. data/src/core/lib/security/authorization/rbac_policy.cc +0 -1
  567. data/src/core/lib/security/credentials/alts/alts_credentials.cc +2 -3
  568. data/src/core/lib/security/credentials/alts/alts_credentials.h +3 -4
  569. data/src/core/lib/security/credentials/composite/composite_credentials.cc +3 -7
  570. data/src/core/lib/security/credentials/composite/composite_credentials.h +2 -4
  571. data/src/core/lib/security/credentials/credentials.h +16 -12
  572. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +18 -11
  573. data/src/core/lib/security/credentials/external/external_account_credentials.cc +32 -23
  574. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +5 -6
  575. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +4 -6
  576. data/src/core/lib/security/credentials/fake/fake_credentials.cc +3 -12
  577. data/src/core/lib/security/credentials/fake/fake_credentials.h +0 -4
  578. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +29 -26
  579. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +1 -3
  580. data/src/core/lib/security/credentials/iam/iam_credentials.cc +0 -1
  581. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +3 -3
  582. data/src/core/lib/security/credentials/insecure/insecure_credentials.h +3 -4
  583. data/src/core/lib/security/credentials/jwt/json_token.cc +12 -3
  584. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +4 -8
  585. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +11 -13
  586. data/src/core/lib/security/credentials/local/local_credentials.cc +3 -4
  587. data/src/core/lib/security/credentials/local/local_credentials.h +3 -4
  588. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +17 -18
  589. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +0 -1
  590. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +13 -21
  591. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +3 -4
  592. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +6 -0
  593. data/src/core/lib/security/credentials/tls/tls_credentials.cc +13 -25
  594. data/src/core/lib/security/credentials/tls/tls_credentials.h +3 -4
  595. data/src/core/lib/security/credentials/xds/xds_credentials.cc +13 -30
  596. data/src/core/lib/security/credentials/xds/xds_credentials.h +3 -3
  597. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +10 -18
  598. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +26 -38
  599. data/src/core/lib/security/security_connector/fake/fake_security_connector.h +2 -2
  600. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +5 -5
  601. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +6 -5
  602. data/src/core/lib/security/security_connector/local/local_security_connector.cc +13 -11
  603. data/src/core/lib/security/security_connector/local/local_security_connector.h +2 -2
  604. data/src/core/lib/security/security_connector/security_connector.h +5 -3
  605. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +5 -4
  606. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +5 -5
  607. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +5 -5
  608. data/src/core/lib/security/transport/auth_filters.h +1 -1
  609. data/src/core/lib/security/transport/client_auth_filter.cc +3 -4
  610. data/src/core/lib/security/transport/security_handshaker.cc +32 -44
  611. data/src/core/lib/security/transport/security_handshaker.h +2 -1
  612. data/src/core/lib/service_config/service_config.h +11 -0
  613. data/src/core/lib/service_config/service_config_impl.cc +98 -97
  614. data/src/core/lib/service_config/service_config_impl.h +11 -13
  615. data/src/core/lib/service_config/service_config_parser.cc +26 -27
  616. data/src/core/lib/service_config/service_config_parser.h +10 -22
  617. data/src/core/lib/slice/percent_encoding.cc +4 -13
  618. data/src/core/lib/slice/slice.cc +10 -4
  619. data/src/core/lib/surface/call.cc +8 -2
  620. data/src/core/lib/surface/channel.cc +6 -6
  621. data/src/core/lib/surface/channel.h +1 -1
  622. data/src/core/lib/surface/completion_queue.cc +0 -2
  623. data/src/core/lib/surface/completion_queue.h +0 -3
  624. data/src/core/lib/surface/init.cc +2 -6
  625. data/src/core/lib/surface/lame_client.cc +2 -3
  626. data/src/core/lib/surface/lame_client.h +1 -1
  627. data/src/core/lib/surface/server.cc +7 -12
  628. data/src/core/lib/surface/server.h +7 -7
  629. data/src/core/lib/surface/validate_metadata.cc +4 -14
  630. data/src/core/lib/surface/version.cc +2 -2
  631. data/src/core/lib/transport/connectivity_state.cc +0 -1
  632. data/src/core/lib/transport/connectivity_state.h +1 -1
  633. data/src/core/lib/transport/error_utils.cc +0 -36
  634. data/src/core/lib/transport/handshaker.cc +7 -9
  635. data/src/core/lib/transport/handshaker.h +4 -5
  636. data/src/core/lib/transport/handshaker_factory.h +2 -3
  637. data/src/core/lib/transport/handshaker_registry.cc +2 -1
  638. data/src/core/lib/transport/handshaker_registry.h +2 -4
  639. data/src/core/lib/transport/http_connect_handshaker.cc +16 -16
  640. data/src/core/lib/transport/metadata_batch.cc +5 -0
  641. data/src/core/lib/transport/metadata_batch.h +52 -7
  642. data/src/core/lib/transport/parsed_metadata.h +0 -1
  643. data/src/core/lib/transport/tcp_connect_handshaker.cc +12 -18
  644. data/src/core/lib/transport/transport.h +0 -7
  645. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +40 -21
  646. data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +1 -1
  647. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +14 -7
  648. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +1 -1
  649. data/src/core/tsi/fake_transport_security.cc +53 -30
  650. data/src/core/tsi/local_transport_security.cc +9 -5
  651. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +10 -1
  652. data/src/core/tsi/ssl_transport_security.cc +47 -23
  653. data/src/core/tsi/transport_security.cc +18 -6
  654. data/src/core/tsi/transport_security.h +2 -1
  655. data/src/core/tsi/transport_security_interface.h +17 -5
  656. data/src/ruby/ext/grpc/extconf.rb +2 -0
  657. data/src/ruby/ext/grpc/rb_loader.c +6 -2
  658. data/src/ruby/lib/grpc/version.rb +1 -1
  659. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +4 -0
  660. data/third_party/abseil-cpp/absl/functional/any_invocable.h +313 -0
  661. data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +857 -0
  662. data/third_party/upb/third_party/utf8_range/utf8_range.h +1 -1
  663. data/third_party/upb/upb/arena.c +277 -0
  664. data/third_party/upb/upb/arena.h +225 -0
  665. data/third_party/upb/upb/array.c +114 -0
  666. data/third_party/upb/upb/array.h +83 -0
  667. data/third_party/upb/upb/collections.h +36 -0
  668. data/third_party/upb/upb/decode.c +161 -65
  669. data/third_party/upb/upb/decode.h +1 -0
  670. data/third_party/upb/upb/decode_fast.c +1 -1
  671. data/third_party/upb/upb/def.c +10 -2
  672. data/third_party/upb/upb/def.h +8 -1
  673. data/third_party/upb/upb/def.hpp +7 -4
  674. data/third_party/upb/upb/encode.c +29 -20
  675. data/third_party/upb/upb/encode.h +16 -6
  676. data/third_party/upb/upb/extension_registry.c +93 -0
  677. data/third_party/upb/upb/extension_registry.h +84 -0
  678. data/third_party/upb/upb/{decode_internal.h → internal/decode.h} +5 -5
  679. data/third_party/upb/upb/internal/table.h +385 -0
  680. data/third_party/upb/upb/{upb_internal.h → internal/upb.h} +3 -3
  681. data/third_party/upb/upb/internal/vsnprintf_compat.h +52 -0
  682. data/third_party/upb/upb/json_decode.c +1512 -0
  683. data/third_party/upb/upb/json_decode.h +47 -0
  684. data/third_party/upb/upb/json_encode.c +7 -3
  685. data/third_party/upb/upb/json_encode.h +6 -3
  686. data/third_party/upb/upb/map.c +108 -0
  687. data/third_party/upb/upb/map.h +117 -0
  688. data/third_party/upb/upb/message_value.h +66 -0
  689. data/third_party/upb/upb/mini_table.c +1147 -0
  690. data/third_party/upb/upb/mini_table.h +189 -0
  691. data/third_party/upb/upb/mini_table.hpp +112 -0
  692. data/third_party/upb/upb/msg.c +2 -62
  693. data/third_party/upb/upb/msg.h +2 -45
  694. data/third_party/upb/upb/msg_internal.h +28 -22
  695. data/third_party/upb/upb/port_def.inc +2 -1
  696. data/third_party/upb/upb/port_undef.inc +1 -0
  697. data/third_party/upb/upb/reflection.c +2 -159
  698. data/third_party/upb/upb/reflection.h +2 -112
  699. data/third_party/upb/upb/status.c +86 -0
  700. data/third_party/upb/upb/status.h +66 -0
  701. data/third_party/upb/upb/table.c +2 -2
  702. data/third_party/upb/upb/table_internal.h +3 -352
  703. data/third_party/upb/upb/text_encode.c +3 -2
  704. data/third_party/upb/upb/upb.c +4 -290
  705. data/third_party/upb/upb/upb.h +7 -196
  706. metadata +88 -36
  707. data/src/core/ext/filters/client_channel/lb_policy_factory.h +0 -50
  708. data/src/core/lib/iomgr/error_internal.h +0 -66
  709. data/src/core/lib/iomgr/executor/mpmcqueue.cc +0 -182
  710. data/src/core/lib/iomgr/executor/mpmcqueue.h +0 -171
  711. data/src/core/lib/iomgr/executor/threadpool.cc +0 -136
  712. data/src/core/lib/iomgr/executor/threadpool.h +0 -150
  713. data/src/core/lib/iomgr/time_averaged_stats.cc +0 -64
  714. data/src/core/lib/iomgr/time_averaged_stats.h +0 -72
  715. data/src/core/lib/promise/detail/switch.h +0 -1455
@@ -23,13 +23,16 @@
23
23
  #include <stdlib.h>
24
24
  #include <string.h>
25
25
 
26
+ #include <string>
26
27
  #include <utility>
27
28
 
28
29
  #include "absl/status/status.h"
29
30
  #include "absl/strings/str_cat.h"
30
31
  #include "absl/strings/string_view.h"
32
+ #include "absl/types/optional.h"
31
33
 
32
34
  #include <grpc/grpc_security_constants.h>
35
+ #include <grpc/impl/codegen/grpc_types.h>
33
36
  #include <grpc/support/alloc.h>
34
37
  #include <grpc/support/log.h>
35
38
  #include <grpc/support/string_util.h>
@@ -47,7 +50,6 @@
47
50
  #include "src/core/lib/iomgr/exec_ctx.h"
48
51
  #include "src/core/lib/iomgr/iomgr_fwd.h"
49
52
  #include "src/core/lib/promise/arena_promise.h"
50
- #include "src/core/lib/promise/poll.h"
51
53
  #include "src/core/lib/promise/promise.h"
52
54
  #include "src/core/lib/security/context/security_context.h"
53
55
  #include "src/core/lib/security/credentials/credentials.h"
@@ -64,33 +66,22 @@ class grpc_fake_channel_security_connector final
64
66
  grpc_fake_channel_security_connector(
65
67
  grpc_core::RefCountedPtr<grpc_channel_credentials> channel_creds,
66
68
  grpc_core::RefCountedPtr<grpc_call_credentials> request_metadata_creds,
67
- const char* target, const grpc_channel_args* args)
69
+ const char* target, const grpc_core::ChannelArgs& args)
68
70
  : grpc_channel_security_connector(GRPC_FAKE_SECURITY_URL_SCHEME,
69
71
  std::move(channel_creds),
70
72
  std::move(request_metadata_creds)),
71
73
  target_(gpr_strdup(target)),
72
74
  expected_targets_(
73
- gpr_strdup(grpc_fake_transport_get_expected_targets(args))),
74
- is_lb_channel_(grpc_channel_args_find(
75
- args, GRPC_ARG_ADDRESS_IS_GRPCLB_LOAD_BALANCER) !=
76
- nullptr) {
77
- const grpc_arg* target_name_override_arg =
78
- grpc_channel_args_find(args, GRPC_SSL_TARGET_NAME_OVERRIDE_ARG);
79
- if (target_name_override_arg != nullptr) {
80
- target_name_override_ =
81
- gpr_strdup(grpc_channel_arg_get_string(target_name_override_arg));
82
- } else {
83
- target_name_override_ = nullptr;
84
- }
85
- }
75
+ args.GetOwnedString(GRPC_ARG_FAKE_SECURITY_EXPECTED_TARGETS)),
76
+ is_lb_channel_(args.GetBool(GRPC_ARG_ADDRESS_IS_GRPCLB_LOAD_BALANCER)
77
+ .value_or(false)),
78
+ target_name_override_(
79
+ args.GetOwnedString(GRPC_SSL_TARGET_NAME_OVERRIDE_ARG)) {}
86
80
 
87
- ~grpc_fake_channel_security_connector() override {
88
- gpr_free(target_);
89
- gpr_free(expected_targets_);
90
- if (target_name_override_ != nullptr) gpr_free(target_name_override_);
91
- }
81
+ ~grpc_fake_channel_security_connector() override { gpr_free(target_); }
92
82
 
93
83
  void check_peer(tsi_peer peer, grpc_endpoint* ep,
84
+ const grpc_core::ChannelArgs& /*args*/,
94
85
  grpc_core::RefCountedPtr<grpc_auth_context>* auth_context,
95
86
  grpc_closure* on_peer_checked) override;
96
87
 
@@ -106,16 +97,12 @@ class grpc_fake_channel_security_connector final
106
97
  if (c != 0) return c;
107
98
  c = strcmp(target_, other->target_);
108
99
  if (c != 0) return c;
109
- if (expected_targets_ == nullptr || other->expected_targets_ == nullptr) {
110
- c = grpc_core::QsortCompare(expected_targets_, other->expected_targets_);
111
- } else {
112
- c = strcmp(expected_targets_, other->expected_targets_);
113
- }
100
+ c = grpc_core::QsortCompare(expected_targets_, other->expected_targets_);
114
101
  if (c != 0) return c;
115
102
  return grpc_core::QsortCompare(is_lb_channel_, other->is_lb_channel_);
116
103
  }
117
104
 
118
- void add_handshakers(const grpc_channel_args* args,
105
+ void add_handshakers(const grpc_core::ChannelArgs& args,
119
106
  grpc_pollset_set* /*interested_parties*/,
120
107
  grpc_core::HandshakeManager* handshake_mgr) override {
121
108
  handshake_mgr->Add(grpc_core::SecurityHandshakerCreate(
@@ -131,11 +118,12 @@ class grpc_fake_channel_security_connector final
131
118
  grpc_core::SplitHostPort(host, &authority_hostname,
132
119
  &authority_ignored_port);
133
120
  grpc_core::SplitHostPort(target_, &target_hostname, &target_ignored_port);
134
- if (target_name_override_ != nullptr) {
121
+ if (target_name_override_.has_value()) {
135
122
  absl::string_view fake_security_target_name_override_hostname;
136
123
  absl::string_view fake_security_target_name_override_ignored_port;
137
124
  grpc_core::SplitHostPort(
138
- target_name_override_, &fake_security_target_name_override_hostname,
125
+ target_name_override_->c_str(),
126
+ &fake_security_target_name_override_hostname,
139
127
  &fake_security_target_name_override_ignored_port);
140
128
  if (authority_hostname != fake_security_target_name_override_hostname) {
141
129
  gpr_log(GPR_ERROR,
@@ -153,9 +141,7 @@ class grpc_fake_channel_security_connector final
153
141
  }
154
142
 
155
143
  char* target() const { return target_; }
156
- char* expected_targets() const { return expected_targets_; }
157
144
  bool is_lb_channel() const { return is_lb_channel_; }
158
- char* target_name_override() const { return target_name_override_; }
159
145
 
160
146
  private:
161
147
  bool fake_check_target(const char* target, const char* set_str) const {
@@ -175,15 +161,15 @@ class grpc_fake_channel_security_connector final
175
161
  }
176
162
 
177
163
  void fake_secure_name_check() const {
178
- if (expected_targets_ == nullptr) return;
164
+ if (!expected_targets_.has_value()) return;
179
165
  char** lbs_and_backends = nullptr;
180
166
  size_t lbs_and_backends_size = 0;
181
167
  bool success = false;
182
- gpr_string_split(expected_targets_, ";", &lbs_and_backends,
168
+ gpr_string_split(expected_targets_->c_str(), ";", &lbs_and_backends,
183
169
  &lbs_and_backends_size);
184
170
  if (lbs_and_backends_size > 2 || lbs_and_backends_size == 0) {
185
171
  gpr_log(GPR_ERROR, "Invalid expected targets arg value: '%s'",
186
- expected_targets_);
172
+ expected_targets_->c_str());
187
173
  goto done;
188
174
  }
189
175
  if (is_lb_channel_) {
@@ -191,7 +177,7 @@ class grpc_fake_channel_security_connector final
191
177
  gpr_log(GPR_ERROR,
192
178
  "Invalid expected targets arg value: '%s'. Expectations for LB "
193
179
  "channels must be of the form 'be1,be2,be3,...;lb1,lb2,...",
194
- expected_targets_);
180
+ expected_targets_->c_str());
195
181
  goto done;
196
182
  }
197
183
  if (!fake_check_target(target_, lbs_and_backends[1])) {
@@ -217,9 +203,9 @@ class grpc_fake_channel_security_connector final
217
203
  }
218
204
 
219
205
  char* target_;
220
- char* expected_targets_;
206
+ absl::optional<std::string> expected_targets_;
221
207
  bool is_lb_channel_;
222
- char* target_name_override_;
208
+ absl::optional<std::string> target_name_override_;
223
209
  };
224
210
 
225
211
  void fake_check_peer(grpc_security_connector* /*sc*/, tsi_peer peer,
@@ -276,6 +262,7 @@ end:
276
262
 
277
263
  void grpc_fake_channel_security_connector::check_peer(
278
264
  tsi_peer peer, grpc_endpoint* /*ep*/,
265
+ const grpc_core::ChannelArgs& /*args*/,
279
266
  grpc_core::RefCountedPtr<grpc_auth_context>* auth_context,
280
267
  grpc_closure* on_peer_checked) {
281
268
  fake_check_peer(this, peer, auth_context, on_peer_checked);
@@ -292,6 +279,7 @@ class grpc_fake_server_security_connector
292
279
  ~grpc_fake_server_security_connector() override = default;
293
280
 
294
281
  void check_peer(tsi_peer peer, grpc_endpoint* /*ep*/,
282
+ const grpc_core::ChannelArgs& /*args*/,
295
283
  grpc_core::RefCountedPtr<grpc_auth_context>* auth_context,
296
284
  grpc_closure* on_peer_checked) override {
297
285
  fake_check_peer(this, peer, auth_context, on_peer_checked);
@@ -302,7 +290,7 @@ class grpc_fake_server_security_connector
302
290
  GRPC_ERROR_UNREF(error);
303
291
  }
304
292
 
305
- void add_handshakers(const grpc_channel_args* args,
293
+ void add_handshakers(const grpc_core::ChannelArgs& args,
306
294
  grpc_pollset_set* /*interested_parties*/,
307
295
  grpc_core::HandshakeManager* handshake_mgr) override {
308
296
  handshake_mgr->Add(grpc_core::SecurityHandshakerCreate(
@@ -320,7 +308,7 @@ grpc_core::RefCountedPtr<grpc_channel_security_connector>
320
308
  grpc_fake_channel_security_connector_create(
321
309
  grpc_core::RefCountedPtr<grpc_channel_credentials> channel_creds,
322
310
  grpc_core::RefCountedPtr<grpc_call_credentials> request_metadata_creds,
323
- const char* target, const grpc_channel_args* args) {
311
+ const char* target, const grpc_core::ChannelArgs& args) {
324
312
  return grpc_core::MakeRefCounted<grpc_fake_channel_security_connector>(
325
313
  std::move(channel_creds), std::move(request_metadata_creds), target,
326
314
  args);
@@ -22,8 +22,8 @@
22
22
 
23
23
  #include <grpc/grpc.h>
24
24
  #include <grpc/grpc_security.h>
25
- #include <grpc/impl/codegen/grpc_types.h>
26
25
 
26
+ #include "src/core/lib/channel/channel_args.h"
27
27
  #include "src/core/lib/gprpp/ref_counted_ptr.h"
28
28
  #include "src/core/lib/security/security_connector/security_connector.h"
29
29
 
@@ -32,7 +32,7 @@ grpc_core::RefCountedPtr<grpc_channel_security_connector>
32
32
  grpc_fake_channel_security_connector_create(
33
33
  grpc_core::RefCountedPtr<grpc_channel_credentials> channel_creds,
34
34
  grpc_core::RefCountedPtr<grpc_call_credentials> request_metadata_creds,
35
- const char* target, const grpc_channel_args* args);
35
+ const char* target, const grpc_core::ChannelArgs& args);
36
36
 
37
37
  /* Creates a fake connector that emulates real server security. */
38
38
  grpc_core::RefCountedPtr<grpc_server_security_connector>
@@ -25,10 +25,10 @@
25
25
  #include <grpc/grpc_security_constants.h>
26
26
  #include <grpc/support/log.h>
27
27
 
28
+ #include "src/core/lib/channel/channel_args.h"
28
29
  #include "src/core/lib/gprpp/debug_location.h"
29
30
  #include "src/core/lib/gprpp/ref_counted_ptr.h"
30
31
  #include "src/core/lib/iomgr/exec_ctx.h"
31
- #include "src/core/lib/promise/poll.h"
32
32
  #include "src/core/lib/promise/promise.h"
33
33
  #include "src/core/lib/security/context/security_context.h"
34
34
  #include "src/core/lib/security/transport/security_handshaker.h"
@@ -67,7 +67,7 @@ ArenaPromise<absl::Status> InsecureChannelSecurityConnector::CheckCallHost(
67
67
  // security handshaker so that check_peer is invoked and an auth_context is
68
68
  // created with the security level of TSI_SECURITY_NONE.
69
69
  void InsecureChannelSecurityConnector::add_handshakers(
70
- const grpc_channel_args* args, grpc_pollset_set* /* interested_parties */,
70
+ const ChannelArgs& args, grpc_pollset_set* /* interested_parties */,
71
71
  HandshakeManager* handshake_manager) {
72
72
  tsi_handshaker* handshaker = nullptr;
73
73
  // Re-use local_tsi_handshaker_create as a minimalist handshaker.
@@ -76,7 +76,7 @@ void InsecureChannelSecurityConnector::add_handshakers(
76
76
  }
77
77
 
78
78
  void InsecureChannelSecurityConnector::check_peer(
79
- tsi_peer peer, grpc_endpoint* /*ep*/,
79
+ tsi_peer peer, grpc_endpoint* /*ep*/, const ChannelArgs& /*args*/,
80
80
  RefCountedPtr<grpc_auth_context>* auth_context,
81
81
  grpc_closure* on_peer_checked) {
82
82
  *auth_context = MakeAuthContext();
@@ -94,7 +94,7 @@ int InsecureChannelSecurityConnector::cmp(
94
94
  // security handshaker so that check_peer is invoked and an auth_context is
95
95
  // created with the security level of TSI_SECURITY_NONE.
96
96
  void InsecureServerSecurityConnector::add_handshakers(
97
- const grpc_channel_args* args, grpc_pollset_set* /* interested_parties */,
97
+ const ChannelArgs& args, grpc_pollset_set* /* interested_parties */,
98
98
  HandshakeManager* handshake_manager) {
99
99
  tsi_handshaker* handshaker = nullptr;
100
100
  // Re-use local_tsi_handshaker_create as a minimalist handshaker.
@@ -103,7 +103,7 @@ void InsecureServerSecurityConnector::add_handshakers(
103
103
  }
104
104
 
105
105
  void InsecureServerSecurityConnector::check_peer(
106
- tsi_peer peer, grpc_endpoint* /*ep*/,
106
+ tsi_peer peer, grpc_endpoint* /*ep*/, const ChannelArgs& /*args*/,
107
107
  RefCountedPtr<grpc_auth_context>* auth_context,
108
108
  grpc_closure* on_peer_checked) {
109
109
  *auth_context = MakeAuthContext();
@@ -18,6 +18,7 @@
18
18
 
19
19
  #ifndef GRPC_CORE_LIB_SECURITY_SECURITY_CONNECTOR_INSECURE_INSECURE_SECURITY_CONNECTOR_H
20
20
  #define GRPC_CORE_LIB_SECURITY_SECURITY_CONNECTOR_INSECURE_INSECURE_SECURITY_CONNECTOR_H
21
+
21
22
  #include <grpc/support/port_platform.h>
22
23
 
23
24
  #include <utility>
@@ -27,8 +28,8 @@
27
28
 
28
29
  #include <grpc/grpc.h>
29
30
  #include <grpc/grpc_security.h>
30
- #include <grpc/impl/codegen/grpc_types.h>
31
31
 
32
+ #include "src/core/lib/channel/channel_args.h"
32
33
  #include "src/core/lib/gprpp/ref_counted_ptr.h"
33
34
  #include "src/core/lib/iomgr/closure.h"
34
35
  #include "src/core/lib/iomgr/endpoint.h"
@@ -62,11 +63,11 @@ class InsecureChannelSecurityConnector
62
63
  ArenaPromise<absl::Status> CheckCallHost(
63
64
  absl::string_view host, grpc_auth_context* auth_context) override;
64
65
 
65
- void add_handshakers(const grpc_channel_args* args,
66
+ void add_handshakers(const ChannelArgs& args,
66
67
  grpc_pollset_set* /* interested_parties */,
67
68
  HandshakeManager* handshake_manager) override;
68
69
 
69
- void check_peer(tsi_peer peer, grpc_endpoint* ep,
70
+ void check_peer(tsi_peer peer, grpc_endpoint* ep, const ChannelArgs& /*args*/,
70
71
  RefCountedPtr<grpc_auth_context>* auth_context,
71
72
  grpc_closure* on_peer_checked) override;
72
73
 
@@ -85,11 +86,11 @@ class InsecureServerSecurityConnector : public grpc_server_security_connector {
85
86
  : grpc_server_security_connector("" /* url_scheme */,
86
87
  std::move(server_creds)) {}
87
88
 
88
- void add_handshakers(const grpc_channel_args* args,
89
+ void add_handshakers(const ChannelArgs& args,
89
90
  grpc_pollset_set* /* interested_parties */,
90
91
  HandshakeManager* handshake_manager) override;
91
92
 
92
- void check_peer(tsi_peer peer, grpc_endpoint* ep,
93
+ void check_peer(tsi_peer peer, grpc_endpoint* ep, const ChannelArgs& /*args*/,
93
94
  RefCountedPtr<grpc_auth_context>* auth_context,
94
95
  grpc_closure* on_peer_checked) override;
95
96
 
@@ -27,7 +27,9 @@
27
27
 
28
28
  #include "absl/status/status.h"
29
29
  #include "absl/status/statusor.h"
30
+ #include "absl/strings/match.h"
30
31
  #include "absl/strings/string_view.h"
32
+ #include "absl/types/optional.h"
31
33
 
32
34
  #include <grpc/grpc.h>
33
35
  #include <grpc/grpc_security_constants.h>
@@ -51,7 +53,6 @@
51
53
  #include "src/core/lib/iomgr/socket_utils.h"
52
54
  #include "src/core/lib/iomgr/unix_sockets_posix.h"
53
55
  #include "src/core/lib/promise/arena_promise.h"
54
- #include "src/core/lib/promise/poll.h"
55
56
  #include "src/core/lib/promise/promise.h"
56
57
  #include "src/core/lib/security/context/security_context.h"
57
58
  #include "src/core/lib/security/credentials/credentials.h"
@@ -178,7 +179,8 @@ class grpc_local_channel_security_connector final
178
179
  ~grpc_local_channel_security_connector() override { gpr_free(target_name_); }
179
180
 
180
181
  void add_handshakers(
181
- const grpc_channel_args* args, grpc_pollset_set* /*interested_parties*/,
182
+ const grpc_core::ChannelArgs& args,
183
+ grpc_pollset_set* /*interested_parties*/,
182
184
  grpc_core::HandshakeManager* handshake_manager) override {
183
185
  tsi_handshaker* handshaker = nullptr;
184
186
  GPR_ASSERT(tsi_local_handshaker_create(&handshaker) == TSI_OK);
@@ -196,6 +198,7 @@ class grpc_local_channel_security_connector final
196
198
  }
197
199
 
198
200
  void check_peer(tsi_peer peer, grpc_endpoint* ep,
201
+ const grpc_core::ChannelArgs& /*args*/,
199
202
  grpc_core::RefCountedPtr<grpc_auth_context>* auth_context,
200
203
  grpc_closure* on_peer_checked) override {
201
204
  grpc_local_credentials* creds =
@@ -233,7 +236,8 @@ class grpc_local_server_security_connector final
233
236
  ~grpc_local_server_security_connector() override = default;
234
237
 
235
238
  void add_handshakers(
236
- const grpc_channel_args* args, grpc_pollset_set* /*interested_parties*/,
239
+ const grpc_core::ChannelArgs& args,
240
+ grpc_pollset_set* /*interested_parties*/,
237
241
  grpc_core::HandshakeManager* handshake_manager) override {
238
242
  tsi_handshaker* handshaker = nullptr;
239
243
  GPR_ASSERT(tsi_local_handshaker_create(&handshaker) == TSI_OK);
@@ -242,6 +246,7 @@ class grpc_local_server_security_connector final
242
246
  }
243
247
 
244
248
  void check_peer(tsi_peer peer, grpc_endpoint* ep,
249
+ const grpc_core::ChannelArgs& /*args*/,
245
250
  grpc_core::RefCountedPtr<grpc_auth_context>* auth_context,
246
251
  grpc_closure* on_peer_checked) override {
247
252
  grpc_local_server_credentials* creds =
@@ -266,7 +271,7 @@ grpc_core::RefCountedPtr<grpc_channel_security_connector>
266
271
  grpc_local_channel_security_connector_create(
267
272
  grpc_core::RefCountedPtr<grpc_channel_credentials> channel_creds,
268
273
  grpc_core::RefCountedPtr<grpc_call_credentials> request_metadata_creds,
269
- const grpc_channel_args* args, const char* target_name) {
274
+ const grpc_core::ChannelArgs& args, const char* target_name) {
270
275
  if (channel_creds == nullptr || target_name == nullptr) {
271
276
  gpr_log(
272
277
  GPR_ERROR,
@@ -277,14 +282,11 @@ grpc_local_channel_security_connector_create(
277
282
  // will be done during check_peer procedure.
278
283
  grpc_local_credentials* creds =
279
284
  static_cast<grpc_local_credentials*>(channel_creds.get());
280
- const grpc_arg* server_uri_arg =
281
- grpc_channel_args_find(args, GRPC_ARG_SERVER_URI);
282
- const char* server_uri_str = grpc_channel_arg_get_string(server_uri_arg);
285
+ absl::string_view server_uri_str =
286
+ args.GetString(GRPC_ARG_SERVER_URI).value_or("");
283
287
  if (creds->connect_type() == UDS &&
284
- strncmp(GRPC_UDS_URI_PATTERN, server_uri_str,
285
- strlen(GRPC_UDS_URI_PATTERN)) != 0 &&
286
- strncmp(GRPC_ABSTRACT_UDS_URI_PATTERN, server_uri_str,
287
- strlen(GRPC_ABSTRACT_UDS_URI_PATTERN)) != 0) {
288
+ !absl::StartsWith(server_uri_str, GRPC_UDS_URI_PATTERN) &&
289
+ !absl::StartsWith(server_uri_str, GRPC_ABSTRACT_UDS_URI_PATTERN)) {
288
290
  gpr_log(GPR_ERROR,
289
291
  "Invalid UDS target name to "
290
292
  "grpc_local_channel_security_connector_create()");
@@ -22,8 +22,8 @@
22
22
 
23
23
  #include <grpc/grpc.h>
24
24
  #include <grpc/grpc_security.h>
25
- #include <grpc/impl/codegen/grpc_types.h>
26
25
 
26
+ #include "src/core/lib/channel/channel_args.h"
27
27
  #include "src/core/lib/gprpp/ref_counted_ptr.h"
28
28
  #include "src/core/lib/security/security_connector/security_connector.h"
29
29
 
@@ -44,7 +44,7 @@ grpc_core::RefCountedPtr<grpc_channel_security_connector>
44
44
  grpc_local_channel_security_connector_create(
45
45
  grpc_core::RefCountedPtr<grpc_channel_credentials> channel_creds,
46
46
  grpc_core::RefCountedPtr<grpc_call_credentials> request_metadata_creds,
47
- const grpc_channel_args* args, const char* target_name);
47
+ const grpc_core::ChannelArgs& args, const char* target_name);
48
48
 
49
49
  /**
50
50
  * This method creates a local server security connector.
@@ -30,6 +30,7 @@
30
30
  #include <grpc/grpc_security.h>
31
31
  #include <grpc/impl/codegen/grpc_types.h>
32
32
 
33
+ #include "src/core/lib/channel/channel_args.h"
33
34
  #include "src/core/lib/debug/trace.h"
34
35
  #include "src/core/lib/gprpp/ref_counted.h"
35
36
  #include "src/core/lib/gprpp/ref_counted_ptr.h"
@@ -73,9 +74,10 @@ class grpc_security_connector
73
74
  }
74
75
 
75
76
  // Checks the peer. Callee takes ownership of the peer object.
77
+ // The channel args represent the args after the handshaking is performed.
76
78
  // When done, sets *auth_context and invokes on_peer_checked.
77
79
  virtual void check_peer(
78
- tsi_peer peer, grpc_endpoint* ep,
80
+ tsi_peer peer, grpc_endpoint* ep, const grpc_core::ChannelArgs& args,
79
81
  grpc_core::RefCountedPtr<grpc_auth_context>* auth_context,
80
82
  grpc_closure* on_peer_checked) = 0;
81
83
 
@@ -128,7 +130,7 @@ class grpc_channel_security_connector : public grpc_security_connector {
128
130
  absl::string_view host, grpc_auth_context* auth_context) = 0;
129
131
 
130
132
  /// Registers handshakers with \a handshake_mgr.
131
- virtual void add_handshakers(const grpc_channel_args* args,
133
+ virtual void add_handshakers(const grpc_core::ChannelArgs& args,
132
134
  grpc_pollset_set* interested_parties,
133
135
  grpc_core::HandshakeManager* handshake_mgr) = 0;
134
136
 
@@ -174,7 +176,7 @@ class grpc_server_security_connector : public grpc_security_connector {
174
176
  absl::string_view url_scheme,
175
177
  grpc_core::RefCountedPtr<grpc_server_credentials> server_creds);
176
178
 
177
- virtual void add_handshakers(const grpc_channel_args* args,
179
+ virtual void add_handshakers(const grpc_core::ChannelArgs& args,
178
180
  grpc_pollset_set* interested_parties,
179
181
  grpc_core::HandshakeManager* handshake_mgr) = 0;
180
182
 
@@ -31,10 +31,10 @@
31
31
  #include "absl/strings/str_format.h"
32
32
  #include "absl/strings/string_view.h"
33
33
 
34
- #include <grpc/impl/codegen/grpc_types.h>
35
34
  #include <grpc/support/alloc.h>
36
35
  #include <grpc/support/log.h>
37
36
 
37
+ #include "src/core/lib/channel/channel_args.h"
38
38
  #include "src/core/lib/gprpp/debug_location.h"
39
39
  #include "src/core/lib/gprpp/host_port.h"
40
40
  #include "src/core/lib/gprpp/ref_counted_ptr.h"
@@ -45,7 +45,6 @@
45
45
  #include "src/core/lib/iomgr/exec_ctx.h"
46
46
  #include "src/core/lib/iomgr/iomgr_fwd.h"
47
47
  #include "src/core/lib/promise/arena_promise.h"
48
- #include "src/core/lib/promise/poll.h"
49
48
  #include "src/core/lib/promise/promise.h"
50
49
  #include "src/core/lib/security/context/security_context.h"
51
50
  #include "src/core/lib/security/credentials/credentials.h"
@@ -132,7 +131,7 @@ class grpc_ssl_channel_security_connector final
132
131
  return GRPC_SECURITY_OK;
133
132
  }
134
133
 
135
- void add_handshakers(const grpc_channel_args* args,
134
+ void add_handshakers(const grpc_core::ChannelArgs& args,
136
135
  grpc_pollset_set* /*interested_parties*/,
137
136
  grpc_core::HandshakeManager* handshake_mgr) override {
138
137
  // Instantiate TSI handshaker.
@@ -153,6 +152,7 @@ class grpc_ssl_channel_security_connector final
153
152
  }
154
153
 
155
154
  void check_peer(tsi_peer peer, grpc_endpoint* /*ep*/,
155
+ const grpc_core::ChannelArgs& /*args*/,
156
156
  grpc_core::RefCountedPtr<grpc_auth_context>* auth_context,
157
157
  grpc_closure* on_peer_checked) override {
158
158
  const char* target_name = overridden_target_name_.empty()
@@ -278,7 +278,7 @@ class grpc_ssl_server_security_connector
278
278
  return GRPC_SECURITY_OK;
279
279
  }
280
280
 
281
- void add_handshakers(const grpc_channel_args* args,
281
+ void add_handshakers(const grpc_core::ChannelArgs& args,
282
282
  grpc_pollset_set* /*interested_parties*/,
283
283
  grpc_core::HandshakeManager* handshake_mgr) override {
284
284
  // Instantiate TSI handshaker.
@@ -297,6 +297,7 @@ class grpc_ssl_server_security_connector
297
297
  }
298
298
 
299
299
  void check_peer(tsi_peer peer, grpc_endpoint* /*ep*/,
300
+ const grpc_core::ChannelArgs& /*args*/,
300
301
  grpc_core::RefCountedPtr<grpc_auth_context>* auth_context,
301
302
  grpc_closure* on_peer_checked) override {
302
303
  grpc_error_handle error = ssl_check_peer(nullptr, &peer, auth_context);
@@ -38,10 +38,10 @@
38
38
  #include <grpc/support/log.h>
39
39
  #include <grpc/support/string_util.h>
40
40
 
41
+ #include "src/core/lib/channel/channel_args.h"
41
42
  #include "src/core/lib/gprpp/debug_location.h"
42
43
  #include "src/core/lib/gprpp/host_port.h"
43
44
  #include "src/core/lib/iomgr/exec_ctx.h"
44
- #include "src/core/lib/promise/poll.h"
45
45
  #include "src/core/lib/promise/promise.h"
46
46
  #include "src/core/lib/security/context/security_context.h"
47
47
  #include "src/core/lib/security/credentials/credentials.h"
@@ -330,7 +330,7 @@ TlsChannelSecurityConnector::~TlsChannelSecurityConnector() {
330
330
  }
331
331
 
332
332
  void TlsChannelSecurityConnector::add_handshakers(
333
- const grpc_channel_args* args, grpc_pollset_set* /*interested_parties*/,
333
+ const ChannelArgs& args, grpc_pollset_set* /*interested_parties*/,
334
334
  HandshakeManager* handshake_mgr) {
335
335
  MutexLock lock(&mu_);
336
336
  tsi_handshaker* tsi_hs = nullptr;
@@ -352,7 +352,7 @@ void TlsChannelSecurityConnector::add_handshakers(
352
352
  }
353
353
 
354
354
  void TlsChannelSecurityConnector::check_peer(
355
- tsi_peer peer, grpc_endpoint* /*ep*/,
355
+ tsi_peer peer, grpc_endpoint* /*ep*/, const ChannelArgs& /*args*/,
356
356
  RefCountedPtr<grpc_auth_context>* auth_context,
357
357
  grpc_closure* on_peer_checked) {
358
358
  const char* target_name = overridden_target_name_.empty()
@@ -620,7 +620,7 @@ TlsServerSecurityConnector::~TlsServerSecurityConnector() {
620
620
  }
621
621
 
622
622
  void TlsServerSecurityConnector::add_handshakers(
623
- const grpc_channel_args* args, grpc_pollset_set* /*interested_parties*/,
623
+ const ChannelArgs& args, grpc_pollset_set* /*interested_parties*/,
624
624
  HandshakeManager* handshake_mgr) {
625
625
  MutexLock lock(&mu_);
626
626
  tsi_handshaker* tsi_hs = nullptr;
@@ -639,7 +639,7 @@ void TlsServerSecurityConnector::add_handshakers(
639
639
  }
640
640
 
641
641
  void TlsServerSecurityConnector::check_peer(
642
- tsi_peer peer, grpc_endpoint* /*ep*/,
642
+ tsi_peer peer, grpc_endpoint* /*ep*/, const ChannelArgs& /*args*/,
643
643
  RefCountedPtr<grpc_auth_context>* auth_context,
644
644
  grpc_closure* on_peer_checked) {
645
645
  grpc_error_handle error = grpc_ssl_check_alpn(&peer);
@@ -31,8 +31,8 @@
31
31
 
32
32
  #include <grpc/grpc.h>
33
33
  #include <grpc/grpc_security.h>
34
- #include <grpc/impl/codegen/grpc_types.h>
35
34
 
35
+ #include "src/core/lib/channel/channel_args.h"
36
36
  #include "src/core/lib/gprpp/ref_counted_ptr.h"
37
37
  #include "src/core/lib/gprpp/sync.h"
38
38
  #include "src/core/lib/iomgr/closure.h"
@@ -74,11 +74,11 @@ class TlsChannelSecurityConnector final
74
74
 
75
75
  ~TlsChannelSecurityConnector() override;
76
76
 
77
- void add_handshakers(const grpc_channel_args* args,
77
+ void add_handshakers(const ChannelArgs& args,
78
78
  grpc_pollset_set* interested_parties,
79
79
  HandshakeManager* handshake_mgr) override;
80
80
 
81
- void check_peer(tsi_peer peer, grpc_endpoint* ep,
81
+ void check_peer(tsi_peer peer, grpc_endpoint* ep, const ChannelArgs& /*args*/,
82
82
  RefCountedPtr<grpc_auth_context>* auth_context,
83
83
  grpc_closure* on_peer_checked) override;
84
84
 
@@ -187,11 +187,11 @@ class TlsServerSecurityConnector final : public grpc_server_security_connector {
187
187
  RefCountedPtr<grpc_tls_credentials_options> options);
188
188
  ~TlsServerSecurityConnector() override;
189
189
 
190
- void add_handshakers(const grpc_channel_args* args,
190
+ void add_handshakers(const ChannelArgs& args,
191
191
  grpc_pollset_set* interested_parties,
192
192
  HandshakeManager* handshake_mgr) override;
193
193
 
194
- void check_peer(tsi_peer peer, grpc_endpoint* ep,
194
+ void check_peer(tsi_peer peer, grpc_endpoint* ep, const ChannelArgs& /*args*/,
195
195
  RefCountedPtr<grpc_auth_context>* auth_context,
196
196
  grpc_closure* on_peer_checked) override;
197
197
 
@@ -45,7 +45,7 @@ class ClientAuthFilter final : public ChannelFilter {
45
45
  public:
46
46
  static const grpc_channel_filter kFilter;
47
47
 
48
- static absl::StatusOr<ClientAuthFilter> Create(ChannelArgs args,
48
+ static absl::StatusOr<ClientAuthFilter> Create(const ChannelArgs& args,
49
49
  ChannelFilter::Args);
50
50
 
51
51
  // Construct a promise for one call.
@@ -21,7 +21,7 @@
21
21
  #include <string.h>
22
22
 
23
23
  #include <functional>
24
- #include <type_traits>
24
+ #include <type_traits> // IWYU pragma: keep
25
25
  #include <utility>
26
26
 
27
27
  #include "absl/status/status.h"
@@ -41,7 +41,6 @@
41
41
  #include "src/core/lib/gprpp/ref_counted_ptr.h"
42
42
  #include "src/core/lib/promise/arena_promise.h"
43
43
  #include "src/core/lib/promise/context.h"
44
- #include "src/core/lib/promise/poll.h"
45
44
  #include "src/core/lib/promise/promise.h"
46
45
  #include "src/core/lib/promise/try_seq.h"
47
46
  #include "src/core/lib/resource_quota/arena.h"
@@ -192,8 +191,8 @@ ArenaPromise<ServerMetadataHandle> ClientAuthFilter::MakeCallPromise(
192
191
  next_promise_factory);
193
192
  }
194
193
 
195
- absl::StatusOr<ClientAuthFilter> ClientAuthFilter::Create(ChannelArgs args,
196
- ChannelFilter::Args) {
194
+ absl::StatusOr<ClientAuthFilter> ClientAuthFilter::Create(
195
+ const ChannelArgs& args, ChannelFilter::Args) {
197
196
  auto* sc = args.GetObject<grpc_security_connector>();
198
197
  if (sc == nullptr) {
199
198
  return absl::InvalidArgumentError(