grpc 1.44.0.pre2 → 1.45.0

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 (1072) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +291 -178
  3. data/include/grpc/event_engine/event_engine.h +2 -2
  4. data/include/grpc/grpc.h +40 -14
  5. data/include/grpc/grpc_posix.h +20 -19
  6. data/include/grpc/grpc_security.h +26 -50
  7. data/include/grpc/impl/codegen/grpc_types.h +11 -8
  8. data/include/grpc/impl/codegen/port_platform.h +2 -2
  9. data/include/grpc/impl/codegen/slice.h +4 -1
  10. data/include/grpc/slice.h +0 -11
  11. data/src/core/ext/filters/client_channel/backend_metric.cc +3 -3
  12. data/src/core/ext/filters/client_channel/backup_poller.cc +12 -8
  13. data/src/core/ext/filters/client_channel/channel_connectivity.cc +5 -5
  14. data/src/core/ext/filters/client_channel/client_channel.cc +79 -57
  15. data/src/core/ext/filters/client_channel/client_channel.h +30 -29
  16. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +5 -11
  17. data/src/core/ext/filters/client_channel/connector.h +1 -1
  18. data/src/core/ext/filters/client_channel/dynamic_filters.cc +1 -2
  19. data/src/core/ext/filters/client_channel/dynamic_filters.h +1 -1
  20. data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +2 -22
  21. data/src/core/ext/filters/client_channel/global_subchannel_pool.h +3 -15
  22. data/src/core/ext/filters/client_channel/health/health_check_client.cc +16 -17
  23. data/src/core/ext/filters/client_channel/health/health_check_client.h +1 -1
  24. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +9 -12
  25. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +1 -0
  26. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +68 -47
  27. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +15 -15
  28. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +4 -4
  29. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +7 -3
  30. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +22 -17
  31. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +119 -82
  32. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +2 -2
  33. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +9 -4
  34. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +51 -24
  35. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +2 -1
  36. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +19 -12
  37. data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +7 -13
  38. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +62 -49
  39. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +18 -19
  40. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +41 -43
  41. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +8 -7
  42. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +82 -57
  43. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +35 -34
  44. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +35 -36
  45. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +7 -10
  46. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +11 -5
  47. data/src/core/ext/filters/client_channel/retry_filter.cc +219 -125
  48. data/src/core/ext/filters/client_channel/retry_service_config.cc +15 -17
  49. data/src/core/ext/filters/client_channel/retry_service_config.h +17 -11
  50. data/src/core/ext/filters/client_channel/retry_throttle.cc +9 -23
  51. data/src/core/ext/filters/client_channel/retry_throttle.h +11 -5
  52. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +7 -6
  53. data/src/core/ext/filters/client_channel/subchannel.cc +35 -38
  54. data/src/core/ext/filters/client_channel/subchannel.h +5 -4
  55. data/src/core/ext/filters/client_idle/client_idle_filter.cc +96 -159
  56. data/src/core/ext/filters/client_idle/idle_filter_state.h +2 -2
  57. data/src/core/ext/filters/deadline/deadline_filter.cc +15 -14
  58. data/src/core/ext/filters/deadline/deadline_filter.h +3 -2
  59. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +17 -11
  60. data/src/core/ext/filters/fault_injection/service_config_parser.cc +5 -5
  61. data/src/core/ext/filters/fault_injection/service_config_parser.h +9 -3
  62. data/src/core/ext/filters/http/client/http_client_filter.cc +7 -3
  63. data/src/core/ext/filters/http/client_authority_filter.cc +28 -71
  64. data/src/core/ext/filters/http/client_authority_filter.h +23 -5
  65. data/src/core/ext/filters/http/http_filters_plugin.cc +11 -12
  66. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +1 -0
  67. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +10 -2
  68. data/src/core/ext/filters/http/server/http_server_filter.cc +1 -0
  69. data/src/core/ext/filters/max_age/max_age_filter.cc +46 -40
  70. data/src/core/ext/filters/message_size/message_size_filter.cc +26 -34
  71. data/src/core/ext/filters/message_size/message_size_filter.h +9 -2
  72. data/src/core/ext/filters/rbac/rbac_filter.cc +13 -8
  73. data/src/core/ext/filters/rbac/rbac_filter.h +2 -0
  74. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +6 -5
  75. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +6 -1
  76. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +1 -0
  77. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +234 -0
  78. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +149 -7
  79. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +110 -47
  80. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +8 -2
  81. data/src/core/ext/transport/chttp2/transport/flow_control.cc +2 -2
  82. data/src/core/ext/transport/chttp2/transport/flow_control.h +3 -3
  83. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +4 -4
  84. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +5 -0
  85. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +1 -2
  86. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +1 -1
  87. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +15 -51
  88. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +2 -2
  89. data/src/core/ext/transport/chttp2/transport/internal.h +6 -6
  90. data/src/core/ext/transport/chttp2/transport/parsing.cc +3 -3
  91. data/src/core/ext/transport/chttp2/transport/writing.cc +15 -12
  92. data/src/core/ext/transport/inproc/inproc_transport.cc +16 -12
  93. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +114 -0
  94. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +402 -0
  95. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +119 -0
  96. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +453 -0
  97. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +165 -163
  98. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +798 -575
  99. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +56 -0
  100. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +138 -0
  101. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +62 -0
  102. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +146 -0
  103. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +46 -0
  104. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +106 -0
  105. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +43 -0
  106. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +93 -0
  107. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c +43 -0
  108. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +88 -0
  109. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c +103 -0
  110. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +466 -0
  111. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +48 -0
  112. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +95 -0
  113. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +22 -20
  114. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +17 -16
  115. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +15 -13
  116. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +31 -23
  117. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +90 -88
  118. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +421 -317
  119. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +156 -152
  120. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +787 -571
  121. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +27 -25
  122. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +115 -79
  123. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +206 -204
  124. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +954 -662
  125. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +10 -8
  126. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +33 -23
  127. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +29 -27
  128. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +127 -79
  129. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +290 -0
  130. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +1122 -0
  131. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +49 -47
  132. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +221 -159
  133. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +10 -8
  134. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +33 -23
  135. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +154 -151
  136. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +691 -499
  137. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +39 -37
  138. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +178 -130
  139. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +9 -7
  140. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +25 -19
  141. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +18 -16
  142. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +74 -53
  143. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +58 -0
  144. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +138 -0
  145. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +100 -98
  146. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +449 -329
  147. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +77 -75
  148. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +365 -264
  149. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +11 -9
  150. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +36 -26
  151. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +140 -105
  152. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +675 -345
  153. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +8 -6
  154. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +25 -17
  155. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +15 -13
  156. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +59 -42
  157. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +13 -11
  158. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +39 -25
  159. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +14 -12
  160. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +45 -35
  161. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +10 -8
  162. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +34 -24
  163. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +31 -29
  164. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +113 -85
  165. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +47 -45
  166. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +210 -151
  167. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +48 -46
  168. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +210 -142
  169. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +9 -7
  170. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +28 -20
  171. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +58 -54
  172. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +282 -193
  173. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +64 -62
  174. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +286 -218
  175. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +15 -13
  176. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +62 -42
  177. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +12 -10
  178. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +54 -39
  179. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +53 -0
  180. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +120 -0
  181. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +55 -53
  182. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +244 -185
  183. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +57 -55
  184. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +260 -192
  185. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +70 -68
  186. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +235 -191
  187. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +30 -28
  188. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +142 -112
  189. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +435 -428
  190. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +2037 -1507
  191. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +25 -19
  192. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +107 -64
  193. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +216 -0
  194. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +870 -0
  195. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +44 -0
  196. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +82 -0
  197. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +49 -0
  198. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +95 -0
  199. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +15 -13
  200. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +55 -40
  201. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +52 -0
  202. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +119 -0
  203. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +62 -0
  204. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +203 -0
  205. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +47 -0
  206. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +89 -0
  207. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +69 -0
  208. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +184 -0
  209. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +32 -0
  210. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +42 -0
  211. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +71 -0
  212. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +192 -0
  213. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +54 -0
  214. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +126 -0
  215. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +8 -6
  216. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +29 -23
  217. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +26 -24
  218. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +125 -93
  219. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +33 -31
  220. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +149 -105
  221. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +16 -14
  222. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +63 -44
  223. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +15 -13
  224. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +53 -37
  225. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +175 -173
  226. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +803 -559
  227. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +3 -1
  228. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +2 -1
  229. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +75 -52
  230. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +368 -194
  231. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +24 -22
  232. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +95 -71
  233. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +60 -58
  234. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +266 -193
  235. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +62 -0
  236. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +146 -0
  237. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +6 -4
  238. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +22 -16
  239. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +64 -62
  240. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +297 -218
  241. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +18 -16
  242. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +73 -54
  243. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +46 -44
  244. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +197 -145
  245. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +48 -0
  246. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +101 -0
  247. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +19 -17
  248. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +91 -70
  249. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +74 -0
  250. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +202 -0
  251. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +16 -14
  252. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +64 -47
  253. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +10 -8
  254. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +34 -26
  255. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +10 -8
  256. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +25 -19
  257. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +9 -7
  258. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +25 -19
  259. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +21 -19
  260. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +85 -61
  261. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +19 -17
  262. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +65 -52
  263. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +14 -12
  264. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +56 -43
  265. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +21 -19
  266. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +74 -58
  267. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +30 -28
  268. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +163 -125
  269. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +34 -32
  270. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +157 -113
  271. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +66 -0
  272. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +183 -0
  273. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +3 -1
  274. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +2 -1
  275. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +42 -0
  276. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +136 -0
  277. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +13 -11
  278. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +51 -34
  279. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +19 -17
  280. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +80 -52
  281. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.c +26 -0
  282. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.h +41 -0
  283. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +10 -8
  284. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +31 -19
  285. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c +51 -0
  286. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +114 -0
  287. data/src/core/ext/upb-generated/google/api/annotations.upb.c +10 -8
  288. data/src/core/ext/upb-generated/google/api/annotations.upb.h +6 -5
  289. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +100 -98
  290. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +371 -281
  291. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +110 -108
  292. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +409 -298
  293. data/src/core/ext/upb-generated/google/api/http.upb.c +29 -27
  294. data/src/core/ext/upb-generated/google/api/http.upb.h +117 -89
  295. data/src/core/ext/upb-generated/google/api/httpbody.upb.c +46 -0
  296. data/src/core/ext/upb-generated/google/api/httpbody.upb.h +99 -0
  297. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +9 -7
  298. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +32 -22
  299. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +287 -234
  300. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +1088 -764
  301. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +9 -7
  302. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +28 -18
  303. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +6 -4
  304. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +22 -16
  305. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +30 -28
  306. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +80 -64
  307. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +9 -7
  308. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +28 -18
  309. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +40 -38
  310. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +213 -149
  311. data/src/core/ext/upb-generated/google/rpc/status.upb.c +11 -9
  312. data/src/core/ext/upb-generated/google/rpc/status.upb.h +36 -26
  313. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +84 -0
  314. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +276 -0
  315. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +20 -18
  316. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +60 -42
  317. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +95 -93
  318. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +396 -285
  319. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +15 -13
  320. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +58 -39
  321. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +12 -10
  322. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +50 -35
  323. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +55 -53
  324. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +255 -183
  325. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +22 -20
  326. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +76 -57
  327. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +46 -44
  328. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +102 -78
  329. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +16 -14
  330. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +32 -22
  331. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +9 -7
  332. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +6 -5
  333. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +16 -14
  334. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +32 -22
  335. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +15 -13
  336. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +31 -23
  337. data/src/core/ext/upb-generated/validate/validate.upb.c +320 -304
  338. data/src/core/ext/upb-generated/validate/validate.upb.h +1114 -741
  339. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +110 -0
  340. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +191 -0
  341. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +55 -0
  342. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +87 -0
  343. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c +38 -0
  344. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h +38 -0
  345. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +40 -38
  346. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +109 -78
  347. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +53 -0
  348. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +81 -0
  349. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +8 -6
  350. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +27 -19
  351. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +17 -15
  352. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +63 -46
  353. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +14 -12
  354. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +31 -25
  355. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +46 -0
  356. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +95 -0
  357. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +11 -9
  358. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +39 -27
  359. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +20 -18
  360. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +73 -54
  361. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +12 -10
  362. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +43 -29
  363. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +23 -21
  364. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +43 -31
  365. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +203 -0
  366. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +726 -0
  367. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +52 -0
  368. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +132 -0
  369. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +65 -0
  370. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +173 -0
  371. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +10 -8
  372. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +33 -23
  373. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.c +84 -0
  374. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.h +55 -0
  375. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.c +127 -0
  376. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.h +50 -0
  377. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +14 -12
  378. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +67 -67
  379. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.c +43 -0
  380. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.h +40 -0
  381. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +53 -0
  382. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.h +40 -0
  383. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.c +49 -0
  384. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.h +35 -0
  385. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.c +46 -0
  386. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.h +35 -0
  387. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.c +46 -0
  388. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.h +35 -0
  389. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.c +142 -0
  390. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.h +40 -0
  391. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.c +51 -0
  392. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.h +35 -0
  393. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +8 -6
  394. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h +1 -1
  395. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +8 -6
  396. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h +4 -4
  397. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +20 -17
  398. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +46 -46
  399. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +248 -240
  400. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +55 -55
  401. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +16 -13
  402. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +10 -10
  403. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +375 -371
  404. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +76 -76
  405. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +14 -11
  406. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h +4 -4
  407. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +16 -13
  408. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h +4 -4
  409. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.c +206 -0
  410. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.h +105 -0
  411. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +15 -13
  412. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +22 -22
  413. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +15 -12
  414. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h +4 -4
  415. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +85 -80
  416. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +73 -73
  417. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +18 -16
  418. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +16 -16
  419. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +14 -12
  420. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h +4 -4
  421. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +15 -12
  422. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +7 -7
  423. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.c +53 -0
  424. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.h +40 -0
  425. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +21 -18
  426. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h +43 -43
  427. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +23 -20
  428. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +25 -25
  429. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +14 -12
  430. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h +4 -4
  431. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +250 -221
  432. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +53 -43
  433. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +12 -9
  434. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +4 -4
  435. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +14 -11
  436. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h +7 -7
  437. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +14 -11
  438. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +4 -4
  439. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +18 -15
  440. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h +4 -4
  441. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +13 -11
  442. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h +4 -4
  443. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +18 -15
  444. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h +13 -13
  445. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +19 -16
  446. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +19 -19
  447. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +18 -15
  448. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h +16 -16
  449. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +14 -11
  450. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h +4 -4
  451. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +52 -45
  452. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +19 -19
  453. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +23 -20
  454. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h +22 -22
  455. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +19 -16
  456. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h +4 -4
  457. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +15 -12
  458. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h +7 -7
  459. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c +69 -0
  460. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.h +35 -0
  461. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +17 -14
  462. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +25 -25
  463. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +17 -14
  464. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +28 -28
  465. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +23 -21
  466. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +25 -25
  467. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +19 -16
  468. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +10 -10
  469. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +816 -801
  470. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +160 -160
  471. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +52 -37
  472. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h +10 -10
  473. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +188 -0
  474. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +85 -0
  475. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.c +54 -0
  476. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.h +35 -0
  477. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.c +57 -0
  478. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.h +35 -0
  479. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +15 -12
  480. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h +7 -7
  481. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.c +72 -0
  482. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.h +35 -0
  483. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.c +99 -0
  484. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.h +35 -0
  485. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.c +52 -0
  486. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.h +35 -0
  487. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.c +71 -0
  488. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.h +40 -0
  489. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +57 -0
  490. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.h +30 -0
  491. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.c +75 -0
  492. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.h +40 -0
  493. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c +77 -0
  494. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.h +35 -0
  495. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +15 -11
  496. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +4 -4
  497. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +17 -14
  498. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +16 -16
  499. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +18 -15
  500. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +10 -10
  501. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +14 -11
  502. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +7 -7
  503. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +17 -13
  504. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +4 -4
  505. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +135 -130
  506. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +58 -58
  507. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +15 -11
  508. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +1 -1
  509. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +169 -140
  510. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +24 -19
  511. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +19 -16
  512. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +10 -10
  513. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +21 -17
  514. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +19 -19
  515. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +58 -0
  516. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +40 -0
  517. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +14 -11
  518. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h +4 -4
  519. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +17 -14
  520. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +22 -22
  521. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +16 -13
  522. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h +7 -7
  523. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +20 -17
  524. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +16 -16
  525. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.c +46 -0
  526. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.h +35 -0
  527. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +13 -10
  528. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h +13 -13
  529. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.c +52 -0
  530. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.h +50 -0
  531. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +15 -12
  532. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h +7 -7
  533. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +15 -12
  534. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +4 -4
  535. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +15 -12
  536. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h +4 -4
  537. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +15 -12
  538. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h +4 -4
  539. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +15 -12
  540. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h +10 -10
  541. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +15 -12
  542. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h +7 -7
  543. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +14 -12
  544. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +7 -7
  545. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +16 -13
  546. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h +10 -10
  547. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +13 -10
  548. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h +22 -22
  549. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +14 -11
  550. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h +16 -16
  551. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.c +53 -0
  552. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.h +45 -0
  553. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +10 -8
  554. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h +1 -1
  555. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.c +94 -0
  556. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.h +35 -0
  557. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +12 -10
  558. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h +7 -7
  559. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +11 -8
  560. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h +10 -10
  561. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.c +38 -0
  562. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.h +30 -0
  563. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +11 -9
  564. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h +4 -4
  565. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.c +57 -0
  566. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.h +35 -0
  567. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +5 -5
  568. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h +1 -1
  569. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.c +6 -6
  570. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.h +40 -40
  571. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.c +6 -6
  572. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.h +43 -43
  573. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +3 -3
  574. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h +10 -10
  575. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.c +39 -0
  576. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.h +35 -0
  577. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +3 -3
  578. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h +4 -4
  579. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +3 -3
  580. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h +82 -82
  581. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +3 -3
  582. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h +4 -4
  583. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +3 -3
  584. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h +4 -4
  585. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +3 -3
  586. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h +13 -13
  587. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +3 -3
  588. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h +4 -4
  589. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +3 -3
  590. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h +28 -28
  591. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +4 -4
  592. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h +4 -4
  593. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.c +67 -0
  594. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.h +50 -0
  595. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +4 -4
  596. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h +10 -10
  597. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +5 -5
  598. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h +4 -4
  599. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +4 -4
  600. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h +1 -1
  601. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +4 -4
  602. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h +4 -4
  603. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +4 -4
  604. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h +4 -4
  605. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +6 -6
  606. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h +70 -70
  607. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.c +63 -0
  608. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.h +45 -0
  609. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.c +47 -0
  610. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.h +35 -0
  611. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.c +35 -0
  612. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.h +30 -0
  613. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +4 -4
  614. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +13 -13
  615. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.c +40 -0
  616. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.h +35 -0
  617. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +5 -5
  618. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +4 -4
  619. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +7 -7
  620. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +7 -7
  621. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +4 -4
  622. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +7 -7
  623. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.c +41 -0
  624. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.h +35 -0
  625. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +6 -6
  626. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +4 -4
  627. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +6 -6
  628. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +7 -7
  629. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +6 -6
  630. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +4 -4
  631. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c +126 -0
  632. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.h +80 -0
  633. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.c +40 -0
  634. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.h +40 -0
  635. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.c +52 -0
  636. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.h +40 -0
  637. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +5 -5
  638. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +4 -4
  639. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +4 -4
  640. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +2 -2
  641. data/src/core/ext/xds/upb_utils.h +8 -6
  642. data/src/core/ext/xds/xds_api.cc +52 -35
  643. data/src/core/ext/xds/xds_api.h +4 -4
  644. data/src/core/ext/xds/xds_bootstrap.cc +35 -3
  645. data/src/core/ext/xds/xds_bootstrap.h +11 -0
  646. data/src/core/ext/xds/xds_channel_stack_modifier.cc +14 -17
  647. data/src/core/ext/xds/xds_channel_stack_modifier.h +4 -3
  648. data/src/core/ext/xds/xds_client.cc +141 -106
  649. data/src/core/ext/xds/xds_client.h +23 -15
  650. data/src/core/ext/xds/xds_client_stats.cc +15 -15
  651. data/src/core/ext/xds/xds_client_stats.h +5 -4
  652. data/src/core/ext/xds/xds_cluster.cc +18 -16
  653. data/src/core/ext/xds/xds_cluster.h +3 -6
  654. data/src/core/ext/xds/xds_common_types.cc +1 -1
  655. data/src/core/ext/xds/xds_common_types.h +5 -20
  656. data/src/core/ext/xds/xds_endpoint.cc +2 -2
  657. data/src/core/ext/xds/xds_endpoint.h +1 -1
  658. data/src/core/ext/xds/xds_http_fault_filter.cc +6 -6
  659. data/src/core/ext/xds/xds_http_fault_filter.h +3 -3
  660. data/src/core/ext/xds/xds_http_filters.cc +6 -5
  661. data/src/core/ext/xds/xds_http_filters.h +4 -4
  662. data/src/core/ext/xds/xds_http_rbac_filter.cc +5 -5
  663. data/src/core/ext/xds/xds_http_rbac_filter.h +3 -3
  664. data/src/core/ext/xds/xds_listener.cc +14 -11
  665. data/src/core/ext/xds/xds_listener.h +1 -1
  666. data/src/core/ext/xds/xds_resource_type.h +1 -1
  667. data/src/core/ext/xds/xds_route_config.cc +13 -21
  668. data/src/core/ext/xds/xds_route_config.h +1 -1
  669. data/src/core/ext/xds/xds_routing.cc +1 -1
  670. data/src/core/ext/xds/xds_server_config_fetcher.cc +3 -2
  671. data/src/core/lib/backoff/backoff.cc +7 -10
  672. data/src/core/lib/backoff/backoff.h +8 -8
  673. data/src/core/lib/channel/call_finalization.h +86 -0
  674. data/src/core/lib/channel/channel_args.cc +60 -0
  675. data/src/core/lib/channel/channel_args.h +2 -0
  676. data/src/core/lib/channel/channel_args_preconditioning.cc +1 -0
  677. data/src/core/lib/channel/channel_stack.cc +2 -3
  678. data/src/core/lib/channel/channel_stack.h +41 -5
  679. data/src/core/lib/channel/channel_stack_builder.cc +66 -244
  680. data/src/core/lib/channel/channel_stack_builder.h +95 -144
  681. data/src/core/lib/channel/channel_trace.cc +3 -6
  682. data/src/core/lib/channel/connected_channel.cc +9 -4
  683. data/src/core/lib/channel/connected_channel.h +1 -1
  684. data/src/core/lib/channel/context.h +11 -0
  685. data/src/core/lib/channel/handshaker.cc +1 -1
  686. data/src/core/lib/channel/handshaker.h +1 -1
  687. data/src/core/lib/channel/promise_based_filter.cc +669 -0
  688. data/src/core/lib/channel/promise_based_filter.h +423 -0
  689. data/src/core/lib/compression/compression.cc +1 -1
  690. data/src/core/lib/compression/compression_internal.cc +1 -1
  691. data/src/core/lib/config/core_configuration.cc +8 -2
  692. data/src/core/lib/config/core_configuration.h +39 -0
  693. data/src/core/lib/event_engine/default_event_engine_factory.cc +27 -0
  694. data/src/core/lib/event_engine/event_engine.cc +23 -8
  695. data/src/core/lib/event_engine/event_engine_factory.h +3 -0
  696. data/src/core/lib/event_engine/memory_allocator.cc +9 -13
  697. data/src/core/lib/event_engine/{event_engine_factory.cc → resolved_address.cc} +10 -20
  698. data/src/core/lib/gpr/sync_posix.cc +1 -0
  699. data/src/core/lib/gpr/time.cc +2 -1
  700. data/src/core/lib/gpr/useful.h +14 -0
  701. data/src/core/lib/gprpp/capture.h +76 -0
  702. data/src/core/lib/gprpp/debug_location.h +2 -0
  703. data/src/core/lib/gprpp/status_helper.cc +12 -12
  704. data/src/core/lib/gprpp/status_helper.h +4 -4
  705. data/src/core/lib/gprpp/time.cc +186 -0
  706. data/src/core/lib/gprpp/time.h +292 -0
  707. data/src/core/lib/http/format_request.cc +27 -23
  708. data/src/core/lib/http/format_request.h +7 -6
  709. data/src/core/lib/http/httpcli.cc +306 -229
  710. data/src/core/lib/http/httpcli.h +182 -77
  711. data/src/core/lib/http/httpcli_security_connector.cc +62 -73
  712. data/src/core/lib/http/httpcli_ssl_credentials.h +37 -0
  713. data/src/core/lib/http/parser.h +1 -1
  714. data/src/core/lib/iomgr/buffer_list.h +5 -5
  715. data/src/core/lib/iomgr/error.cc +13 -12
  716. data/src/core/lib/iomgr/error.h +0 -5
  717. data/src/core/lib/iomgr/ev_apple.cc +6 -5
  718. data/src/core/lib/iomgr/ev_epoll1_linux.cc +8 -7
  719. data/src/core/lib/iomgr/ev_epollex_linux.cc +12 -9
  720. data/src/core/lib/iomgr/ev_poll_posix.cc +7 -7
  721. data/src/core/lib/iomgr/ev_posix.cc +3 -3
  722. data/src/core/lib/iomgr/ev_posix.h +1 -1
  723. data/src/core/lib/iomgr/event_engine/pollset.cc +2 -3
  724. data/src/core/lib/iomgr/event_engine/resolver.cc +1 -1
  725. data/src/core/lib/iomgr/event_engine/tcp.cc +4 -3
  726. data/src/core/lib/iomgr/event_engine/timer.cc +3 -4
  727. data/src/core/lib/iomgr/exec_ctx.cc +3 -88
  728. data/src/core/lib/iomgr/exec_ctx.h +7 -23
  729. data/src/core/lib/iomgr/iocp_windows.cc +9 -9
  730. data/src/core/lib/iomgr/iocp_windows.h +1 -1
  731. data/src/core/lib/iomgr/polling_entity.h +6 -0
  732. data/src/core/lib/iomgr/pollset.cc +1 -1
  733. data/src/core/lib/iomgr/pollset.h +4 -4
  734. data/src/core/lib/iomgr/pollset_windows.cc +2 -2
  735. data/src/core/lib/iomgr/port.h +4 -7
  736. data/src/core/lib/iomgr/resolve_address_posix.cc +1 -1
  737. data/src/core/lib/iomgr/sockaddr_utils_posix.cc +62 -0
  738. data/src/core/lib/iomgr/socket_utils_common_posix.cc +0 -17
  739. data/src/core/lib/iomgr/tcp_client.cc +1 -1
  740. data/src/core/lib/iomgr/tcp_client.h +3 -2
  741. data/src/core/lib/iomgr/tcp_client_cfstream.cc +1 -1
  742. data/src/core/lib/iomgr/tcp_client_posix.cc +2 -2
  743. data/src/core/lib/iomgr/tcp_client_posix.h +1 -1
  744. data/src/core/lib/iomgr/tcp_client_windows.cc +1 -1
  745. data/src/core/lib/iomgr/tcp_posix.cc +2 -1
  746. data/src/core/lib/iomgr/tcp_windows.cc +17 -10
  747. data/src/core/lib/iomgr/timer.cc +2 -2
  748. data/src/core/lib/iomgr/timer.h +11 -6
  749. data/src/core/lib/iomgr/timer_generic.cc +96 -77
  750. data/src/core/lib/iomgr/timer_manager.cc +15 -14
  751. data/src/core/lib/iomgr/work_serializer.cc +15 -10
  752. data/src/core/lib/json/json_util.cc +4 -4
  753. data/src/core/lib/json/json_util.h +2 -2
  754. data/src/core/lib/promise/activity.cc +14 -8
  755. data/src/core/lib/promise/activity.h +143 -131
  756. data/src/core/lib/promise/arena_promise.h +188 -0
  757. data/src/core/lib/promise/detail/basic_seq.h +92 -3
  758. data/src/core/lib/promise/detail/promise_factory.h +1 -1
  759. data/src/core/lib/promise/loop.h +34 -8
  760. data/src/core/lib/promise/poll.h +6 -0
  761. data/src/core/lib/promise/promise.h +95 -0
  762. data/src/core/lib/promise/seq.h +19 -1
  763. data/src/core/lib/promise/sleep.cc +74 -0
  764. data/src/core/lib/promise/sleep.h +66 -0
  765. data/src/core/lib/promise/try_seq.h +157 -0
  766. data/src/core/lib/resolver/resolver_factory.h +22 -26
  767. data/src/core/lib/resolver/resolver_registry.cc +98 -137
  768. data/src/core/lib/resolver/resolver_registry.h +59 -33
  769. data/src/core/lib/resource_quota/memory_quota.cc +118 -94
  770. data/src/core/lib/resource_quota/memory_quota.h +100 -64
  771. data/src/core/lib/security/authorization/evaluate_args.cc +1 -11
  772. data/src/core/lib/security/authorization/evaluate_args.h +0 -1
  773. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +109 -0
  774. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +51 -0
  775. data/src/core/lib/security/authorization/matchers.cc +5 -5
  776. data/src/core/lib/security/authorization/matchers.h +2 -2
  777. data/src/core/lib/security/authorization/rbac_policy.cc +3 -3
  778. data/src/core/lib/security/authorization/rbac_policy.h +3 -2
  779. data/src/core/lib/security/credentials/alts/alts_credentials.h +6 -0
  780. data/src/core/lib/security/credentials/call_creds_util.cc +87 -0
  781. data/src/core/lib/security/credentials/call_creds_util.h +42 -0
  782. data/src/core/lib/security/credentials/channel_creds_registry.h +97 -0
  783. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +70 -0
  784. data/src/core/lib/security/credentials/composite/composite_credentials.cc +17 -81
  785. data/src/core/lib/security/credentials/composite/composite_credentials.h +21 -10
  786. data/src/core/lib/security/credentials/credentials.cc +2 -3
  787. data/src/core/lib/security/credentials/credentials.h +64 -43
  788. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +46 -27
  789. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +1 -0
  790. data/src/core/lib/security/credentials/external/external_account_credentials.cc +49 -29
  791. data/src/core/lib/security/credentials/external/external_account_credentials.h +4 -3
  792. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +0 -1
  793. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +33 -12
  794. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +1 -0
  795. data/src/core/lib/security/credentials/fake/fake_credentials.cc +18 -19
  796. data/src/core/lib/security/credentials/fake/fake_credentials.h +11 -14
  797. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +15 -9
  798. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +6 -0
  799. data/src/core/lib/security/credentials/iam/iam_credentials.cc +12 -17
  800. data/src/core/lib/security/credentials/iam/iam_credentials.h +10 -9
  801. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +13 -7
  802. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +18 -22
  803. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +9 -9
  804. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +50 -30
  805. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +1 -1
  806. data/src/core/lib/security/credentials/local/local_credentials.h +6 -0
  807. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +117 -125
  808. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +49 -28
  809. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +95 -152
  810. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +54 -28
  811. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +6 -3
  812. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +19 -0
  813. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +10 -1
  814. data/src/core/lib/security/credentials/tls/tls_credentials.h +6 -0
  815. data/src/core/lib/security/credentials/xds/xds_credentials.h +5 -0
  816. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +8 -14
  817. data/src/core/lib/security/security_connector/alts/alts_security_connector.h +1 -1
  818. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +4 -12
  819. data/src/core/lib/security/security_connector/fake/fake_security_connector.h +0 -2
  820. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +6 -16
  821. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +4 -9
  822. data/src/core/lib/security/security_connector/local/local_security_connector.cc +8 -16
  823. data/src/core/lib/security/security_connector/security_connector.cc +3 -11
  824. data/src/core/lib/security/security_connector/security_connector.h +11 -20
  825. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +6 -11
  826. data/src/core/lib/security/security_connector/ssl_utils.cc +15 -7
  827. data/src/core/lib/security/security_connector/ssl_utils.h +8 -3
  828. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +23 -14
  829. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +6 -6
  830. data/src/core/lib/security/transport/auth_filters.h +30 -4
  831. data/src/core/lib/security/transport/client_auth_filter.cc +73 -364
  832. data/src/core/lib/security/transport/security_handshaker.cc +14 -6
  833. data/src/core/lib/security/transport/server_auth_filter.cc +1 -0
  834. data/src/core/lib/service_config/service_config.h +6 -51
  835. data/src/core/lib/service_config/{service_config.cc → service_config_impl.cc} +19 -16
  836. data/src/core/lib/service_config/service_config_impl.h +125 -0
  837. data/src/core/lib/service_config/service_config_parser.cc +30 -26
  838. data/src/core/lib/service_config/service_config_parser.h +36 -27
  839. data/src/core/lib/slice/slice.cc +76 -181
  840. data/src/core/lib/slice/slice.h +28 -15
  841. data/src/core/lib/slice/slice_internal.h +12 -30
  842. data/src/core/lib/slice/slice_refcount.cc +18 -0
  843. data/src/core/lib/slice/slice_refcount.h +2 -72
  844. data/src/core/lib/slice/slice_refcount_base.h +16 -120
  845. data/src/core/lib/surface/builtins.cc +6 -6
  846. data/src/core/lib/surface/call.cc +14 -7
  847. data/src/core/lib/surface/call.h +1 -1
  848. data/src/core/lib/surface/channel.cc +26 -31
  849. data/src/core/lib/surface/channel.h +6 -7
  850. data/src/core/lib/surface/channel_init.cc +1 -1
  851. data/src/core/lib/surface/channel_init.h +4 -4
  852. data/src/core/lib/surface/completion_queue.cc +10 -9
  853. data/src/core/lib/surface/init.cc +78 -7
  854. data/src/core/lib/surface/init.h +0 -2
  855. data/src/core/lib/surface/lame_client.cc +2 -1
  856. data/src/core/lib/surface/server.cc +11 -22
  857. data/src/core/lib/surface/server.h +3 -3
  858. data/src/core/lib/surface/version.cc +2 -2
  859. data/src/core/lib/transport/bdp_estimator.cc +9 -10
  860. data/src/core/lib/transport/bdp_estimator.h +2 -2
  861. data/src/core/lib/transport/error_utils.cc +5 -3
  862. data/src/core/lib/transport/error_utils.h +2 -15
  863. data/src/core/lib/transport/metadata_batch.h +275 -97
  864. data/src/core/lib/transport/parsed_metadata.h +33 -17
  865. data/src/core/lib/transport/status_conversion.cc +2 -2
  866. data/src/core/lib/transport/status_conversion.h +1 -1
  867. data/src/core/lib/transport/timeout_encoding.cc +32 -29
  868. data/src/core/lib/transport/timeout_encoding.h +3 -3
  869. data/src/core/lib/transport/transport.cc +3 -1
  870. data/src/core/lib/transport/transport.h +87 -2
  871. data/src/core/lib/transport/transport_impl.h +13 -0
  872. data/src/core/lib/transport/transport_op_string.cc +5 -14
  873. data/src/core/lib/uri/uri_parser.cc +4 -0
  874. data/src/core/lib/uri/uri_parser.h +1 -0
  875. data/src/core/plugin_registry/grpc_plugin_registry.cc +19 -88
  876. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +85 -0
  877. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +26 -21
  878. data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +9 -1
  879. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +19 -11
  880. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +2 -2
  881. data/src/core/tsi/alts/handshaker/alts_tsi_utils.h +1 -1
  882. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +2 -2
  883. data/src/core/tsi/alts/handshaker/transport_security_common_api.h +2 -2
  884. data/src/core/tsi/local_transport_security.cc +3 -11
  885. data/src/core/tsi/local_transport_security.h +1 -4
  886. data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +141 -0
  887. data/src/core/tsi/ssl/key_logging/ssl_key_logging.h +81 -0
  888. data/src/core/tsi/ssl_transport_security.cc +52 -1
  889. data/src/core/tsi/ssl_transport_security.h +20 -0
  890. data/src/ruby/ext/grpc/extconf.rb +1 -1
  891. data/src/ruby/ext/grpc/rb_channel.c +5 -2
  892. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +18 -24
  893. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +27 -36
  894. data/src/ruby/ext/grpc/rb_server.c +7 -4
  895. data/src/ruby/lib/grpc/version.rb +1 -1
  896. data/third_party/cares/cares/{ares.h → include/ares.h} +73 -1
  897. data/third_party/cares/cares/{ares_dns.h → include/ares_dns.h} +9 -0
  898. data/third_party/cares/cares/{ares_rules.h → include/ares_rules.h} +0 -0
  899. data/third_party/cares/cares/{ares_version.h → include/ares_version.h} +3 -3
  900. data/third_party/cares/cares/{ares__close_sockets.c → src/lib/ares__close_sockets.c} +2 -2
  901. data/third_party/cares/cares/{ares__get_hostent.c → src/lib/ares__get_hostent.c} +1 -2
  902. data/third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c +260 -0
  903. data/third_party/cares/cares/{ares__read_line.c → src/lib/ares__read_line.c} +0 -0
  904. data/third_party/cares/cares/src/lib/ares__readaddrinfo.c +264 -0
  905. data/third_party/cares/cares/src/lib/ares__sortaddrinfo.c +499 -0
  906. data/third_party/cares/cares/{ares__timeval.c → src/lib/ares__timeval.c} +0 -0
  907. data/third_party/cares/cares/src/lib/ares_android.c +444 -0
  908. data/third_party/cares/cares/src/lib/ares_android.h +27 -0
  909. data/third_party/cares/cares/{ares_cancel.c → src/lib/ares_cancel.c} +0 -0
  910. data/third_party/cares/cares/{ares_create_query.c → src/lib/ares_create_query.c} +8 -17
  911. data/third_party/cares/cares/{ares_data.c → src/lib/ares_data.c} +18 -0
  912. data/third_party/cares/cares/{ares_data.h → src/lib/ares_data.h} +2 -0
  913. data/third_party/cares/cares/{ares_destroy.c → src/lib/ares_destroy.c} +0 -0
  914. data/third_party/cares/cares/{ares_expand_name.c → src/lib/ares_expand_name.c} +114 -23
  915. data/third_party/cares/cares/{ares_expand_string.c → src/lib/ares_expand_string.c} +2 -5
  916. data/third_party/cares/cares/{ares_fds.c → src/lib/ares_fds.c} +0 -0
  917. data/third_party/cares/cares/{ares_free_hostent.c → src/lib/ares_free_hostent.c} +6 -4
  918. data/third_party/cares/cares/{ares_free_string.c → src/lib/ares_free_string.c} +0 -0
  919. data/third_party/cares/cares/src/lib/ares_freeaddrinfo.c +59 -0
  920. data/third_party/cares/cares/src/lib/ares_getaddrinfo.c +772 -0
  921. data/third_party/cares/cares/{ares_getenv.c → src/lib/ares_getenv.c} +0 -2
  922. data/third_party/cares/cares/{ares_getenv.h → src/lib/ares_getenv.h} +0 -0
  923. data/third_party/cares/cares/{ares_gethostbyaddr.c → src/lib/ares_gethostbyaddr.c} +2 -9
  924. data/third_party/cares/cares/{ares_gethostbyname.c → src/lib/ares_gethostbyname.c} +25 -20
  925. data/third_party/cares/cares/{ares_getnameinfo.c → src/lib/ares_getnameinfo.c} +4 -10
  926. data/third_party/cares/cares/{ares_getsock.c → src/lib/ares_getsock.c} +0 -0
  927. data/third_party/cares/cares/{ares_inet_net_pton.h → src/lib/ares_inet_net_pton.h} +0 -0
  928. data/third_party/cares/cares/{ares_init.c → src/lib/ares_init.c} +79 -40
  929. data/third_party/cares/cares/{ares_iphlpapi.h → src/lib/ares_iphlpapi.h} +0 -0
  930. data/third_party/cares/cares/{ares_ipv6.h → src/lib/ares_ipv6.h} +7 -0
  931. data/third_party/cares/cares/{ares_library_init.c → src/lib/ares_library_init.c} +7 -2
  932. data/third_party/cares/cares/{ares_library_init.h → src/lib/ares_library_init.h} +1 -1
  933. data/third_party/cares/cares/{ares_llist.c → src/lib/ares_llist.c} +0 -0
  934. data/third_party/cares/cares/{ares_llist.h → src/lib/ares_llist.h} +0 -0
  935. data/third_party/cares/cares/{ares_mkquery.c → src/lib/ares_mkquery.c} +0 -0
  936. data/third_party/cares/cares/src/lib/ares_nameser.h +482 -0
  937. data/third_party/cares/cares/{ares_nowarn.c → src/lib/ares_nowarn.c} +0 -0
  938. data/third_party/cares/cares/{ares_nowarn.h → src/lib/ares_nowarn.h} +0 -0
  939. data/third_party/cares/cares/{ares_options.c → src/lib/ares_options.c} +0 -0
  940. data/third_party/cares/cares/src/lib/ares_parse_a_reply.c +209 -0
  941. data/third_party/cares/cares/src/lib/ares_parse_aaaa_reply.c +212 -0
  942. data/third_party/cares/cares/src/lib/ares_parse_caa_reply.c +199 -0
  943. data/third_party/cares/cares/{ares_parse_mx_reply.c → src/lib/ares_parse_mx_reply.c} +2 -8
  944. data/third_party/cares/cares/{ares_parse_naptr_reply.c → src/lib/ares_parse_naptr_reply.c} +2 -13
  945. data/third_party/cares/cares/{ares_parse_ns_reply.c → src/lib/ares_parse_ns_reply.c} +5 -11
  946. data/third_party/cares/cares/{ares_parse_ptr_reply.c → src/lib/ares_parse_ptr_reply.c} +53 -46
  947. data/third_party/cares/cares/src/lib/ares_parse_soa_reply.c +179 -0
  948. data/third_party/cares/cares/{ares_parse_srv_reply.c → src/lib/ares_parse_srv_reply.c} +2 -13
  949. data/third_party/cares/cares/{ares_parse_txt_reply.c → src/lib/ares_parse_txt_reply.c} +3 -9
  950. data/third_party/cares/cares/{ares_platform.c → src/lib/ares_platform.c} +0 -0
  951. data/third_party/cares/cares/{ares_platform.h → src/lib/ares_platform.h} +0 -0
  952. data/third_party/cares/cares/{ares_private.h → src/lib/ares_private.h} +52 -11
  953. data/third_party/cares/cares/{ares_process.c → src/lib/ares_process.c} +127 -52
  954. data/third_party/cares/cares/{ares_query.c → src/lib/ares_query.c} +3 -9
  955. data/third_party/cares/cares/{ares_search.c → src/lib/ares_search.c} +5 -7
  956. data/third_party/cares/cares/{ares_send.c → src/lib/ares_send.c} +2 -8
  957. data/third_party/cares/cares/{ares_setup.h → src/lib/ares_setup.h} +4 -1
  958. data/third_party/cares/cares/{ares_strcasecmp.c → src/lib/ares_strcasecmp.c} +0 -0
  959. data/third_party/cares/cares/{ares_strcasecmp.h → src/lib/ares_strcasecmp.h} +0 -0
  960. data/third_party/cares/cares/{ares_strdup.c → src/lib/ares_strdup.c} +0 -0
  961. data/third_party/cares/cares/{ares_strdup.h → src/lib/ares_strdup.h} +0 -0
  962. data/third_party/cares/cares/{ares_strerror.c → src/lib/ares_strerror.c} +0 -0
  963. data/third_party/cares/cares/{ares_strsplit.c → src/lib/ares_strsplit.c} +4 -0
  964. data/third_party/cares/cares/{ares_strsplit.h → src/lib/ares_strsplit.h} +0 -0
  965. data/third_party/cares/cares/{ares_timeout.c → src/lib/ares_timeout.c} +0 -0
  966. data/third_party/cares/cares/{ares_version.c → src/lib/ares_version.c} +0 -0
  967. data/third_party/cares/cares/{ares_writev.c → src/lib/ares_writev.c} +0 -0
  968. data/third_party/cares/cares/src/lib/ares_writev.h +36 -0
  969. data/third_party/cares/cares/{bitncmp.c → src/lib/bitncmp.c} +0 -0
  970. data/third_party/cares/cares/{bitncmp.h → src/lib/bitncmp.h} +0 -0
  971. data/third_party/cares/cares/src/lib/config-dos.h +115 -0
  972. data/third_party/cares/cares/{config-win32.h → src/lib/config-win32.h} +0 -0
  973. data/third_party/cares/cares/{inet_net_pton.c → src/lib/inet_net_pton.c} +2 -8
  974. data/third_party/cares/cares/{inet_ntop.c → src/lib/inet_ntop.c} +2 -8
  975. data/third_party/cares/cares/{setup_once.h → src/lib/setup_once.h} +0 -0
  976. data/third_party/cares/cares/{windows_port.c → src/lib/windows_port.c} +0 -0
  977. data/third_party/upb/third_party/utf8_range/naive.c +92 -0
  978. data/third_party/upb/third_party/utf8_range/range2-neon.c +157 -0
  979. data/third_party/upb/third_party/utf8_range/range2-sse.c +170 -0
  980. data/third_party/upb/third_party/utf8_range/utf8_range.h +9 -0
  981. data/third_party/upb/upb/decode.c +526 -319
  982. data/third_party/upb/upb/decode.h +43 -17
  983. data/third_party/upb/upb/decode_fast.c +303 -301
  984. data/third_party/upb/upb/decode_fast.h +18 -18
  985. data/third_party/upb/upb/decode_internal.h +73 -56
  986. data/third_party/upb/upb/def.c +1863 -1078
  987. data/third_party/upb/upb/def.h +318 -286
  988. data/third_party/upb/upb/def.hpp +129 -172
  989. data/third_party/upb/upb/encode.c +202 -175
  990. data/third_party/upb/upb/encode.h +15 -17
  991. data/third_party/upb/upb/msg.c +144 -124
  992. data/third_party/upb/upb/msg.h +40 -33
  993. data/third_party/upb/upb/msg_internal.h +321 -272
  994. data/third_party/upb/upb/reflection.c +239 -199
  995. data/third_party/upb/upb/reflection.h +87 -67
  996. data/third_party/upb/upb/reflection.hpp +6 -6
  997. data/third_party/upb/upb/table.c +222 -142
  998. data/third_party/upb/upb/table_internal.h +128 -96
  999. data/third_party/upb/upb/text_encode.c +113 -90
  1000. data/third_party/upb/upb/text_encode.h +10 -10
  1001. data/third_party/upb/upb/upb.c +111 -72
  1002. data/third_party/upb/upb/upb.h +120 -144
  1003. data/third_party/upb/upb/upb.hpp +31 -28
  1004. data/third_party/upb/upb/upb_internal.h +21 -11
  1005. metadata +301 -170
  1006. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +0 -44
  1007. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +0 -83
  1008. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +0 -122
  1009. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +0 -92
  1010. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +0 -192
  1011. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +0 -52
  1012. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +0 -79
  1013. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +0 -125
  1014. data/src/core/ext/transport/chttp2/transport/chttp2_plugin.cc +0 -36
  1015. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c +0 -38
  1016. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +0 -64
  1017. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c +0 -38
  1018. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +0 -64
  1019. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c +0 -38
  1020. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +0 -64
  1021. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c +0 -38
  1022. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +0 -64
  1023. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c +0 -38
  1024. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +0 -64
  1025. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/eval.upb.c +0 -102
  1026. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/eval.upb.h +0 -306
  1027. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/explain.upb.c +0 -56
  1028. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/explain.upb.h +0 -135
  1029. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/value.upb.c +0 -115
  1030. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/value.upb.h +0 -371
  1031. data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.c +0 -67
  1032. data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.h +0 -35
  1033. data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.c +0 -68
  1034. data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.h +0 -35
  1035. data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.c +0 -67
  1036. data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.h +0 -35
  1037. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c +0 -75
  1038. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.h +0 -35
  1039. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c +0 -69
  1040. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.h +0 -35
  1041. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/eval.upbdefs.c +0 -58
  1042. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/eval.upbdefs.h +0 -55
  1043. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/explain.upbdefs.c +0 -44
  1044. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/explain.upbdefs.h +0 -40
  1045. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/value.upbdefs.c +0 -75
  1046. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/value.upbdefs.h +0 -55
  1047. data/src/core/ext/xds/xds_channel_creds.cc +0 -108
  1048. data/src/core/ext/xds/xds_channel_creds.h +0 -50
  1049. data/src/core/lib/iomgr/iomgr_custom.cc +0 -82
  1050. data/src/core/lib/iomgr/iomgr_custom.h +0 -49
  1051. data/src/core/lib/iomgr/pollset_custom.cc +0 -105
  1052. data/src/core/lib/iomgr/pollset_custom.h +0 -37
  1053. data/src/core/lib/iomgr/pollset_set_custom.cc +0 -47
  1054. data/src/core/lib/iomgr/pollset_set_custom.h +0 -26
  1055. data/src/core/lib/iomgr/resolve_address_custom.cc +0 -191
  1056. data/src/core/lib/iomgr/resolve_address_custom.h +0 -126
  1057. data/src/core/lib/iomgr/tcp_client_custom.cc +0 -146
  1058. data/src/core/lib/iomgr/tcp_custom.cc +0 -350
  1059. data/src/core/lib/iomgr/tcp_custom.h +0 -85
  1060. data/src/core/lib/iomgr/tcp_server_custom.cc +0 -457
  1061. data/src/core/lib/iomgr/timer_custom.cc +0 -96
  1062. data/src/core/lib/iomgr/timer_custom.h +0 -43
  1063. data/src/core/lib/security/authorization/sdk_server_authz_filter.cc +0 -173
  1064. data/src/core/lib/security/authorization/sdk_server_authz_filter.h +0 -67
  1065. data/src/core/lib/slice/slice_intern.cc +0 -269
  1066. data/src/core/lib/slice/slice_utils.h +0 -200
  1067. data/src/core/lib/surface/init_secure.cc +0 -103
  1068. data/third_party/cares/cares/ares_getopt.c +0 -122
  1069. data/third_party/cares/cares/ares_getopt.h +0 -53
  1070. data/third_party/cares/cares/ares_parse_a_reply.c +0 -264
  1071. data/third_party/cares/cares/ares_parse_aaaa_reply.c +0 -264
  1072. data/third_party/cares/cares/ares_parse_soa_reply.c +0 -133
@@ -0,0 +1,52 @@
1
+ /* This file was generated by upbc (the upb compiler) from the input
2
+ * file:
3
+ *
4
+ * xds/type/matcher/v3/string.proto
5
+ *
6
+ * Do not edit -- your changes will be discarded when the file is
7
+ * regenerated. */
8
+
9
+ #include "upb/def.h"
10
+ #include "xds/type/matcher/v3/string.upbdefs.h"
11
+ #include "xds/type/matcher/v3/string.upb.h"
12
+
13
+ extern _upb_DefPool_Init xds_type_matcher_v3_regex_proto_upbdefinit;
14
+ extern _upb_DefPool_Init validate_validate_proto_upbdefinit;
15
+ static const char descriptor[593] = {'\n', ' ', 'x', 'd', 's', '/', 't', 'y', 'p', 'e', '/', 'm', 'a', 't', 'c', 'h', 'e', 'r', '/', 'v', '3', '/', 's', 't', 'r',
16
+ 'i', 'n', 'g', '.', 'p', 'r', 'o', 't', 'o', '\022', '\023', 'x', 'd', 's', '.', 't', 'y', 'p', 'e', '.', 'm', 'a', 't', 'c', 'h',
17
+ 'e', 'r', '.', 'v', '3', '\032', '\037', 'x', 'd', 's', '/', 't', 'y', 'p', 'e', '/', 'm', 'a', 't', 'c', 'h', 'e', 'r', '/', 'v',
18
+ '3', '/', 'r', 'e', 'g', 'e', 'x', '.', 'p', 'r', 'o', 't', 'o', '\032', '\027', 'v', 'a', 'l', 'i', 'd', 'a', 't', 'e', '/', 'v',
19
+ 'a', 'l', 'i', 'd', 'a', 't', 'e', '.', 'p', 'r', 'o', 't', 'o', '\"', '\231', '\002', '\n', '\r', 'S', 't', 'r', 'i', 'n', 'g', 'M',
20
+ 'a', 't', 'c', 'h', 'e', 'r', '\022', '\026', '\n', '\005', 'e', 'x', 'a', 'c', 't', '\030', '\001', ' ', '\001', '(', '\t', 'H', '\000', 'R', '\005',
21
+ 'e', 'x', 'a', 'c', 't', '\022', '!', '\n', '\006', 'p', 'r', 'e', 'f', 'i', 'x', '\030', '\002', ' ', '\001', '(', '\t', 'B', '\007', '\372', 'B',
22
+ '\004', 'r', '\002', '\020', '\001', 'H', '\000', 'R', '\006', 'p', 'r', 'e', 'f', 'i', 'x', '\022', '!', '\n', '\006', 's', 'u', 'f', 'f', 'i', 'x',
23
+ '\030', '\003', ' ', '\001', '(', '\t', 'B', '\007', '\372', 'B', '\004', 'r', '\002', '\020', '\001', 'H', '\000', 'R', '\006', 's', 'u', 'f', 'f', 'i', 'x',
24
+ '\022', 'L', '\n', '\n', 's', 'a', 'f', 'e', '_', 'r', 'e', 'g', 'e', 'x', '\030', '\005', ' ', '\001', '(', '\013', '2', '!', '.', 'x', 'd',
25
+ 's', '.', 't', 'y', 'p', 'e', '.', 'm', 'a', 't', 'c', 'h', 'e', 'r', '.', 'v', '3', '.', 'R', 'e', 'g', 'e', 'x', 'M', 'a',
26
+ 't', 'c', 'h', 'e', 'r', 'B', '\010', '\372', 'B', '\005', '\212', '\001', '\002', '\020', '\001', 'H', '\000', 'R', '\t', 's', 'a', 'f', 'e', 'R', 'e',
27
+ 'g', 'e', 'x', '\022', '%', '\n', '\010', 'c', 'o', 'n', 't', 'a', 'i', 'n', 's', '\030', '\007', ' ', '\001', '(', '\t', 'B', '\007', '\372', 'B',
28
+ '\004', 'r', '\002', '\020', '\001', 'H', '\000', 'R', '\010', 'c', 'o', 'n', 't', 'a', 'i', 'n', 's', '\022', '\037', '\n', '\013', 'i', 'g', 'n', 'o',
29
+ 'r', 'e', '_', 'c', 'a', 's', 'e', '\030', '\006', ' ', '\001', '(', '\010', 'R', '\n', 'i', 'g', 'n', 'o', 'r', 'e', 'C', 'a', 's', 'e',
30
+ 'B', '\024', '\n', '\r', 'm', 'a', 't', 'c', 'h', '_', 'p', 'a', 't', 't', 'e', 'r', 'n', '\022', '\003', '\370', 'B', '\001', '\"', ']', '\n',
31
+ '\021', 'L', 'i', 's', 't', 'S', 't', 'r', 'i', 'n', 'g', 'M', 'a', 't', 'c', 'h', 'e', 'r', '\022', 'H', '\n', '\010', 'p', 'a', 't',
32
+ 't', 'e', 'r', 'n', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\"', '.', 'x', 'd', 's', '.', 't', 'y', 'p', 'e', '.', 'm', 'a',
33
+ 't', 'c', 'h', 'e', 'r', '.', 'v', '3', '.', 'S', 't', 'r', 'i', 'n', 'g', 'M', 'a', 't', 'c', 'h', 'e', 'r', 'B', '\010', '\372',
34
+ 'B', '\005', '\222', '\001', '\002', '\010', '\001', 'R', '\010', 'p', 'a', 't', 't', 'e', 'r', 'n', 's', 'B', '[', '\n', '\036', 'c', 'o', 'm', '.',
35
+ 'g', 'i', 't', 'h', 'u', 'b', '.', 'x', 'd', 's', '.', 't', 'y', 'p', 'e', '.', 'm', 'a', 't', 'c', 'h', 'e', 'r', '.', 'v',
36
+ '3', 'B', '\013', 'S', 't', 'r', 'i', 'n', 'g', 'P', 'r', 'o', 't', 'o', 'P', '\001', 'Z', '*', 'g', 'i', 't', 'h', 'u', 'b', '.',
37
+ 'c', 'o', 'm', '/', 'c', 'n', 'c', 'f', '/', 'x', 'd', 's', '/', 'g', 'o', '/', 'x', 'd', 's', '/', 't', 'y', 'p', 'e', '/',
38
+ 'm', 'a', 't', 'c', 'h', 'e', 'r', '/', 'v', '3', 'b', '\006', 'p', 'r', 'o', 't', 'o', '3',
39
+ };
40
+
41
+ static _upb_DefPool_Init *deps[3] = {
42
+ &xds_type_matcher_v3_regex_proto_upbdefinit,
43
+ &validate_validate_proto_upbdefinit,
44
+ NULL
45
+ };
46
+
47
+ _upb_DefPool_Init xds_type_matcher_v3_string_proto_upbdefinit = {
48
+ deps,
49
+ &xds_type_matcher_v3_string_proto_upb_file_layout,
50
+ "xds/type/matcher/v3/string.proto",
51
+ UPB_STRINGVIEW_INIT(descriptor, 593)
52
+ };
@@ -0,0 +1,40 @@
1
+ /* This file was generated by upbc (the upb compiler) from the input
2
+ * file:
3
+ *
4
+ * xds/type/matcher/v3/string.proto
5
+ *
6
+ * Do not edit -- your changes will be discarded when the file is
7
+ * regenerated. */
8
+
9
+ #ifndef XDS_TYPE_MATCHER_V3_STRING_PROTO_UPBDEFS_H_
10
+ #define XDS_TYPE_MATCHER_V3_STRING_PROTO_UPBDEFS_H_
11
+
12
+ #include "upb/def.h"
13
+ #include "upb/port_def.inc"
14
+ #ifdef __cplusplus
15
+ extern "C" {
16
+ #endif
17
+
18
+ #include "upb/def.h"
19
+
20
+ #include "upb/port_def.inc"
21
+
22
+ extern _upb_DefPool_Init xds_type_matcher_v3_string_proto_upbdefinit;
23
+
24
+ UPB_INLINE const upb_MessageDef *xds_type_matcher_v3_StringMatcher_getmsgdef(upb_DefPool *s) {
25
+ _upb_DefPool_LoadDefInit(s, &xds_type_matcher_v3_string_proto_upbdefinit);
26
+ return upb_DefPool_FindMessageByName(s, "xds.type.matcher.v3.StringMatcher");
27
+ }
28
+
29
+ UPB_INLINE const upb_MessageDef *xds_type_matcher_v3_ListStringMatcher_getmsgdef(upb_DefPool *s) {
30
+ _upb_DefPool_LoadDefInit(s, &xds_type_matcher_v3_string_proto_upbdefinit);
31
+ return upb_DefPool_FindMessageByName(s, "xds.type.matcher.v3.ListStringMatcher");
32
+ }
33
+
34
+ #ifdef __cplusplus
35
+ } /* extern "C" */
36
+ #endif
37
+
38
+ #include "upb/port_undef.inc"
39
+
40
+ #endif /* XDS_TYPE_MATCHER_V3_STRING_PROTO_UPBDEFS_H_ */
@@ -10,8 +10,8 @@
10
10
  #include "xds/type/v3/typed_struct.upbdefs.h"
11
11
  #include "xds/type/v3/typed_struct.upb.h"
12
12
 
13
- extern upb_def_init validate_validate_proto_upbdefinit;
14
- extern upb_def_init google_protobuf_struct_proto_upbdefinit;
13
+ extern _upb_DefPool_Init validate_validate_proto_upbdefinit;
14
+ extern _upb_DefPool_Init google_protobuf_struct_proto_upbdefinit;
15
15
  static const char descriptor[279] = {'\n', '\036', 'x', 'd', 's', '/', 't', 'y', 'p', 'e', '/', 'v', '3', '/', 't', 'y', 'p', 'e', 'd', '_', 's', 't', 'r', 'u', 'c',
16
16
  't', '.', 'p', 'r', 'o', 't', 'o', '\022', '\013', 'x', 'd', 's', '.', 't', 'y', 'p', 'e', '.', 'v', '3', '\032', '\027', 'v', 'a', 'l',
17
17
  'i', 'd', 'a', 't', 'e', '/', 'v', 'a', 'l', 'i', 'd', 'a', 't', 'e', '.', 'p', 'r', 'o', 't', 'o', '\032', '\034', 'g', 'o', 'o',
@@ -26,15 +26,15 @@ static const char descriptor[279] = {'\n', '\036', 'x', 'd', 's', '/', 't', 'y',
26
26
  'o', 't', 'o', '3',
27
27
  };
28
28
 
29
- static upb_def_init *deps[3] = {
29
+ static _upb_DefPool_Init *deps[3] = {
30
30
  &validate_validate_proto_upbdefinit,
31
31
  &google_protobuf_struct_proto_upbdefinit,
32
32
  NULL
33
33
  };
34
34
 
35
- upb_def_init xds_type_v3_typed_struct_proto_upbdefinit = {
35
+ _upb_DefPool_Init xds_type_v3_typed_struct_proto_upbdefinit = {
36
36
  deps,
37
37
  &xds_type_v3_typed_struct_proto_upb_file_layout,
38
38
  "xds/type/v3/typed_struct.proto",
39
- UPB_STRVIEW_INIT(descriptor, 279)
39
+ UPB_STRINGVIEW_INIT(descriptor, 279)
40
40
  };
@@ -19,11 +19,11 @@ extern "C" {
19
19
 
20
20
  #include "upb/port_def.inc"
21
21
 
22
- extern upb_def_init xds_type_v3_typed_struct_proto_upbdefinit;
22
+ extern _upb_DefPool_Init xds_type_v3_typed_struct_proto_upbdefinit;
23
23
 
24
- UPB_INLINE const upb_msgdef *xds_type_v3_TypedStruct_getmsgdef(upb_symtab *s) {
25
- _upb_symtab_loaddefinit(s, &xds_type_v3_typed_struct_proto_upbdefinit);
26
- return upb_symtab_lookupmsg(s, "xds.type.v3.TypedStruct");
24
+ UPB_INLINE const upb_MessageDef *xds_type_v3_TypedStruct_getmsgdef(upb_DefPool *s) {
25
+ _upb_DefPool_LoadDefInit(s, &xds_type_v3_typed_struct_proto_upbdefinit);
26
+ return upb_DefPool_FindMessageByName(s, "xds.type.v3.TypedStruct");
27
27
  }
28
28
 
29
29
  #ifdef __cplusplus
@@ -58,7 +58,7 @@ std::string FileWatcherCertificateProviderFactory::Config::ToString() const {
58
58
  absl::StrFormat("ca_certificate_file=\"%s\", ", root_cert_file_));
59
59
  }
60
60
  parts.push_back(
61
- absl::StrFormat("refresh_interval=%ldms}", refresh_interval_ms_));
61
+ absl::StrFormat("refresh_interval=%ldms}", refresh_interval_.millis()));
62
62
  return absl::StrJoin(parts, "");
63
63
  }
64
64
 
@@ -91,8 +91,8 @@ FileWatcherCertificateProviderFactory::Config::Parse(const Json& config_json,
91
91
  }
92
92
  if (!ParseJsonObjectFieldAsDuration(
93
93
  config_json.object_value(), "refresh_interval",
94
- &config->refresh_interval_ms_, &error_list, false)) {
95
- config->refresh_interval_ms_ = 10 * 60 * 1000; // 10 minutes default
94
+ &config->refresh_interval_, &error_list, false)) {
95
+ config->refresh_interval_ = Duration::Minutes(10); // 10 minutes default
96
96
  }
97
97
  if (!error_list.empty()) {
98
98
  *error = GRPC_ERROR_CREATE_FROM_VECTOR(
@@ -131,7 +131,7 @@ FileWatcherCertificateProviderFactory::CreateCertificateProvider(
131
131
  file_watcher_config->private_key_file(),
132
132
  file_watcher_config->identity_cert_file(),
133
133
  file_watcher_config->root_cert_file(),
134
- file_watcher_config->refresh_interval_ms() / GPR_MS_PER_SEC);
134
+ file_watcher_config->refresh_interval().millis() / GPR_MS_PER_SEC);
135
135
  }
136
136
 
137
137
  void FileWatcherCertificateProviderInit() {
@@ -45,13 +45,13 @@ class FileWatcherCertificateProviderFactory
45
45
 
46
46
  const std::string& root_cert_file() const { return root_cert_file_; }
47
47
 
48
- grpc_millis refresh_interval_ms() const { return refresh_interval_ms_; }
48
+ Duration refresh_interval() const { return refresh_interval_; }
49
49
 
50
50
  private:
51
51
  std::string identity_cert_file_;
52
52
  std::string private_key_file_;
53
53
  std::string root_cert_file_;
54
- grpc_millis refresh_interval_ms_;
54
+ Duration refresh_interval_;
55
55
  };
56
56
 
57
57
  const char* name() const override;
@@ -27,6 +27,7 @@
27
27
  #include "upb/upb.hpp"
28
28
 
29
29
  #include "src/core/ext/xds/certificate_provider_store.h"
30
+ #include "src/core/ext/xds/xds_bootstrap.h"
30
31
  #include "src/core/lib/debug/trace.h"
31
32
 
32
33
  namespace grpc_core {
@@ -38,9 +39,10 @@ class XdsClient;
38
39
  // passing through XdsApi code, maybe via the AdsResponseParser.
39
40
  struct XdsEncodingContext {
40
41
  XdsClient* client; // Used only for logging. Unsafe for dereferencing.
42
+ const XdsBootstrap::XdsServer& server;
41
43
  TraceFlag* tracer;
42
- upb_symtab* symtab;
43
- upb_arena* arena;
44
+ upb_DefPool* symtab;
45
+ upb_Arena* arena;
44
46
  bool use_v3;
45
47
  const CertificateProviderStore::PluginDefinitionMap*
46
48
  certificate_provider_definition_map;
@@ -48,15 +50,15 @@ struct XdsEncodingContext {
48
50
 
49
51
  // Works for both std::string and absl::string_view.
50
52
  template <typename T>
51
- inline upb_strview StdStringToUpbString(const T& str) {
52
- return upb_strview_make(str.data(), str.size());
53
+ inline upb_StringView StdStringToUpbString(const T& str) {
54
+ return upb_StringView_FromDataAndSize(str.data(), str.size());
53
55
  }
54
56
 
55
- inline absl::string_view UpbStringToAbsl(const upb_strview& str) {
57
+ inline absl::string_view UpbStringToAbsl(const upb_StringView& str) {
56
58
  return absl::string_view(str.data, str.size);
57
59
  }
58
60
 
59
- inline std::string UpbStringToStdString(const upb_strview& str) {
61
+ inline std::string UpbStringToStdString(const upb_StringView& str) {
60
62
  return std::string(str.data, str.size);
61
63
  }
62
64
 
@@ -57,7 +57,7 @@
57
57
  #include "src/core/lib/iomgr/error.h"
58
58
  #include "src/core/lib/iomgr/sockaddr.h"
59
59
  #include "src/core/lib/iomgr/socket_utils.h"
60
- #include "src/core/lib/slice/slice_utils.h"
60
+ #include "src/core/lib/slice/slice_internal.h"
61
61
  #include "src/core/lib/uri/uri_parser.h"
62
62
 
63
63
  namespace grpc_core {
@@ -187,12 +187,12 @@ void PopulateBuildVersion(const XdsEncodingContext& context,
187
187
  envoy_config_core_v3_Node* node_msg,
188
188
  const std::string& build_version) {
189
189
  std::string encoded_build_version = EncodeStringField(5, build_version);
190
- // TODO(roth): This should use upb_msg_addunknown(), but that API is
190
+ // TODO(roth): This should use upb_Message_AddUnknown(), but that API is
191
191
  // broken in the current version of upb, so we're using the internal
192
192
  // API for now. Change this once we upgrade to a version of upb that
193
193
  // fixes this bug.
194
- _upb_msg_addunknown(node_msg, encoded_build_version.data(),
195
- encoded_build_version.size(), context.arena);
194
+ _upb_Message_AddUnknown(node_msg, encoded_build_version.data(),
195
+ encoded_build_version.size(), context.arena);
196
196
  }
197
197
 
198
198
  void PopulateNode(const XdsEncodingContext& context,
@@ -241,7 +241,8 @@ void PopulateNode(const XdsEncodingContext& context,
241
241
  envoy_config_core_v3_Node_set_user_agent_version(
242
242
  node_msg, StdStringToUpbString(user_agent_version));
243
243
  envoy_config_core_v3_Node_add_client_features(
244
- node_msg, upb_strview_makez("envoy.lb.does_not_support_overprovisioning"),
244
+ node_msg,
245
+ upb_StringView_FromString("envoy.lb.does_not_support_overprovisioning"),
245
246
  context.arena);
246
247
  }
247
248
 
@@ -250,10 +251,10 @@ void MaybeLogDiscoveryRequest(
250
251
  const envoy_service_discovery_v3_DiscoveryRequest* request) {
251
252
  if (GRPC_TRACE_FLAG_ENABLED(*context.tracer) &&
252
253
  gpr_should_log(GPR_LOG_SEVERITY_DEBUG)) {
253
- const upb_msgdef* msg_type =
254
+ const upb_MessageDef* msg_type =
254
255
  envoy_service_discovery_v3_DiscoveryRequest_getmsgdef(context.symtab);
255
256
  char buf[10240];
256
- upb_text_encode(request, msg_type, nullptr, 0, buf, sizeof(buf));
257
+ upb_TextEncode(request, msg_type, nullptr, 0, buf, sizeof(buf));
257
258
  gpr_log(GPR_DEBUG, "[xds_client %p] constructed ADS request: %s",
258
259
  context.client, buf);
259
260
  }
@@ -277,6 +278,7 @@ grpc_slice XdsApi::CreateAdsRequest(
277
278
  bool populate_node) {
278
279
  upb::Arena arena;
279
280
  const XdsEncodingContext context = {client_,
281
+ server,
280
282
  tracer_,
281
283
  symtab_->ptr(),
282
284
  arena.ptr(),
@@ -312,7 +314,8 @@ grpc_slice XdsApi::CreateAdsRequest(
312
314
  google_rpc_Status_set_code(error_detail, GRPC_STATUS_INVALID_ARGUMENT);
313
315
  // Error description comes from the error that was passed in.
314
316
  error_string_storage = grpc_error_std_string(error);
315
- upb_strview error_description = StdStringToUpbString(error_string_storage);
317
+ upb_StringView error_description =
318
+ StdStringToUpbString(error_string_storage);
316
319
  google_rpc_Status_set_message(error_detail, error_description);
317
320
  GRPC_ERROR_UNREF(error);
318
321
  }
@@ -340,10 +343,10 @@ void MaybeLogDiscoveryResponse(
340
343
  const envoy_service_discovery_v3_DiscoveryResponse* response) {
341
344
  if (GRPC_TRACE_FLAG_ENABLED(*context.tracer) &&
342
345
  gpr_should_log(GPR_LOG_SEVERITY_DEBUG)) {
343
- const upb_msgdef* msg_type =
346
+ const upb_MessageDef* msg_type =
344
347
  envoy_service_discovery_v3_DiscoveryResponse_getmsgdef(context.symtab);
345
348
  char buf[10240];
346
- upb_text_encode(response, msg_type, nullptr, 0, buf, sizeof(buf));
349
+ upb_TextEncode(response, msg_type, nullptr, 0, buf, sizeof(buf));
347
350
  gpr_log(GPR_DEBUG, "[xds_client %p] received response: %s", context.client,
348
351
  buf);
349
352
  }
@@ -356,6 +359,7 @@ absl::Status XdsApi::ParseAdsResponse(const XdsBootstrap::XdsServer& server,
356
359
  AdsResponseParserInterface* parser) {
357
360
  upb::Arena arena;
358
361
  const XdsEncodingContext context = {client_,
362
+ server,
359
363
  tracer_,
360
364
  symtab_->ptr(),
361
365
  arena.ptr(),
@@ -407,10 +411,10 @@ void MaybeLogLrsRequest(
407
411
  const envoy_service_load_stats_v3_LoadStatsRequest* request) {
408
412
  if (GRPC_TRACE_FLAG_ENABLED(*context.tracer) &&
409
413
  gpr_should_log(GPR_LOG_SEVERITY_DEBUG)) {
410
- const upb_msgdef* msg_type =
414
+ const upb_MessageDef* msg_type =
411
415
  envoy_service_load_stats_v3_LoadStatsRequest_getmsgdef(context.symtab);
412
416
  char buf[10240];
413
- upb_text_encode(request, msg_type, nullptr, 0, buf, sizeof(buf));
417
+ upb_TextEncode(request, msg_type, nullptr, 0, buf, sizeof(buf));
414
418
  gpr_log(GPR_DEBUG, "[xds_client %p] constructed LRS request: %s",
415
419
  context.client, buf);
416
420
  }
@@ -431,6 +435,7 @@ grpc_slice XdsApi::CreateLrsInitialRequest(
431
435
  const XdsBootstrap::XdsServer& server) {
432
436
  upb::Arena arena;
433
437
  const XdsEncodingContext context = {client_,
438
+ server,
434
439
  tracer_,
435
440
  symtab_->ptr(),
436
441
  arena.ptr(),
@@ -446,7 +451,8 @@ grpc_slice XdsApi::CreateLrsInitialRequest(
446
451
  PopulateNode(context, node_, build_version_, user_agent_name_,
447
452
  user_agent_version_, node_msg);
448
453
  envoy_config_core_v3_Node_add_client_features(
449
- node_msg, upb_strview_makez("envoy.lrs.supports_send_all_clusters"),
454
+ node_msg,
455
+ upb_StringView_FromString("envoy.lrs.supports_send_all_clusters"),
450
456
  arena.ptr());
451
457
  MaybeLogLrsRequest(context, request);
452
458
  return SerializeLrsRequest(context, request);
@@ -505,9 +511,16 @@ void LocalityStatsPopulate(
505
511
  grpc_slice XdsApi::CreateLrsRequest(
506
512
  ClusterLoadReportMap cluster_load_report_map) {
507
513
  upb::Arena arena;
508
- const XdsEncodingContext context = {
509
- client_, tracer_, symtab_->ptr(),
510
- arena.ptr(), false, certificate_provider_definition_map_};
514
+ // The xDS server info is not actually needed here, so we seed it with an
515
+ // empty value.
516
+ XdsBootstrap::XdsServer empty_server;
517
+ const XdsEncodingContext context = {client_,
518
+ empty_server,
519
+ tracer_,
520
+ symtab_->ptr(),
521
+ arena.ptr(),
522
+ false,
523
+ certificate_provider_definition_map_};
511
524
  // Create a request.
512
525
  envoy_service_load_stats_v3_LoadStatsRequest* request =
513
526
  envoy_service_load_stats_v3_LoadStatsRequest_new(arena.ptr());
@@ -555,8 +568,7 @@ grpc_slice XdsApi::CreateLrsRequest(
555
568
  envoy_config_endpoint_v3_ClusterStats_set_total_dropped_requests(
556
569
  cluster_stats, total_dropped_requests);
557
570
  // Set real load report interval.
558
- gpr_timespec timespec =
559
- grpc_millis_to_timespec(load_report.load_report_interval, GPR_TIMESPAN);
571
+ gpr_timespec timespec = load_report.load_report_interval.as_timespec();
560
572
  google_protobuf_Duration* load_report_interval =
561
573
  envoy_config_endpoint_v3_ClusterStats_mutable_load_report_interval(
562
574
  cluster_stats, arena.ptr());
@@ -567,10 +579,10 @@ grpc_slice XdsApi::CreateLrsRequest(
567
579
  return SerializeLrsRequest(context, request);
568
580
  }
569
581
 
570
- grpc_error_handle XdsApi::ParseLrsResponse(
571
- const grpc_slice& encoded_response, bool* send_all_clusters,
572
- std::set<std::string>* cluster_names,
573
- grpc_millis* load_reporting_interval) {
582
+ grpc_error_handle XdsApi::ParseLrsResponse(const grpc_slice& encoded_response,
583
+ bool* send_all_clusters,
584
+ std::set<std::string>* cluster_names,
585
+ Duration* load_reporting_interval) {
574
586
  upb::Arena arena;
575
587
  // Decode the response.
576
588
  const envoy_service_load_stats_v3_LoadStatsResponse* decoded_response =
@@ -588,7 +600,7 @@ grpc_error_handle XdsApi::ParseLrsResponse(
588
600
  } else {
589
601
  // Store the cluster names.
590
602
  size_t size;
591
- const upb_strview* clusters =
603
+ const upb_StringView* clusters =
592
604
  envoy_service_load_stats_v3_LoadStatsResponse_clusters(decoded_response,
593
605
  &size);
594
606
  for (size_t i = 0; i < size; ++i) {
@@ -599,21 +611,19 @@ grpc_error_handle XdsApi::ParseLrsResponse(
599
611
  const google_protobuf_Duration* load_reporting_interval_duration =
600
612
  envoy_service_load_stats_v3_LoadStatsResponse_load_reporting_interval(
601
613
  decoded_response);
602
- gpr_timespec timespec{
614
+ *load_reporting_interval = Duration::FromSecondsAndNanoseconds(
603
615
  google_protobuf_Duration_seconds(load_reporting_interval_duration),
604
- google_protobuf_Duration_nanos(load_reporting_interval_duration),
605
- GPR_TIMESPAN};
606
- *load_reporting_interval = gpr_time_to_millis(timespec);
616
+ google_protobuf_Duration_nanos(load_reporting_interval_duration));
607
617
  return GRPC_ERROR_NONE;
608
618
  }
609
619
 
610
620
  namespace {
611
621
 
612
- google_protobuf_Timestamp* GrpcMillisToTimestamp(
613
- const XdsEncodingContext& context, grpc_millis value) {
622
+ google_protobuf_Timestamp* EncodeTimestamp(const XdsEncodingContext& context,
623
+ Timestamp value) {
614
624
  google_protobuf_Timestamp* timestamp =
615
625
  google_protobuf_Timestamp_new(context.arena);
616
- gpr_timespec timespec = grpc_millis_to_timespec(value, GPR_CLOCK_REALTIME);
626
+ gpr_timespec timespec = value.as_timespec(GPR_CLOCK_REALTIME);
617
627
  google_protobuf_Timestamp_set_seconds(timestamp, timespec.tv_sec);
618
628
  google_protobuf_Timestamp_set_nanos(timestamp, timespec.tv_nsec);
619
629
  return timestamp;
@@ -629,9 +639,16 @@ std::string XdsApi::AssembleClientConfig(
629
639
  // Fill-in the node information
630
640
  auto* node = envoy_service_status_v3_ClientConfig_mutable_node(client_config,
631
641
  arena.ptr());
632
- const XdsEncodingContext context = {
633
- client_, tracer_, symtab_->ptr(),
634
- arena.ptr(), true, certificate_provider_definition_map_};
642
+ // The xDS server info is not actually needed here, so we seed it with an
643
+ // empty value.
644
+ XdsBootstrap::XdsServer empty_server;
645
+ const XdsEncodingContext context = {client_,
646
+ empty_server,
647
+ tracer_,
648
+ symtab_->ptr(),
649
+ arena.ptr(),
650
+ true,
651
+ certificate_provider_definition_map_};
635
652
  PopulateNode(context, node_, build_version_, user_agent_name_,
636
653
  user_agent_version_, node);
637
654
  // Dump each resource.
@@ -657,7 +674,7 @@ std::string XdsApi::AssembleClientConfig(
657
674
  envoy_service_status_v3_ClientConfig_GenericXdsConfig_set_version_info(
658
675
  entry, StdStringToUpbString(metadata.version));
659
676
  envoy_service_status_v3_ClientConfig_GenericXdsConfig_set_last_updated(
660
- entry, GrpcMillisToTimestamp(context, metadata.update_time));
677
+ entry, EncodeTimestamp(context, metadata.update_time));
661
678
  auto* any_field =
662
679
  envoy_service_status_v3_ClientConfig_GenericXdsConfig_mutable_xds_config(
663
680
  entry, context.arena);
@@ -677,7 +694,7 @@ std::string XdsApi::AssembleClientConfig(
677
694
  StdStringToUpbString(metadata.failed_version));
678
695
  envoy_admin_v3_UpdateFailureState_set_last_update_attempt(
679
696
  update_failure_state,
680
- GrpcMillisToTimestamp(context, metadata.failed_update_time));
697
+ EncodeTimestamp(context, metadata.failed_update_time));
681
698
  envoy_service_status_v3_ClientConfig_GenericXdsConfig_set_error_state(
682
699
  entry, update_failure_state);
683
700
  }
@@ -75,7 +75,7 @@ class XdsApi {
75
75
  std::map<RefCountedPtr<XdsLocalityName>, XdsClusterLocalityStats::Snapshot,
76
76
  XdsLocalityName::Less>
77
77
  locality_stats;
78
- grpc_millis load_report_interval;
78
+ Duration load_report_interval;
79
79
  };
80
80
  using ClusterLoadReportMap = std::map<
81
81
  std::pair<std::string /*cluster_name*/, std::string /*eds_service_name*/>,
@@ -106,7 +106,7 @@ class XdsApi {
106
106
  // The serialized bytes of the last successfully updated raw xDS resource.
107
107
  std::string serialized_proto;
108
108
  // The timestamp when the resource was last successfully updated.
109
- grpc_millis update_time = 0;
109
+ Timestamp update_time;
110
110
  // The last successfully updated version of the resource.
111
111
  std::string version;
112
112
  // The rejected version string of the last failed update attempt.
@@ -114,7 +114,7 @@ class XdsApi {
114
114
  // Details about the last failed update attempt.
115
115
  std::string failed_details;
116
116
  // Timestamp of the last failed update attempt.
117
- grpc_millis failed_update_time = 0;
117
+ Timestamp failed_update_time;
118
118
  };
119
119
  using ResourceMetadataMap =
120
120
  std::map<std::string /*resource_name*/, const ResourceMetadata*>;
@@ -168,7 +168,7 @@ class XdsApi {
168
168
  grpc_error_handle ParseLrsResponse(const grpc_slice& encoded_response,
169
169
  bool* send_all_clusters,
170
170
  std::set<std::string>* cluster_names,
171
- grpc_millis* load_reporting_interval);
171
+ Duration* load_reporting_interval);
172
172
 
173
173
  // Assemble the client config proto message and return the serialized result.
174
174
  std::string AssembleClientConfig(
@@ -32,11 +32,12 @@
32
32
 
33
33
  #include "src/core/ext/xds/certificate_provider_registry.h"
34
34
  #include "src/core/ext/xds/xds_api.h"
35
- #include "src/core/ext/xds/xds_channel_creds.h"
35
+ #include "src/core/lib/config/core_configuration.h"
36
36
  #include "src/core/lib/gpr/env.h"
37
37
  #include "src/core/lib/gpr/string.h"
38
38
  #include "src/core/lib/iomgr/load_file.h"
39
39
  #include "src/core/lib/json/json_util.h"
40
+ #include "src/core/lib/security/credentials/channel_creds_registry.h"
40
41
  #include "src/core/lib/security/credentials/credentials.h"
41
42
  #include "src/core/lib/security/credentials/fake/fake_credentials.h"
42
43
  #include "src/core/lib/slice/slice_internal.h"
@@ -65,10 +66,11 @@ grpc_error_handle ParseChannelCreds(const Json::Object& json, size_t idx,
65
66
  /*required=*/false);
66
67
  // Select the first channel creds type that we support.
67
68
  if (server->channel_creds_type.empty() &&
68
- XdsChannelCredsRegistry::IsSupported(type)) {
69
+ CoreConfiguration::Get().channel_creds_registry().IsSupported(type)) {
69
70
  Json config;
70
71
  if (config_ptr != nullptr) config = *config_ptr;
71
- if (!XdsChannelCredsRegistry::IsValidConfig(type, config)) {
72
+ if (!CoreConfiguration::Get().channel_creds_registry().IsValidConfig(
73
+ type, config)) {
72
74
  error_list.push_back(GRPC_ERROR_CREATE_FROM_CPP_STRING(absl::StrCat(
73
75
  "invalid config for channel creds type \"", type, "\"")));
74
76
  }
@@ -137,6 +139,25 @@ XdsBootstrap::XdsServer XdsBootstrap::XdsServer::Parse(
137
139
  return server;
138
140
  }
139
141
 
142
+ Json::Object XdsBootstrap::XdsServer::ToJson() const {
143
+ Json::Object channel_creds_json{{"type", channel_creds_type}};
144
+ if (channel_creds_config.type() != Json::Type::JSON_NULL) {
145
+ channel_creds_json["config"] = channel_creds_config;
146
+ }
147
+ Json::Object json{
148
+ {"server_uri", server_uri},
149
+ {"channel_creds", Json::Array{std::move(channel_creds_json)}},
150
+ };
151
+ if (!server_features.empty()) {
152
+ Json::Array server_features_json;
153
+ for (auto& feature : server_features) {
154
+ server_features_json.emplace_back(feature);
155
+ }
156
+ json["server_features"] = std::move(server_features_json);
157
+ }
158
+ return json;
159
+ }
160
+
140
161
  bool XdsBootstrap::XdsServer::ShouldUseV3() const {
141
162
  return server_features.find("xds_v3") != server_features.end();
142
163
  }
@@ -244,6 +265,17 @@ const XdsBootstrap::Authority* XdsBootstrap::LookupAuthority(
244
265
  return nullptr;
245
266
  }
246
267
 
268
+ bool XdsBootstrap::XdsServerExists(
269
+ const XdsBootstrap::XdsServer& server) const {
270
+ if (server == servers_[0]) return true;
271
+ for (auto& authority : authorities_) {
272
+ for (auto& xds_server : authority.second.xds_servers) {
273
+ if (server == xds_server) return true;
274
+ }
275
+ }
276
+ return false;
277
+ }
278
+
247
279
  grpc_error_handle XdsBootstrap::ParseXdsServerList(
248
280
  Json* json, absl::InlinedVector<XdsServer, 1>* servers) {
249
281
  std::vector<grpc_error_handle> error_list;
@@ -58,6 +58,13 @@ class XdsBootstrap {
58
58
 
59
59
  static XdsServer Parse(const Json& json, grpc_error_handle* error);
60
60
 
61
+ bool operator==(const XdsServer& other) const {
62
+ return (server_uri == other.server_uri &&
63
+ channel_creds_type == other.channel_creds_type &&
64
+ channel_creds_config == other.channel_creds_config &&
65
+ server_features == other.server_features);
66
+ }
67
+
61
68
  bool operator<(const XdsServer& other) const {
62
69
  if (server_uri < other.server_uri) return true;
63
70
  if (channel_creds_type < other.channel_creds_type) return true;
@@ -68,6 +75,8 @@ class XdsBootstrap {
68
75
  return false;
69
76
  }
70
77
 
78
+ Json::Object ToJson() const;
79
+
71
80
  bool ShouldUseV3() const;
72
81
  };
73
82
 
@@ -105,6 +114,8 @@ class XdsBootstrap {
105
114
  const {
106
115
  return certificate_providers_;
107
116
  }
117
+ // A util method to check that an xds server exists in this bootstrap file.
118
+ bool XdsServerExists(const XdsServer& server) const;
108
119
 
109
120
  private:
110
121
  grpc_error_handle ParseXdsServerList(