grpc 1.43.1 → 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 (1240) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +349 -216
  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 +36 -50
  7. data/include/grpc/impl/codegen/compression_types.h +0 -2
  8. data/include/grpc/impl/codegen/grpc_types.h +17 -8
  9. data/include/grpc/impl/codegen/port_platform.h +2 -2
  10. data/include/grpc/impl/codegen/slice.h +4 -1
  11. data/include/grpc/slice.h +0 -11
  12. data/src/core/ext/filters/client_channel/backend_metric.cc +3 -3
  13. data/src/core/ext/filters/client_channel/backend_metric.h +1 -1
  14. data/src/core/ext/filters/client_channel/backup_poller.cc +12 -8
  15. data/src/core/ext/filters/client_channel/channel_connectivity.cc +5 -5
  16. data/src/core/ext/filters/client_channel/client_channel.cc +140 -124
  17. data/src/core/ext/filters/client_channel/client_channel.h +38 -37
  18. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +6 -12
  19. data/src/core/ext/filters/client_channel/config_selector.h +4 -4
  20. data/src/core/ext/filters/client_channel/connector.h +1 -1
  21. data/src/core/ext/filters/client_channel/dynamic_filters.cc +1 -2
  22. data/src/core/ext/filters/client_channel/dynamic_filters.h +2 -2
  23. data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +2 -22
  24. data/src/core/ext/filters/client_channel/global_subchannel_pool.h +3 -15
  25. data/src/core/ext/filters/client_channel/health/health_check_client.cc +32 -31
  26. data/src/core/ext/filters/client_channel/health/health_check_client.h +4 -4
  27. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +10 -13
  28. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +4 -3
  29. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.h +6 -5
  30. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +4 -7
  31. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +99 -79
  32. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +0 -7
  33. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +1 -1
  34. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +15 -15
  35. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +4 -4
  36. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +50 -32
  37. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +28 -19
  38. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +120 -68
  39. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +161 -112
  40. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +62 -61
  41. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +16 -11
  42. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +13 -7
  43. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +28 -19
  44. data/src/core/ext/filters/client_channel/lb_policy/xds/xds.h +1 -1
  45. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +65 -36
  46. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +5 -3
  47. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +69 -117
  48. data/src/core/ext/filters/client_channel/lb_policy.cc +15 -14
  49. data/src/core/ext/filters/client_channel/lb_policy.h +19 -3
  50. data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +10 -16
  51. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +259 -120
  52. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +22 -12
  53. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +19 -15
  54. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +23 -38
  55. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +136 -226
  56. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +25 -32
  57. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
  58. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +120 -113
  59. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +18 -17
  60. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +2 -1
  61. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +83 -61
  62. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +40 -39
  63. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +185 -96
  64. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +8 -11
  65. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +13 -7
  66. data/src/core/ext/filters/client_channel/retry_filter.cc +236 -169
  67. data/src/core/ext/filters/client_channel/retry_service_config.cc +16 -18
  68. data/src/core/ext/filters/client_channel/retry_service_config.h +18 -12
  69. data/src/core/ext/filters/client_channel/retry_throttle.cc +9 -23
  70. data/src/core/ext/filters/client_channel/retry_throttle.h +11 -5
  71. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +8 -7
  72. data/src/core/ext/filters/client_channel/subchannel.cc +45 -52
  73. data/src/core/ext/filters/client_channel/subchannel.h +7 -7
  74. data/src/core/ext/filters/client_idle/client_idle_filter.cc +96 -159
  75. data/src/core/ext/filters/client_idle/idle_filter_state.h +2 -2
  76. data/src/core/ext/filters/deadline/deadline_filter.cc +15 -14
  77. data/src/core/ext/filters/deadline/deadline_filter.h +3 -2
  78. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +53 -58
  79. data/src/core/ext/filters/fault_injection/service_config_parser.cc +11 -13
  80. data/src/core/ext/filters/fault_injection/service_config_parser.h +10 -4
  81. data/src/core/ext/filters/http/client/http_client_filter.cc +58 -125
  82. data/src/core/ext/filters/http/client_authority_filter.cc +28 -87
  83. data/src/core/ext/filters/http/client_authority_filter.h +23 -5
  84. data/src/core/ext/filters/http/http_filters_plugin.cc +11 -12
  85. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +43 -140
  86. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +15 -27
  87. data/src/core/ext/filters/http/server/http_server_filter.cc +51 -135
  88. data/src/core/ext/filters/max_age/max_age_filter.cc +46 -40
  89. data/src/core/ext/filters/message_size/message_size_filter.cc +27 -35
  90. data/src/core/ext/filters/message_size/message_size_filter.h +10 -3
  91. data/src/core/ext/filters/rbac/rbac_filter.cc +162 -0
  92. data/src/core/ext/filters/rbac/rbac_filter.h +76 -0
  93. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +606 -0
  94. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +75 -0
  95. data/src/core/ext/filters/server_config_selector/server_config_selector.h +3 -2
  96. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +12 -6
  97. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +234 -0
  98. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +236 -34
  99. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +155 -233
  100. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +8 -2
  101. data/src/core/ext/transport/chttp2/transport/flow_control.cc +2 -2
  102. data/src/core/ext/transport/chttp2/transport/flow_control.h +3 -3
  103. data/src/core/ext/transport/chttp2/transport/frame_data.cc +0 -1
  104. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +4 -4
  105. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +5 -0
  106. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +342 -281
  107. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +70 -160
  108. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +1 -1
  109. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +2 -0
  110. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +29 -78
  111. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +0 -1
  112. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +94 -1
  113. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +2 -24
  114. data/src/core/ext/transport/chttp2/transport/internal.h +6 -39
  115. data/src/core/ext/transport/chttp2/transport/parsing.cc +3 -9
  116. data/src/core/ext/transport/chttp2/transport/writing.cc +62 -128
  117. data/src/core/ext/transport/inproc/inproc_plugin.cc +0 -4
  118. data/src/core/ext/transport/inproc/inproc_transport.cc +27 -75
  119. data/src/core/ext/transport/inproc/inproc_transport.h +0 -3
  120. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +114 -0
  121. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +402 -0
  122. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +119 -0
  123. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +453 -0
  124. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +165 -163
  125. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +798 -575
  126. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +56 -0
  127. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +138 -0
  128. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +62 -0
  129. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +146 -0
  130. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +46 -0
  131. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +106 -0
  132. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +43 -0
  133. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +93 -0
  134. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c +43 -0
  135. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +88 -0
  136. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c +103 -0
  137. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +466 -0
  138. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +48 -0
  139. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +95 -0
  140. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +22 -20
  141. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +17 -16
  142. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +15 -13
  143. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +31 -23
  144. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +90 -88
  145. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +421 -317
  146. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +156 -152
  147. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +787 -571
  148. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +27 -25
  149. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +115 -79
  150. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +206 -204
  151. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +954 -662
  152. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +10 -8
  153. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +33 -23
  154. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +29 -27
  155. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +127 -79
  156. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +290 -0
  157. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +1122 -0
  158. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +49 -47
  159. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +221 -159
  160. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +10 -8
  161. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +33 -23
  162. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +154 -151
  163. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +691 -499
  164. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +39 -37
  165. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +178 -130
  166. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +9 -7
  167. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +25 -19
  168. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +18 -16
  169. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +74 -53
  170. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +58 -0
  171. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +138 -0
  172. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +100 -98
  173. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +449 -329
  174. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +77 -75
  175. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +365 -264
  176. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +11 -9
  177. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +36 -26
  178. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +140 -105
  179. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +675 -345
  180. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +8 -6
  181. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +25 -17
  182. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +15 -13
  183. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +59 -42
  184. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +13 -11
  185. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +39 -25
  186. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +14 -12
  187. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +45 -35
  188. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +10 -8
  189. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +34 -24
  190. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +31 -29
  191. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +113 -85
  192. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +47 -45
  193. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +210 -151
  194. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +48 -46
  195. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +210 -142
  196. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +9 -7
  197. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +28 -20
  198. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +58 -54
  199. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +282 -193
  200. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +64 -62
  201. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +286 -218
  202. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +15 -13
  203. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +62 -42
  204. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +12 -10
  205. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +54 -39
  206. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +53 -0
  207. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +120 -0
  208. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +55 -53
  209. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +244 -185
  210. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +57 -55
  211. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +260 -192
  212. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +70 -68
  213. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +235 -191
  214. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +30 -28
  215. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +142 -112
  216. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +435 -428
  217. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +2037 -1507
  218. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +25 -19
  219. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +107 -64
  220. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +216 -0
  221. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +870 -0
  222. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +44 -0
  223. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +82 -0
  224. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +49 -0
  225. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +95 -0
  226. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +15 -13
  227. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +55 -40
  228. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +52 -0
  229. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +119 -0
  230. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +62 -0
  231. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +203 -0
  232. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +47 -0
  233. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +89 -0
  234. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +69 -0
  235. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +184 -0
  236. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +32 -0
  237. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +42 -0
  238. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +71 -0
  239. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +192 -0
  240. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +54 -0
  241. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +126 -0
  242. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +8 -6
  243. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +29 -23
  244. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +26 -24
  245. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +125 -93
  246. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +33 -31
  247. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +149 -105
  248. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +63 -0
  249. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +165 -0
  250. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +15 -13
  251. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +53 -37
  252. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +175 -173
  253. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +803 -559
  254. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +3 -1
  255. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +2 -1
  256. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +75 -52
  257. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +368 -194
  258. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +24 -22
  259. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +95 -71
  260. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +60 -58
  261. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +266 -193
  262. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +62 -0
  263. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +146 -0
  264. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +6 -4
  265. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +22 -16
  266. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +64 -62
  267. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +297 -218
  268. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +18 -16
  269. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +73 -54
  270. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +46 -44
  271. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +197 -145
  272. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +48 -0
  273. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +101 -0
  274. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +19 -17
  275. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +91 -70
  276. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +74 -0
  277. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +202 -0
  278. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +16 -14
  279. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +64 -47
  280. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +10 -8
  281. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +34 -26
  282. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +10 -8
  283. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +25 -19
  284. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +9 -7
  285. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +25 -19
  286. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +21 -19
  287. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +85 -61
  288. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +19 -17
  289. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +65 -52
  290. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +14 -12
  291. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +56 -43
  292. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +21 -19
  293. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +74 -58
  294. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +30 -28
  295. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +163 -125
  296. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +34 -32
  297. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +157 -113
  298. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +66 -0
  299. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +183 -0
  300. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +3 -1
  301. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +2 -1
  302. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +42 -0
  303. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +136 -0
  304. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +13 -11
  305. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +51 -34
  306. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +19 -17
  307. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +80 -52
  308. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.c +26 -0
  309. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.h +41 -0
  310. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +10 -8
  311. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +31 -19
  312. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c +51 -0
  313. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +114 -0
  314. data/src/core/ext/upb-generated/google/api/annotations.upb.c +10 -8
  315. data/src/core/ext/upb-generated/google/api/annotations.upb.h +6 -5
  316. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +100 -98
  317. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +371 -281
  318. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +110 -108
  319. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +409 -298
  320. data/src/core/ext/upb-generated/google/api/http.upb.c +29 -27
  321. data/src/core/ext/upb-generated/google/api/http.upb.h +117 -89
  322. data/src/core/ext/upb-generated/google/api/httpbody.upb.c +46 -0
  323. data/src/core/ext/upb-generated/google/api/httpbody.upb.h +99 -0
  324. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +9 -7
  325. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +32 -22
  326. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +287 -234
  327. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +1088 -764
  328. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +9 -7
  329. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +28 -18
  330. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +6 -4
  331. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +22 -16
  332. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +30 -28
  333. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +80 -64
  334. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +9 -7
  335. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +28 -18
  336. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +40 -38
  337. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +213 -149
  338. data/src/core/ext/upb-generated/google/rpc/status.upb.c +11 -9
  339. data/src/core/ext/upb-generated/google/rpc/status.upb.h +36 -26
  340. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +84 -0
  341. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +276 -0
  342. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +20 -18
  343. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +60 -42
  344. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +95 -93
  345. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +396 -285
  346. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +15 -13
  347. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +58 -39
  348. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +12 -10
  349. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +50 -35
  350. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +55 -53
  351. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +255 -183
  352. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +22 -20
  353. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +76 -57
  354. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +46 -44
  355. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +102 -78
  356. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +16 -14
  357. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +32 -22
  358. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +9 -7
  359. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +6 -5
  360. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +16 -14
  361. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +32 -22
  362. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +15 -13
  363. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +31 -23
  364. data/src/core/ext/upb-generated/validate/validate.upb.c +320 -304
  365. data/src/core/ext/upb-generated/validate/validate.upb.h +1114 -741
  366. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +110 -0
  367. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +191 -0
  368. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +55 -0
  369. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +87 -0
  370. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c +38 -0
  371. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h +38 -0
  372. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +40 -38
  373. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +109 -78
  374. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +53 -0
  375. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +81 -0
  376. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +8 -6
  377. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +27 -19
  378. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +17 -15
  379. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +63 -46
  380. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +14 -12
  381. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +31 -25
  382. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +46 -0
  383. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +95 -0
  384. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +11 -9
  385. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +39 -27
  386. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +20 -18
  387. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +73 -54
  388. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +12 -10
  389. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +43 -29
  390. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +23 -21
  391. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +43 -31
  392. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +203 -0
  393. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +726 -0
  394. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +52 -0
  395. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +132 -0
  396. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +65 -0
  397. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +173 -0
  398. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +10 -8
  399. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +33 -23
  400. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.c +84 -0
  401. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.h +55 -0
  402. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.c +127 -0
  403. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.h +50 -0
  404. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +14 -12
  405. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +67 -67
  406. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.c +43 -0
  407. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.h +40 -0
  408. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +53 -0
  409. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.h +40 -0
  410. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.c +49 -0
  411. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.h +35 -0
  412. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.c +46 -0
  413. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.h +35 -0
  414. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.c +46 -0
  415. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.h +35 -0
  416. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.c +142 -0
  417. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.h +40 -0
  418. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.c +51 -0
  419. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.h +35 -0
  420. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +8 -6
  421. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h +1 -1
  422. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +8 -6
  423. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h +4 -4
  424. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +20 -17
  425. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +46 -46
  426. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +248 -240
  427. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +55 -55
  428. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +16 -13
  429. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +10 -10
  430. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +375 -371
  431. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +76 -76
  432. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +14 -11
  433. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h +4 -4
  434. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +16 -13
  435. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h +4 -4
  436. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.c +206 -0
  437. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.h +105 -0
  438. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +15 -13
  439. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +22 -22
  440. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +15 -12
  441. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h +4 -4
  442. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +85 -80
  443. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +73 -73
  444. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +18 -16
  445. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +16 -16
  446. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +14 -12
  447. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h +4 -4
  448. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +15 -12
  449. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +7 -7
  450. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.c +53 -0
  451. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.h +40 -0
  452. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +21 -18
  453. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h +43 -43
  454. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +23 -20
  455. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +25 -25
  456. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +14 -12
  457. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h +4 -4
  458. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +250 -221
  459. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +53 -43
  460. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +12 -9
  461. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +4 -4
  462. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +14 -11
  463. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h +7 -7
  464. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +14 -11
  465. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +4 -4
  466. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +18 -15
  467. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h +4 -4
  468. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +13 -11
  469. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h +4 -4
  470. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +18 -15
  471. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h +13 -13
  472. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +19 -16
  473. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +19 -19
  474. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +18 -15
  475. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h +16 -16
  476. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +14 -11
  477. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h +4 -4
  478. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +52 -45
  479. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +19 -19
  480. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +23 -20
  481. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h +22 -22
  482. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +19 -16
  483. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h +4 -4
  484. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +15 -12
  485. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h +7 -7
  486. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c +69 -0
  487. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.h +35 -0
  488. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +17 -14
  489. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +25 -25
  490. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +17 -14
  491. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +28 -28
  492. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +190 -0
  493. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +70 -0
  494. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +19 -16
  495. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +10 -10
  496. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +816 -801
  497. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +160 -160
  498. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +52 -37
  499. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h +10 -10
  500. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +188 -0
  501. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +85 -0
  502. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.c +54 -0
  503. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.h +35 -0
  504. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.c +57 -0
  505. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.h +35 -0
  506. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +15 -12
  507. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h +7 -7
  508. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.c +72 -0
  509. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.h +35 -0
  510. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.c +99 -0
  511. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.h +35 -0
  512. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.c +52 -0
  513. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.h +35 -0
  514. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.c +71 -0
  515. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.h +40 -0
  516. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +57 -0
  517. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.h +30 -0
  518. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.c +75 -0
  519. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.h +40 -0
  520. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c +77 -0
  521. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.h +35 -0
  522. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +15 -11
  523. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +4 -4
  524. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +17 -14
  525. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +16 -16
  526. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +18 -15
  527. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +10 -10
  528. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +59 -0
  529. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +40 -0
  530. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +17 -13
  531. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +4 -4
  532. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +135 -130
  533. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +58 -58
  534. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +15 -11
  535. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +1 -1
  536. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +169 -140
  537. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +24 -19
  538. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +19 -16
  539. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +10 -10
  540. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +21 -17
  541. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +19 -19
  542. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +58 -0
  543. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +40 -0
  544. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +14 -11
  545. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h +4 -4
  546. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +17 -14
  547. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +22 -22
  548. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +16 -13
  549. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h +7 -7
  550. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +20 -17
  551. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +16 -16
  552. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.c +46 -0
  553. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.h +35 -0
  554. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +13 -10
  555. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h +13 -13
  556. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.c +52 -0
  557. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.h +50 -0
  558. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +15 -12
  559. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h +7 -7
  560. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +15 -12
  561. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +4 -4
  562. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +15 -12
  563. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h +4 -4
  564. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +15 -12
  565. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h +4 -4
  566. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +15 -12
  567. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h +10 -10
  568. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +15 -12
  569. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h +7 -7
  570. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +14 -12
  571. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +7 -7
  572. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +16 -13
  573. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h +10 -10
  574. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +13 -10
  575. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h +22 -22
  576. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +14 -11
  577. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h +16 -16
  578. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.c +53 -0
  579. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.h +45 -0
  580. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +10 -8
  581. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h +1 -1
  582. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.c +94 -0
  583. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.h +35 -0
  584. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +12 -10
  585. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h +7 -7
  586. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +11 -8
  587. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h +10 -10
  588. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.c +38 -0
  589. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.h +30 -0
  590. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +11 -9
  591. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h +4 -4
  592. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.c +57 -0
  593. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.h +35 -0
  594. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +5 -5
  595. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h +1 -1
  596. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.c +154 -0
  597. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.h +95 -0
  598. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.c +153 -0
  599. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.h +100 -0
  600. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +3 -3
  601. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h +10 -10
  602. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.c +39 -0
  603. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.h +35 -0
  604. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +3 -3
  605. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h +4 -4
  606. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +3 -3
  607. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h +82 -82
  608. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +3 -3
  609. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h +4 -4
  610. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +3 -3
  611. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h +4 -4
  612. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +3 -3
  613. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h +13 -13
  614. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +3 -3
  615. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h +4 -4
  616. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +3 -3
  617. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h +28 -28
  618. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +4 -4
  619. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h +4 -4
  620. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.c +67 -0
  621. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.h +50 -0
  622. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +4 -4
  623. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h +10 -10
  624. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +5 -5
  625. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h +4 -4
  626. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +4 -4
  627. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h +1 -1
  628. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +4 -4
  629. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h +4 -4
  630. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +4 -4
  631. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h +4 -4
  632. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +6 -6
  633. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h +70 -70
  634. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.c +63 -0
  635. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.h +45 -0
  636. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.c +47 -0
  637. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.h +35 -0
  638. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.c +35 -0
  639. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.h +30 -0
  640. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +4 -4
  641. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +13 -13
  642. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.c +40 -0
  643. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.h +35 -0
  644. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +5 -5
  645. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +4 -4
  646. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +7 -7
  647. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +7 -7
  648. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +4 -4
  649. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +7 -7
  650. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.c +41 -0
  651. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.h +35 -0
  652. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +6 -6
  653. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +4 -4
  654. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +6 -6
  655. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +7 -7
  656. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +6 -6
  657. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +4 -4
  658. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c +126 -0
  659. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.h +80 -0
  660. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.c +40 -0
  661. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.h +40 -0
  662. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.c +52 -0
  663. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.h +40 -0
  664. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +5 -5
  665. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +4 -4
  666. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +4 -4
  667. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +2 -2
  668. data/src/core/ext/xds/upb_utils.h +67 -0
  669. data/src/core/ext/xds/xds_api.cc +127 -3487
  670. data/src/core/ext/xds/xds_api.h +60 -615
  671. data/src/core/ext/xds/xds_bootstrap.cc +221 -125
  672. data/src/core/ext/xds/xds_bootstrap.h +31 -15
  673. data/src/core/ext/xds/xds_certificate_provider.h +1 -0
  674. data/src/core/ext/xds/xds_channel_stack_modifier.cc +14 -17
  675. data/src/core/ext/xds/xds_channel_stack_modifier.h +4 -3
  676. data/src/core/ext/xds/xds_client.cc +702 -1077
  677. data/src/core/ext/xds/xds_client.h +101 -150
  678. data/src/core/ext/xds/xds_client_stats.cc +15 -15
  679. data/src/core/ext/xds/xds_client_stats.h +5 -4
  680. data/src/core/ext/xds/xds_cluster.cc +453 -0
  681. data/src/core/ext/xds/xds_cluster.h +108 -0
  682. data/src/core/ext/xds/xds_common_types.cc +388 -0
  683. data/src/core/ext/xds/xds_common_types.h +95 -0
  684. data/src/core/ext/xds/xds_endpoint.cc +364 -0
  685. data/src/core/ext/xds/xds_endpoint.h +135 -0
  686. data/src/core/ext/xds/xds_http_fault_filter.cc +6 -6
  687. data/src/core/ext/xds/xds_http_fault_filter.h +3 -3
  688. data/src/core/ext/xds/xds_http_filters.cc +11 -5
  689. data/src/core/ext/xds/xds_http_filters.h +4 -4
  690. data/src/core/ext/xds/xds_http_rbac_filter.cc +563 -0
  691. data/src/core/ext/xds/xds_http_rbac_filter.h +54 -0
  692. data/src/core/ext/xds/xds_listener.cc +1039 -0
  693. data/src/core/ext/xds/xds_listener.h +220 -0
  694. data/src/core/ext/{transport/chttp2/transport/hpack_utils.h → xds/xds_resource_type.cc} +12 -9
  695. data/src/core/ext/xds/xds_resource_type.h +98 -0
  696. data/src/core/ext/xds/xds_resource_type_impl.h +87 -0
  697. data/src/core/ext/xds/xds_route_config.cc +985 -0
  698. data/src/core/ext/xds/xds_route_config.h +215 -0
  699. data/src/core/ext/xds/xds_routing.cc +12 -9
  700. data/src/core/ext/xds/xds_routing.h +8 -5
  701. data/src/core/ext/xds/xds_server_config_fetcher.cc +162 -101
  702. data/src/core/lib/address_utils/parse_address.cc +20 -0
  703. data/src/core/lib/address_utils/parse_address.h +5 -0
  704. data/src/core/lib/address_utils/sockaddr_utils.cc +33 -36
  705. data/src/core/lib/address_utils/sockaddr_utils.h +1 -16
  706. data/src/core/lib/backoff/backoff.cc +8 -37
  707. data/src/core/lib/backoff/backoff.h +11 -11
  708. data/src/core/lib/channel/call_finalization.h +86 -0
  709. data/src/core/lib/channel/channel_args.cc +60 -1
  710. data/src/core/lib/channel/channel_args.h +2 -0
  711. data/src/core/lib/channel/channel_args_preconditioning.cc +1 -0
  712. data/src/core/lib/channel/channel_stack.cc +10 -3
  713. data/src/core/lib/channel/channel_stack.h +42 -6
  714. data/src/core/lib/channel/channel_stack_builder.cc +66 -248
  715. data/src/core/lib/channel/channel_stack_builder.h +95 -147
  716. data/src/core/lib/channel/channel_trace.cc +3 -6
  717. data/src/core/lib/channel/channelz.cc +1 -0
  718. data/src/core/lib/channel/connected_channel.cc +9 -4
  719. data/src/core/lib/channel/connected_channel.h +1 -1
  720. data/src/core/lib/channel/context.h +11 -0
  721. data/src/core/lib/channel/handshaker.cc +1 -1
  722. data/src/core/lib/channel/handshaker.h +1 -1
  723. data/src/core/lib/channel/promise_based_filter.cc +669 -0
  724. data/src/core/lib/channel/promise_based_filter.h +423 -0
  725. data/src/core/lib/compression/compression.cc +20 -112
  726. data/src/core/lib/compression/compression_internal.cc +143 -203
  727. data/src/core/lib/compression/compression_internal.h +64 -69
  728. data/src/core/lib/compression/message_compress.cc +11 -11
  729. data/src/core/lib/compression/message_compress.h +2 -2
  730. data/src/core/lib/config/core_configuration.cc +8 -2
  731. data/src/core/lib/config/core_configuration.h +39 -0
  732. data/src/core/lib/event_engine/default_event_engine_factory.cc +27 -0
  733. data/src/core/lib/event_engine/event_engine.cc +23 -8
  734. data/src/core/lib/event_engine/event_engine_factory.h +3 -0
  735. data/src/core/lib/event_engine/memory_allocator.cc +9 -13
  736. data/src/core/lib/event_engine/{event_engine_factory.cc → resolved_address.cc} +10 -20
  737. data/src/core/lib/gpr/sync_posix.cc +1 -0
  738. data/src/core/lib/gpr/time.cc +2 -1
  739. data/src/core/lib/gpr/useful.h +18 -0
  740. data/src/core/lib/gprpp/bitset.h +7 -0
  741. data/src/core/lib/gprpp/capture.h +76 -0
  742. data/src/core/lib/gprpp/chunked_vector.h +45 -3
  743. data/src/core/lib/gprpp/debug_location.h +2 -0
  744. data/src/core/lib/gprpp/status_helper.cc +30 -38
  745. data/src/core/lib/gprpp/status_helper.h +6 -19
  746. data/src/core/lib/gprpp/table.h +11 -0
  747. data/src/core/lib/gprpp/time.cc +186 -0
  748. data/src/core/lib/gprpp/time.h +292 -0
  749. data/src/core/lib/http/format_request.cc +27 -23
  750. data/src/core/lib/http/format_request.h +7 -6
  751. data/src/core/lib/http/httpcli.cc +307 -239
  752. data/src/core/lib/http/httpcli.h +182 -89
  753. data/src/core/lib/http/httpcli_security_connector.cc +62 -73
  754. data/src/core/lib/http/httpcli_ssl_credentials.h +37 -0
  755. data/src/core/lib/http/parser.h +1 -1
  756. data/src/core/lib/iomgr/buffer_list.h +5 -5
  757. data/src/core/lib/iomgr/call_combiner.cc +15 -4
  758. data/src/core/lib/iomgr/closure.h +29 -9
  759. data/src/core/lib/iomgr/combiner.cc +25 -3
  760. data/src/core/lib/iomgr/error.cc +13 -10
  761. data/src/core/lib/iomgr/error.h +0 -2
  762. data/src/core/lib/iomgr/ev_apple.cc +6 -5
  763. data/src/core/lib/iomgr/ev_epoll1_linux.cc +8 -7
  764. data/src/core/lib/iomgr/ev_epollex_linux.cc +12 -9
  765. data/src/core/lib/iomgr/ev_poll_posix.cc +7 -7
  766. data/src/core/lib/iomgr/ev_posix.cc +3 -3
  767. data/src/core/lib/iomgr/ev_posix.h +1 -1
  768. data/src/core/lib/iomgr/event_engine/iomgr.cc +3 -2
  769. data/src/core/lib/iomgr/event_engine/pollset.cc +2 -3
  770. data/src/core/lib/iomgr/event_engine/resolved_address_internal.cc +6 -0
  771. data/src/core/lib/iomgr/event_engine/resolved_address_internal.h +2 -0
  772. data/src/core/lib/iomgr/event_engine/resolver.cc +66 -48
  773. data/src/core/lib/iomgr/event_engine/resolver.h +56 -0
  774. data/src/core/lib/iomgr/event_engine/tcp.cc +4 -3
  775. data/src/core/lib/iomgr/event_engine/timer.cc +3 -4
  776. data/src/core/lib/iomgr/exec_ctx.cc +25 -97
  777. data/src/core/lib/iomgr/exec_ctx.h +7 -23
  778. data/src/core/lib/iomgr/executor.cc +10 -1
  779. data/src/core/lib/iomgr/fork_posix.cc +3 -2
  780. data/src/core/lib/iomgr/iocp_windows.cc +9 -9
  781. data/src/core/lib/iomgr/iocp_windows.h +1 -1
  782. data/src/core/lib/iomgr/iomgr_posix.cc +2 -2
  783. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +2 -2
  784. data/src/core/lib/iomgr/iomgr_windows.cc +2 -2
  785. data/src/core/lib/iomgr/polling_entity.h +6 -0
  786. data/src/core/lib/iomgr/pollset.cc +1 -1
  787. data/src/core/lib/iomgr/pollset.h +4 -4
  788. data/src/core/lib/iomgr/pollset_windows.cc +2 -2
  789. data/src/core/lib/iomgr/port.h +6 -9
  790. data/src/core/lib/iomgr/resolve_address.cc +5 -24
  791. data/src/core/lib/iomgr/resolve_address.h +47 -44
  792. data/src/core/lib/iomgr/resolve_address_impl.h +59 -0
  793. data/src/core/lib/iomgr/resolve_address_posix.cc +83 -67
  794. data/src/core/lib/iomgr/resolve_address_posix.h +47 -0
  795. data/src/core/lib/iomgr/resolve_address_windows.cc +93 -74
  796. data/src/core/lib/iomgr/resolve_address_windows.h +47 -0
  797. data/src/core/lib/iomgr/resolved_address.h +39 -0
  798. data/src/core/lib/iomgr/sockaddr_utils_posix.cc +62 -0
  799. data/src/core/lib/iomgr/socket_utils_common_posix.cc +0 -17
  800. data/src/core/lib/iomgr/tcp_client.cc +1 -1
  801. data/src/core/lib/iomgr/tcp_client.h +3 -2
  802. data/src/core/lib/iomgr/tcp_client_cfstream.cc +1 -1
  803. data/src/core/lib/iomgr/tcp_client_posix.cc +2 -2
  804. data/src/core/lib/iomgr/tcp_client_posix.h +1 -1
  805. data/src/core/lib/iomgr/tcp_client_windows.cc +1 -1
  806. data/src/core/lib/iomgr/tcp_posix.cc +2 -1
  807. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +1 -0
  808. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +1 -0
  809. data/src/core/lib/iomgr/tcp_windows.cc +17 -10
  810. data/src/core/lib/iomgr/timer.cc +2 -2
  811. data/src/core/lib/iomgr/timer.h +11 -6
  812. data/src/core/lib/iomgr/timer_generic.cc +96 -77
  813. data/src/core/lib/iomgr/timer_manager.cc +15 -14
  814. data/src/core/lib/iomgr/unix_sockets_posix.cc +22 -34
  815. data/src/core/lib/iomgr/unix_sockets_posix.h +4 -7
  816. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +6 -15
  817. data/src/core/lib/iomgr/work_serializer.cc +15 -10
  818. data/src/core/lib/json/json_util.cc +4 -4
  819. data/src/core/lib/json/json_util.h +2 -2
  820. data/src/core/lib/matchers/matchers.cc +1 -1
  821. data/src/core/lib/promise/activity.cc +14 -8
  822. data/src/core/lib/promise/activity.h +183 -142
  823. data/src/core/lib/promise/arena_promise.h +188 -0
  824. data/src/core/lib/promise/detail/basic_seq.h +92 -3
  825. data/src/core/lib/promise/detail/promise_factory.h +1 -1
  826. data/src/core/lib/promise/detail/status.h +5 -0
  827. data/src/core/lib/promise/loop.h +34 -8
  828. data/src/core/lib/promise/poll.h +6 -0
  829. data/src/core/lib/promise/promise.h +95 -0
  830. data/src/core/lib/promise/seq.h +19 -1
  831. data/src/core/lib/promise/sleep.cc +74 -0
  832. data/src/core/lib/promise/sleep.h +66 -0
  833. data/src/core/lib/promise/try_seq.h +157 -0
  834. data/src/core/{ext/filters/client_channel → lib/resolver}/resolver.cc +17 -25
  835. data/src/core/{ext/filters/client_channel → lib/resolver}/resolver.h +43 -44
  836. data/src/core/{ext/filters/client_channel → lib/resolver}/resolver_factory.h +32 -31
  837. data/src/core/lib/resolver/resolver_registry.cc +156 -0
  838. data/src/core/lib/resolver/resolver_registry.h +113 -0
  839. data/src/core/{ext/filters/client_channel → lib/resolver}/server_address.cc +1 -1
  840. data/src/core/{ext/filters/client_channel → lib/resolver}/server_address.h +4 -4
  841. data/src/core/lib/resource_quota/api.h +0 -1
  842. data/src/core/lib/{gprpp → resource_quota}/arena.cc +16 -13
  843. data/src/core/lib/{gprpp → resource_quota}/arena.h +24 -13
  844. data/src/core/lib/resource_quota/memory_quota.cc +118 -94
  845. data/src/core/lib/resource_quota/memory_quota.h +100 -64
  846. data/src/core/lib/security/authorization/evaluate_args.cc +26 -21
  847. data/src/core/lib/security/authorization/evaluate_args.h +1 -1
  848. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +60 -0
  849. data/src/core/lib/security/authorization/grpc_authorization_engine.h +62 -0
  850. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +109 -0
  851. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +51 -0
  852. data/src/core/lib/security/authorization/matchers.cc +227 -0
  853. data/src/core/lib/security/authorization/matchers.h +211 -0
  854. data/src/core/lib/security/authorization/rbac_policy.cc +442 -0
  855. data/src/core/lib/security/authorization/rbac_policy.h +171 -0
  856. data/src/core/lib/security/context/security_context.cc +4 -2
  857. data/src/core/lib/security/context/security_context.h +1 -1
  858. data/src/core/lib/security/credentials/alts/alts_credentials.h +6 -0
  859. data/src/core/lib/security/credentials/call_creds_util.cc +87 -0
  860. data/src/core/lib/security/credentials/call_creds_util.h +42 -0
  861. data/src/core/lib/security/credentials/channel_creds_registry.h +97 -0
  862. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +70 -0
  863. data/src/core/lib/security/credentials/composite/composite_credentials.cc +17 -81
  864. data/src/core/lib/security/credentials/composite/composite_credentials.h +21 -9
  865. data/src/core/lib/security/credentials/credentials.cc +2 -3
  866. data/src/core/lib/security/credentials/credentials.h +68 -57
  867. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +46 -30
  868. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +1 -0
  869. data/src/core/lib/security/credentials/external/external_account_credentials.cc +51 -33
  870. data/src/core/lib/security/credentials/external/external_account_credentials.h +5 -9
  871. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +0 -1
  872. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +33 -13
  873. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +1 -0
  874. data/src/core/lib/security/credentials/fake/fake_credentials.cc +18 -18
  875. data/src/core/lib/security/credentials/fake/fake_credentials.h +14 -16
  876. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +16 -13
  877. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +6 -0
  878. data/src/core/lib/security/credentials/iam/iam_credentials.cc +19 -27
  879. data/src/core/lib/security/credentials/iam/iam_credentials.h +11 -9
  880. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +13 -7
  881. data/src/core/lib/security/credentials/jwt/json_token.cc +4 -6
  882. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +27 -43
  883. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +12 -12
  884. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +54 -41
  885. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +1 -1
  886. data/src/core/lib/security/credentials/local/local_credentials.h +6 -0
  887. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +137 -158
  888. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +52 -33
  889. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +95 -153
  890. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +54 -27
  891. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +1 -10
  892. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +6 -3
  893. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +25 -0
  894. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +17 -1
  895. data/src/core/lib/security/credentials/tls/tls_credentials.h +6 -0
  896. data/src/core/lib/security/credentials/xds/xds_credentials.h +6 -1
  897. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +8 -14
  898. data/src/core/lib/security/security_connector/alts/alts_security_connector.h +1 -1
  899. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +4 -12
  900. data/src/core/lib/security/security_connector/fake/fake_security_connector.h +0 -2
  901. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +6 -16
  902. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +4 -9
  903. data/src/core/lib/security/security_connector/local/local_security_connector.cc +8 -16
  904. data/src/core/lib/security/security_connector/security_connector.cc +3 -15
  905. data/src/core/lib/security/security_connector/security_connector.h +16 -21
  906. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +6 -11
  907. data/src/core/lib/security/security_connector/ssl_utils.cc +29 -31
  908. data/src/core/lib/security/security_connector/ssl_utils.h +13 -17
  909. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +21 -13
  910. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +6 -6
  911. data/src/core/lib/security/transport/auth_filters.h +37 -4
  912. data/src/core/lib/security/transport/client_auth_filter.cc +87 -358
  913. data/src/core/lib/security/transport/security_handshaker.cc +14 -6
  914. data/src/core/lib/security/transport/server_auth_filter.cc +41 -35
  915. data/src/core/lib/service_config/service_config.h +82 -0
  916. data/src/core/{ext → lib}/service_config/service_config_call_data.h +5 -5
  917. data/src/core/{ext/service_config/service_config.cc → lib/service_config/service_config_impl.cc} +20 -17
  918. data/src/core/{ext/service_config/service_config.h → lib/service_config/service_config_impl.h} +16 -18
  919. data/src/core/{ext → lib}/service_config/service_config_parser.cc +31 -27
  920. data/src/core/{ext → lib}/service_config/service_config_parser.h +39 -30
  921. data/src/core/lib/slice/slice.cc +76 -179
  922. data/src/core/lib/slice/slice.h +67 -24
  923. data/src/core/lib/slice/slice_internal.h +12 -31
  924. data/src/core/lib/slice/slice_refcount.cc +18 -0
  925. data/src/core/lib/slice/slice_refcount.h +6 -85
  926. data/src/core/lib/slice/slice_refcount_base.h +16 -136
  927. data/src/core/lib/surface/builtins.cc +6 -6
  928. data/src/core/lib/surface/call.cc +152 -387
  929. data/src/core/lib/surface/call.h +5 -5
  930. data/src/core/lib/surface/channel.cc +64 -71
  931. data/src/core/lib/surface/channel.h +10 -11
  932. data/src/core/lib/surface/channel_init.cc +1 -1
  933. data/src/core/lib/surface/channel_init.h +4 -4
  934. data/src/core/lib/surface/completion_queue.cc +10 -9
  935. data/src/core/lib/surface/init.cc +78 -9
  936. data/src/core/lib/surface/init.h +0 -2
  937. data/src/core/lib/surface/lame_client.cc +2 -2
  938. data/src/core/lib/surface/server.cc +23 -51
  939. data/src/core/lib/surface/server.h +5 -5
  940. data/src/core/lib/surface/version.cc +2 -2
  941. data/src/core/lib/transport/bdp_estimator.cc +9 -10
  942. data/src/core/lib/transport/bdp_estimator.h +2 -2
  943. data/src/core/lib/transport/error_utils.cc +5 -3
  944. data/src/core/lib/transport/error_utils.h +2 -1
  945. data/src/core/lib/transport/metadata_batch.h +1010 -750
  946. data/src/core/lib/transport/parsed_metadata.cc +2 -0
  947. data/src/core/lib/transport/parsed_metadata.h +115 -96
  948. data/src/core/lib/transport/status_conversion.cc +2 -2
  949. data/src/core/lib/transport/status_conversion.h +1 -1
  950. data/src/core/lib/transport/timeout_encoding.cc +204 -67
  951. data/src/core/lib/transport/timeout_encoding.h +40 -10
  952. data/src/core/lib/transport/transport.cc +3 -1
  953. data/src/core/lib/transport/transport.h +88 -3
  954. data/src/core/lib/transport/transport_impl.h +13 -0
  955. data/src/core/lib/transport/transport_op_string.cc +5 -47
  956. data/src/core/lib/uri/uri_parser.cc +227 -53
  957. data/src/core/lib/uri/uri_parser.h +37 -23
  958. data/src/core/plugin_registry/grpc_plugin_registry.cc +19 -87
  959. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +85 -0
  960. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +27 -22
  961. data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +9 -1
  962. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +19 -11
  963. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +2 -2
  964. data/src/core/tsi/alts/handshaker/alts_tsi_utils.h +1 -1
  965. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +2 -2
  966. data/src/core/tsi/alts/handshaker/transport_security_common_api.h +2 -2
  967. data/src/core/tsi/local_transport_security.cc +3 -11
  968. data/src/core/tsi/local_transport_security.h +1 -4
  969. data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +141 -0
  970. data/src/core/tsi/ssl/key_logging/ssl_key_logging.h +81 -0
  971. data/src/core/tsi/ssl/session_cache/ssl_session.h +2 -4
  972. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +3 -5
  973. data/src/core/tsi/ssl_transport_security.cc +105 -14
  974. data/src/core/tsi/ssl_transport_security.h +38 -6
  975. data/src/ruby/ext/grpc/extconf.rb +10 -3
  976. data/src/ruby/ext/grpc/rb_channel.c +5 -2
  977. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +20 -24
  978. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +30 -36
  979. data/src/ruby/ext/grpc/rb_server.c +7 -4
  980. data/src/ruby/lib/grpc/version.rb +1 -1
  981. data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +2 -1
  982. data/third_party/abseil-cpp/absl/base/internal/fast_type_id.h +48 -0
  983. data/third_party/abseil-cpp/absl/random/bernoulli_distribution.h +200 -0
  984. data/third_party/abseil-cpp/absl/random/beta_distribution.h +427 -0
  985. data/third_party/abseil-cpp/absl/random/discrete_distribution.cc +98 -0
  986. data/third_party/abseil-cpp/absl/random/discrete_distribution.h +247 -0
  987. data/third_party/abseil-cpp/absl/random/distributions.h +452 -0
  988. data/third_party/abseil-cpp/absl/random/exponential_distribution.h +165 -0
  989. data/third_party/abseil-cpp/absl/random/gaussian_distribution.cc +104 -0
  990. data/third_party/abseil-cpp/absl/random/gaussian_distribution.h +275 -0
  991. data/third_party/abseil-cpp/absl/random/internal/distribution_caller.h +92 -0
  992. data/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits.h +268 -0
  993. data/third_party/abseil-cpp/absl/random/internal/fastmath.h +57 -0
  994. data/third_party/abseil-cpp/absl/random/internal/generate_real.h +144 -0
  995. data/third_party/abseil-cpp/absl/random/internal/iostream_state_saver.h +245 -0
  996. data/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h +150 -0
  997. data/third_party/abseil-cpp/absl/random/internal/pcg_engine.h +308 -0
  998. data/third_party/abseil-cpp/absl/random/internal/platform.h +171 -0
  999. data/third_party/abseil-cpp/absl/random/internal/pool_urbg.cc +253 -0
  1000. data/third_party/abseil-cpp/absl/random/internal/pool_urbg.h +131 -0
  1001. data/third_party/abseil-cpp/absl/random/internal/randen.cc +91 -0
  1002. data/third_party/abseil-cpp/absl/random/internal/randen.h +102 -0
  1003. data/third_party/abseil-cpp/absl/random/internal/randen_detect.cc +221 -0
  1004. data/third_party/abseil-cpp/absl/random/internal/randen_detect.h +33 -0
  1005. data/third_party/abseil-cpp/absl/random/internal/randen_engine.h +239 -0
  1006. data/third_party/abseil-cpp/absl/random/internal/randen_hwaes.cc +526 -0
  1007. data/third_party/abseil-cpp/absl/random/internal/randen_hwaes.h +50 -0
  1008. data/third_party/abseil-cpp/absl/random/internal/randen_round_keys.cc +462 -0
  1009. data/third_party/abseil-cpp/absl/random/internal/randen_slow.cc +471 -0
  1010. data/third_party/abseil-cpp/absl/random/internal/randen_slow.h +40 -0
  1011. data/third_party/abseil-cpp/absl/random/internal/randen_traits.h +88 -0
  1012. data/third_party/abseil-cpp/absl/random/internal/salted_seed_seq.h +167 -0
  1013. data/third_party/abseil-cpp/absl/random/internal/seed_material.cc +267 -0
  1014. data/third_party/abseil-cpp/absl/random/internal/seed_material.h +104 -0
  1015. data/third_party/abseil-cpp/absl/random/internal/traits.h +101 -0
  1016. data/third_party/abseil-cpp/absl/random/internal/uniform_helper.h +244 -0
  1017. data/third_party/abseil-cpp/absl/random/internal/wide_multiply.h +111 -0
  1018. data/third_party/abseil-cpp/absl/random/log_uniform_int_distribution.h +257 -0
  1019. data/third_party/abseil-cpp/absl/random/poisson_distribution.h +258 -0
  1020. data/third_party/abseil-cpp/absl/random/random.h +189 -0
  1021. data/third_party/abseil-cpp/absl/random/seed_gen_exception.cc +46 -0
  1022. data/third_party/abseil-cpp/absl/random/seed_gen_exception.h +55 -0
  1023. data/third_party/abseil-cpp/absl/random/seed_sequences.cc +29 -0
  1024. data/third_party/abseil-cpp/absl/random/seed_sequences.h +110 -0
  1025. data/third_party/abseil-cpp/absl/random/uniform_int_distribution.h +275 -0
  1026. data/third_party/abseil-cpp/absl/random/uniform_real_distribution.h +202 -0
  1027. data/third_party/abseil-cpp/absl/random/zipf_distribution.h +271 -0
  1028. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +1 -0
  1029. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +13 -0
  1030. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +21 -0
  1031. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +12 -0
  1032. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +1 -2
  1033. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +2 -2
  1034. data/third_party/boringssl-with-bazel/src/crypto/mem.c +1 -1
  1035. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.c +29 -0
  1036. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +0 -1
  1037. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +1 -1
  1038. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +1 -1
  1039. data/third_party/boringssl-with-bazel/src/include/openssl/base64.h +8 -0
  1040. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +13 -1
  1041. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +10 -0
  1042. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +1 -1
  1043. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +9 -4
  1044. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +6 -1
  1045. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +23 -2
  1046. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +4 -0
  1047. data/third_party/cares/cares/{ares.h → include/ares.h} +73 -1
  1048. data/third_party/cares/cares/{ares_dns.h → include/ares_dns.h} +9 -0
  1049. data/third_party/cares/cares/{ares_rules.h → include/ares_rules.h} +0 -0
  1050. data/third_party/cares/cares/{ares_version.h → include/ares_version.h} +3 -3
  1051. data/third_party/cares/cares/{ares__close_sockets.c → src/lib/ares__close_sockets.c} +2 -2
  1052. data/third_party/cares/cares/{ares__get_hostent.c → src/lib/ares__get_hostent.c} +1 -2
  1053. data/third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c +260 -0
  1054. data/third_party/cares/cares/{ares__read_line.c → src/lib/ares__read_line.c} +0 -0
  1055. data/third_party/cares/cares/src/lib/ares__readaddrinfo.c +264 -0
  1056. data/third_party/cares/cares/src/lib/ares__sortaddrinfo.c +499 -0
  1057. data/third_party/cares/cares/{ares__timeval.c → src/lib/ares__timeval.c} +0 -0
  1058. data/third_party/cares/cares/src/lib/ares_android.c +444 -0
  1059. data/third_party/cares/cares/src/lib/ares_android.h +27 -0
  1060. data/third_party/cares/cares/{ares_cancel.c → src/lib/ares_cancel.c} +0 -0
  1061. data/third_party/cares/cares/{ares_create_query.c → src/lib/ares_create_query.c} +8 -17
  1062. data/third_party/cares/cares/{ares_data.c → src/lib/ares_data.c} +18 -0
  1063. data/third_party/cares/cares/{ares_data.h → src/lib/ares_data.h} +2 -0
  1064. data/third_party/cares/cares/{ares_destroy.c → src/lib/ares_destroy.c} +0 -0
  1065. data/third_party/cares/cares/{ares_expand_name.c → src/lib/ares_expand_name.c} +114 -23
  1066. data/third_party/cares/cares/{ares_expand_string.c → src/lib/ares_expand_string.c} +2 -5
  1067. data/third_party/cares/cares/{ares_fds.c → src/lib/ares_fds.c} +0 -0
  1068. data/third_party/cares/cares/{ares_free_hostent.c → src/lib/ares_free_hostent.c} +6 -4
  1069. data/third_party/cares/cares/{ares_free_string.c → src/lib/ares_free_string.c} +0 -0
  1070. data/third_party/cares/cares/src/lib/ares_freeaddrinfo.c +59 -0
  1071. data/third_party/cares/cares/src/lib/ares_getaddrinfo.c +772 -0
  1072. data/third_party/cares/cares/{ares_getenv.c → src/lib/ares_getenv.c} +0 -2
  1073. data/third_party/cares/cares/{ares_getenv.h → src/lib/ares_getenv.h} +0 -0
  1074. data/third_party/cares/cares/{ares_gethostbyaddr.c → src/lib/ares_gethostbyaddr.c} +2 -9
  1075. data/third_party/cares/cares/{ares_gethostbyname.c → src/lib/ares_gethostbyname.c} +25 -20
  1076. data/third_party/cares/cares/{ares_getnameinfo.c → src/lib/ares_getnameinfo.c} +4 -10
  1077. data/third_party/cares/cares/{ares_getsock.c → src/lib/ares_getsock.c} +0 -0
  1078. data/third_party/cares/cares/{ares_inet_net_pton.h → src/lib/ares_inet_net_pton.h} +0 -0
  1079. data/third_party/cares/cares/{ares_init.c → src/lib/ares_init.c} +79 -40
  1080. data/third_party/cares/cares/{ares_iphlpapi.h → src/lib/ares_iphlpapi.h} +0 -0
  1081. data/third_party/cares/cares/{ares_ipv6.h → src/lib/ares_ipv6.h} +7 -0
  1082. data/third_party/cares/cares/{ares_library_init.c → src/lib/ares_library_init.c} +7 -2
  1083. data/third_party/cares/cares/{ares_library_init.h → src/lib/ares_library_init.h} +1 -1
  1084. data/third_party/cares/cares/{ares_llist.c → src/lib/ares_llist.c} +0 -0
  1085. data/third_party/cares/cares/{ares_llist.h → src/lib/ares_llist.h} +0 -0
  1086. data/third_party/cares/cares/{ares_mkquery.c → src/lib/ares_mkquery.c} +0 -0
  1087. data/third_party/cares/cares/src/lib/ares_nameser.h +482 -0
  1088. data/third_party/cares/cares/{ares_nowarn.c → src/lib/ares_nowarn.c} +0 -0
  1089. data/third_party/cares/cares/{ares_nowarn.h → src/lib/ares_nowarn.h} +0 -0
  1090. data/third_party/cares/cares/{ares_options.c → src/lib/ares_options.c} +0 -0
  1091. data/third_party/cares/cares/src/lib/ares_parse_a_reply.c +209 -0
  1092. data/third_party/cares/cares/src/lib/ares_parse_aaaa_reply.c +212 -0
  1093. data/third_party/cares/cares/src/lib/ares_parse_caa_reply.c +199 -0
  1094. data/third_party/cares/cares/{ares_parse_mx_reply.c → src/lib/ares_parse_mx_reply.c} +2 -8
  1095. data/third_party/cares/cares/{ares_parse_naptr_reply.c → src/lib/ares_parse_naptr_reply.c} +2 -13
  1096. data/third_party/cares/cares/{ares_parse_ns_reply.c → src/lib/ares_parse_ns_reply.c} +5 -11
  1097. data/third_party/cares/cares/{ares_parse_ptr_reply.c → src/lib/ares_parse_ptr_reply.c} +53 -46
  1098. data/third_party/cares/cares/src/lib/ares_parse_soa_reply.c +179 -0
  1099. data/third_party/cares/cares/{ares_parse_srv_reply.c → src/lib/ares_parse_srv_reply.c} +2 -13
  1100. data/third_party/cares/cares/{ares_parse_txt_reply.c → src/lib/ares_parse_txt_reply.c} +3 -9
  1101. data/third_party/cares/cares/{ares_platform.c → src/lib/ares_platform.c} +0 -0
  1102. data/third_party/cares/cares/{ares_platform.h → src/lib/ares_platform.h} +0 -0
  1103. data/third_party/cares/cares/{ares_private.h → src/lib/ares_private.h} +52 -11
  1104. data/third_party/cares/cares/{ares_process.c → src/lib/ares_process.c} +127 -52
  1105. data/third_party/cares/cares/{ares_query.c → src/lib/ares_query.c} +3 -9
  1106. data/third_party/cares/cares/{ares_search.c → src/lib/ares_search.c} +5 -7
  1107. data/third_party/cares/cares/{ares_send.c → src/lib/ares_send.c} +2 -8
  1108. data/third_party/cares/cares/{ares_setup.h → src/lib/ares_setup.h} +4 -1
  1109. data/third_party/cares/cares/{ares_strcasecmp.c → src/lib/ares_strcasecmp.c} +0 -0
  1110. data/third_party/cares/cares/{ares_strcasecmp.h → src/lib/ares_strcasecmp.h} +0 -0
  1111. data/third_party/cares/cares/{ares_strdup.c → src/lib/ares_strdup.c} +0 -0
  1112. data/third_party/cares/cares/{ares_strdup.h → src/lib/ares_strdup.h} +0 -0
  1113. data/third_party/cares/cares/{ares_strerror.c → src/lib/ares_strerror.c} +0 -0
  1114. data/third_party/cares/cares/{ares_strsplit.c → src/lib/ares_strsplit.c} +4 -0
  1115. data/third_party/cares/cares/{ares_strsplit.h → src/lib/ares_strsplit.h} +0 -0
  1116. data/third_party/cares/cares/{ares_timeout.c → src/lib/ares_timeout.c} +0 -0
  1117. data/third_party/cares/cares/{ares_version.c → src/lib/ares_version.c} +0 -0
  1118. data/third_party/cares/cares/{ares_writev.c → src/lib/ares_writev.c} +0 -0
  1119. data/third_party/cares/cares/src/lib/ares_writev.h +36 -0
  1120. data/third_party/cares/cares/{bitncmp.c → src/lib/bitncmp.c} +0 -0
  1121. data/third_party/cares/cares/{bitncmp.h → src/lib/bitncmp.h} +0 -0
  1122. data/third_party/cares/cares/src/lib/config-dos.h +115 -0
  1123. data/third_party/cares/cares/{config-win32.h → src/lib/config-win32.h} +0 -0
  1124. data/third_party/cares/cares/{inet_net_pton.c → src/lib/inet_net_pton.c} +2 -8
  1125. data/third_party/cares/cares/{inet_ntop.c → src/lib/inet_ntop.c} +2 -8
  1126. data/third_party/cares/cares/{setup_once.h → src/lib/setup_once.h} +0 -0
  1127. data/third_party/cares/cares/{windows_port.c → src/lib/windows_port.c} +0 -0
  1128. data/third_party/upb/third_party/utf8_range/naive.c +92 -0
  1129. data/third_party/upb/third_party/utf8_range/range2-neon.c +157 -0
  1130. data/third_party/upb/third_party/utf8_range/range2-sse.c +170 -0
  1131. data/third_party/upb/third_party/utf8_range/utf8_range.h +9 -0
  1132. data/third_party/upb/upb/decode.c +526 -319
  1133. data/third_party/upb/upb/decode.h +43 -17
  1134. data/third_party/upb/upb/decode_fast.c +303 -301
  1135. data/third_party/upb/upb/decode_fast.h +18 -18
  1136. data/third_party/upb/upb/decode_internal.h +73 -56
  1137. data/third_party/upb/upb/def.c +1863 -1078
  1138. data/third_party/upb/upb/def.h +318 -286
  1139. data/third_party/upb/upb/def.hpp +129 -172
  1140. data/third_party/upb/upb/encode.c +202 -175
  1141. data/third_party/upb/upb/encode.h +15 -17
  1142. data/third_party/upb/upb/msg.c +144 -124
  1143. data/third_party/upb/upb/msg.h +40 -33
  1144. data/third_party/upb/upb/msg_internal.h +321 -272
  1145. data/third_party/upb/upb/reflection.c +239 -199
  1146. data/third_party/upb/upb/reflection.h +87 -67
  1147. data/third_party/upb/upb/reflection.hpp +6 -6
  1148. data/third_party/upb/upb/table.c +222 -142
  1149. data/third_party/upb/upb/table_internal.h +128 -96
  1150. data/third_party/upb/upb/text_encode.c +113 -90
  1151. data/third_party/upb/upb/text_encode.h +10 -10
  1152. data/third_party/upb/upb/upb.c +111 -72
  1153. data/third_party/upb/upb/upb.h +120 -144
  1154. data/third_party/upb/upb/upb.hpp +31 -28
  1155. data/third_party/upb/upb/upb_internal.h +21 -11
  1156. data/third_party/xxhash/xxhash.h +607 -352
  1157. metadata +406 -203
  1158. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +0 -44
  1159. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +0 -83
  1160. data/src/core/ext/filters/client_channel/resolver_registry.cc +0 -194
  1161. data/src/core/ext/filters/client_channel/resolver_registry.h +0 -88
  1162. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +0 -122
  1163. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +0 -92
  1164. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +0 -192
  1165. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +0 -52
  1166. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +0 -79
  1167. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +0 -125
  1168. data/src/core/ext/transport/chttp2/transport/chttp2_plugin.cc +0 -37
  1169. data/src/core/ext/transport/chttp2/transport/hpack_encoder_index.h +0 -107
  1170. data/src/core/ext/transport/chttp2/transport/hpack_utils.cc +0 -46
  1171. data/src/core/ext/transport/chttp2/transport/popularity_count.h +0 -60
  1172. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c +0 -38
  1173. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +0 -64
  1174. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c +0 -38
  1175. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +0 -64
  1176. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c +0 -38
  1177. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +0 -64
  1178. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c +0 -38
  1179. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +0 -64
  1180. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c +0 -38
  1181. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +0 -64
  1182. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/eval.upb.c +0 -102
  1183. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/eval.upb.h +0 -306
  1184. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/explain.upb.c +0 -56
  1185. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/explain.upb.h +0 -135
  1186. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/value.upb.c +0 -115
  1187. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/value.upb.h +0 -371
  1188. data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.c +0 -67
  1189. data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.h +0 -35
  1190. data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.c +0 -68
  1191. data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.h +0 -35
  1192. data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.c +0 -67
  1193. data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.h +0 -35
  1194. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c +0 -75
  1195. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.h +0 -35
  1196. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c +0 -69
  1197. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.h +0 -35
  1198. data/src/core/lib/compression/algorithm_metadata.h +0 -62
  1199. data/src/core/lib/compression/compression_args.cc +0 -140
  1200. data/src/core/lib/compression/compression_args.h +0 -58
  1201. data/src/core/lib/compression/stream_compression.cc +0 -81
  1202. data/src/core/lib/compression/stream_compression.h +0 -117
  1203. data/src/core/lib/compression/stream_compression_gzip.cc +0 -231
  1204. data/src/core/lib/compression/stream_compression_gzip.h +0 -28
  1205. data/src/core/lib/compression/stream_compression_identity.cc +0 -91
  1206. data/src/core/lib/compression/stream_compression_identity.h +0 -29
  1207. data/src/core/lib/iomgr/iomgr_custom.cc +0 -79
  1208. data/src/core/lib/iomgr/iomgr_custom.h +0 -49
  1209. data/src/core/lib/iomgr/pollset_custom.cc +0 -105
  1210. data/src/core/lib/iomgr/pollset_custom.h +0 -37
  1211. data/src/core/lib/iomgr/pollset_set_custom.cc +0 -47
  1212. data/src/core/lib/iomgr/pollset_set_custom.h +0 -26
  1213. data/src/core/lib/iomgr/resolve_address_custom.cc +0 -169
  1214. data/src/core/lib/iomgr/resolve_address_custom.h +0 -44
  1215. data/src/core/lib/iomgr/tcp_client_custom.cc +0 -146
  1216. data/src/core/lib/iomgr/tcp_custom.cc +0 -350
  1217. data/src/core/lib/iomgr/tcp_custom.h +0 -85
  1218. data/src/core/lib/iomgr/tcp_server_custom.cc +0 -457
  1219. data/src/core/lib/iomgr/timer_custom.cc +0 -96
  1220. data/src/core/lib/iomgr/timer_custom.h +0 -43
  1221. data/src/core/lib/security/authorization/sdk_server_authz_filter.cc +0 -173
  1222. data/src/core/lib/security/authorization/sdk_server_authz_filter.h +0 -67
  1223. data/src/core/lib/security/credentials/credentials_metadata.cc +0 -61
  1224. data/src/core/lib/slice/slice_intern.cc +0 -367
  1225. data/src/core/lib/slice/slice_utils.h +0 -200
  1226. data/src/core/lib/slice/static_slice.cc +0 -377
  1227. data/src/core/lib/slice/static_slice.h +0 -300
  1228. data/src/core/lib/surface/init_secure.cc +0 -103
  1229. data/src/core/lib/transport/metadata.cc +0 -714
  1230. data/src/core/lib/transport/metadata.h +0 -449
  1231. data/src/core/lib/transport/metadata_batch.cc +0 -99
  1232. data/src/core/lib/transport/static_metadata.cc +0 -1032
  1233. data/src/core/lib/transport/static_metadata.h +0 -322
  1234. data/src/core/lib/transport/status_metadata.cc +0 -63
  1235. data/src/core/lib/transport/status_metadata.h +0 -48
  1236. data/third_party/cares/cares/ares_getopt.c +0 -122
  1237. data/third_party/cares/cares/ares_getopt.h +0 -53
  1238. data/third_party/cares/cares/ares_parse_a_reply.c +0 -264
  1239. data/third_party/cares/cares/ares_parse_aaaa_reply.c +0 -264
  1240. data/third_party/cares/cares/ares_parse_soa_reply.c +0 -133
@@ -0,0 +1,56 @@
1
+ //
2
+ // Copyright 2015 gRPC authors.
3
+ //
4
+ // Licensed under the Apache License, Version 2.0 (the "License");
5
+ // you may not use this file except in compliance with the License.
6
+ // You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+ //
16
+
17
+ #ifndef GRPC_CORE_LIB_IOMGR_EVENT_ENGINE_RESOLVER_H
18
+ #define GRPC_CORE_LIB_IOMGR_EVENT_ENGINE_RESOLVER_H
19
+
20
+ #include <grpc/support/port_platform.h>
21
+
22
+ #include <string.h>
23
+ #include <sys/types.h>
24
+
25
+ #include <functional>
26
+
27
+ #include <grpc/support/alloc.h>
28
+ #include <grpc/support/log.h>
29
+ #include <grpc/support/string_util.h>
30
+ #include <grpc/support/time.h>
31
+
32
+ #include "src/core/lib/iomgr/port.h"
33
+ #include "src/core/lib/iomgr/resolve_address.h"
34
+
35
+ namespace grpc_core {
36
+ namespace experimental {
37
+
38
+ class EventEngineDNSResolver : public DNSResolver {
39
+ public:
40
+ // Gets the singleton instance, creating it first if it doesn't exist
41
+ static EventEngineDNSResolver* GetOrCreate();
42
+
43
+ OrphanablePtr<DNSResolver::Request> ResolveName(
44
+ absl::string_view name, absl::string_view default_port,
45
+ grpc_pollset_set* interested_parties,
46
+ std::function<void(absl::StatusOr<std::vector<grpc_resolved_address>>)>
47
+ on_done) override;
48
+
49
+ absl::StatusOr<std::vector<grpc_resolved_address>> ResolveNameBlocking(
50
+ absl::string_view name, absl::string_view default_port) override;
51
+ };
52
+
53
+ } // namespace experimental
54
+ } // namespace grpc_core
55
+
56
+ #endif // GRPC_CORE_LIB_IOMGR_EVENT_ENGINE_RESOLVER_H
@@ -139,7 +139,8 @@ void tcp_connect(grpc_closure* on_connect, grpc_endpoint** endpoint,
139
139
  grpc_slice_allocator* slice_allocator,
140
140
  grpc_pollset_set* /* interested_parties */,
141
141
  const grpc_channel_args* channel_args,
142
- const grpc_resolved_address* addr, grpc_millis deadline) {
142
+ const grpc_resolved_address* addr,
143
+ grpc_core::Timestamp deadline) {
143
144
  grpc_event_engine_endpoint* ee_endpoint =
144
145
  reinterpret_cast<grpc_event_engine_endpoint*>(
145
146
  grpc_tcp_create(channel_args, grpc_sockaddr_to_uri(addr)));
@@ -150,8 +151,8 @@ void tcp_connect(grpc_closure* on_connect, grpc_endpoint** endpoint,
150
151
  absl::make_unique<WrappedInternalSliceAllocator>(slice_allocator);
151
152
  EventEngine::ResolvedAddress ra(reinterpret_cast<const sockaddr*>(addr->addr),
152
153
  addr->len);
153
- absl::Time ee_deadline = grpc_core::ToAbslTime(
154
- grpc_millis_to_timespec(deadline, GPR_CLOCK_MONOTONIC));
154
+ absl::Time ee_deadline =
155
+ grpc_core::ToAbslTime(deadline.as_timespec(GPR_CLOCK_MONOTONIC));
155
156
  ChannelArgsEndpointConfig endpoint_config(channel_args);
156
157
  absl::Status connected = GetDefaultEventEngine()->Connect(
157
158
  ee_on_connect, ra, endpoint_config, std::move(ee_slice_allocator),
@@ -29,11 +29,10 @@ using ::grpc_event_engine::experimental::EventEngine;
29
29
  using ::grpc_event_engine::experimental::GetDefaultEventEngine;
30
30
  using ::grpc_event_engine::experimental::GrpcClosureToCallback;
31
31
 
32
- void timer_init(grpc_timer* timer, grpc_millis deadline,
32
+ void timer_init(grpc_timer* timer, grpc_core::Timestamp deadline,
33
33
  grpc_closure* closure) {
34
34
  timer->ee_task_handle = GetDefaultEventEngine()->RunAt(
35
- grpc_core::ToAbslTime(
36
- grpc_millis_to_timespec(deadline, GPR_CLOCK_REALTIME)),
35
+ grpc_core::ToAbslTime(deadline.as_timespec(GPR_CLOCK_REALTIME)),
37
36
  GrpcClosureToCallback(closure));
38
37
  timer->closure = closure;
39
38
  }
@@ -47,7 +46,7 @@ void timer_cancel(grpc_timer* timer) {
47
46
  }
48
47
 
49
48
  /* Internal API */
50
- grpc_timer_check_result timer_check(grpc_millis* /* next */) {
49
+ grpc_timer_check_result timer_check(grpc_core::Timestamp* /* next */) {
51
50
  return GRPC_TIMERS_NOT_CHECKED;
52
51
  }
53
52
  void timer_list_init() {}
@@ -27,7 +27,7 @@
27
27
  #include "src/core/lib/iomgr/error.h"
28
28
  #include "src/core/lib/profiling/timers.h"
29
29
 
30
- static void exec_ctx_run(grpc_closure* closure, grpc_error_handle error) {
30
+ static void exec_ctx_run(grpc_closure* closure) {
31
31
  #ifndef NDEBUG
32
32
  closure->scheduled = false;
33
33
  if (grpc_trace_closure.enabled()) {
@@ -37,111 +37,35 @@ static void exec_ctx_run(grpc_closure* closure, grpc_error_handle error) {
37
37
  closure->line_initiated);
38
38
  }
39
39
  #endif
40
+ #ifdef GRPC_ERROR_IS_ABSEIL_STATUS
41
+ grpc_error_handle error =
42
+ grpc_core::internal::StatusMoveFromHeapPtr(closure->error_data.error);
43
+ closure->error_data.error = 0;
44
+ closure->cb(closure->cb_arg, std::move(error));
45
+ #else
46
+ grpc_error_handle error =
47
+ reinterpret_cast<grpc_error_handle>(closure->error_data.error);
48
+ closure->error_data.error = 0;
40
49
  closure->cb(closure->cb_arg, error);
50
+ GRPC_ERROR_UNREF(error);
51
+ #endif
41
52
  #ifndef NDEBUG
42
53
  if (grpc_trace_closure.enabled()) {
43
54
  gpr_log(GPR_DEBUG, "closure %p finished", closure);
44
55
  }
45
56
  #endif
46
- GRPC_ERROR_UNREF(error);
47
- }
48
-
49
- static void exec_ctx_sched(grpc_closure* closure, grpc_error_handle error) {
50
- grpc_closure_list_append(grpc_core::ExecCtx::Get()->closure_list(), closure,
51
- error);
52
- }
53
-
54
- static gpr_timespec g_start_time;
55
- static gpr_cycle_counter g_start_cycle;
56
-
57
- static grpc_millis timespan_to_millis_round_down(gpr_timespec ts) {
58
- double x = GPR_MS_PER_SEC * static_cast<double>(ts.tv_sec) +
59
- static_cast<double>(ts.tv_nsec) / GPR_NS_PER_MS;
60
- if (x < 0) return 0;
61
- if (x > static_cast<double>(GRPC_MILLIS_INF_FUTURE)) {
62
- return GRPC_MILLIS_INF_FUTURE;
63
- }
64
- return static_cast<grpc_millis>(x);
65
- }
66
-
67
- static grpc_millis timespec_to_millis_round_down(gpr_timespec ts) {
68
- return timespan_to_millis_round_down(gpr_time_sub(ts, g_start_time));
69
- }
70
-
71
- static grpc_millis timespan_to_millis_round_up(gpr_timespec ts) {
72
- double x = GPR_MS_PER_SEC * static_cast<double>(ts.tv_sec) +
73
- static_cast<double>(ts.tv_nsec) / GPR_NS_PER_MS +
74
- static_cast<double>(GPR_NS_PER_SEC - 1) /
75
- static_cast<double>(GPR_NS_PER_SEC);
76
- if (x < 0) return 0;
77
- if (x > static_cast<double>(GRPC_MILLIS_INF_FUTURE)) {
78
- return GRPC_MILLIS_INF_FUTURE;
79
- }
80
- return static_cast<grpc_millis>(x);
81
- }
82
-
83
- static grpc_millis timespec_to_millis_round_up(gpr_timespec ts) {
84
- return timespan_to_millis_round_up(gpr_time_sub(ts, g_start_time));
85
- }
86
-
87
- gpr_timespec grpc_millis_to_timespec(grpc_millis millis,
88
- gpr_clock_type clock_type) {
89
- // special-case infinities as grpc_millis can be 32bit on some platforms
90
- // while gpr_time_from_millis always takes an int64_t.
91
- if (millis == GRPC_MILLIS_INF_FUTURE) {
92
- return gpr_inf_future(clock_type);
93
- }
94
- if (millis == GRPC_MILLIS_INF_PAST) {
95
- return gpr_inf_past(clock_type);
96
- }
97
-
98
- if (clock_type == GPR_TIMESPAN) {
99
- return gpr_time_from_millis(millis, GPR_TIMESPAN);
100
- }
101
- return gpr_time_add(gpr_convert_clock_type(g_start_time, clock_type),
102
- gpr_time_from_millis(millis, GPR_TIMESPAN));
103
- }
104
-
105
- grpc_millis grpc_timespec_to_millis_round_down(gpr_timespec ts) {
106
- return timespec_to_millis_round_down(
107
- gpr_convert_clock_type(ts, g_start_time.clock_type));
108
- }
109
-
110
- grpc_millis grpc_timespec_to_millis_round_up(gpr_timespec ts) {
111
- return timespec_to_millis_round_up(
112
- gpr_convert_clock_type(ts, g_start_time.clock_type));
113
57
  }
114
58
 
115
- grpc_millis grpc_cycle_counter_to_millis_round_down(gpr_cycle_counter cycles) {
116
- return timespan_to_millis_round_down(
117
- gpr_cycle_counter_sub(cycles, g_start_cycle));
118
- }
119
-
120
- grpc_millis grpc_cycle_counter_to_millis_round_up(gpr_cycle_counter cycles) {
121
- return timespan_to_millis_round_up(
122
- gpr_cycle_counter_sub(cycles, g_start_cycle));
59
+ static void exec_ctx_sched(grpc_closure* closure) {
60
+ grpc_closure_list_append(grpc_core::ExecCtx::Get()->closure_list(), closure);
123
61
  }
124
62
 
125
63
  namespace grpc_core {
64
+
126
65
  GPR_THREAD_LOCAL(ExecCtx*) ExecCtx::exec_ctx_;
127
66
  GPR_THREAD_LOCAL(ApplicationCallbackExecCtx*)
128
67
  ApplicationCallbackExecCtx::callback_exec_ctx_;
129
68
 
130
- // WARNING: for testing purposes only!
131
- void ExecCtx::TestOnlyGlobalInit(gpr_timespec new_val) {
132
- g_start_time = new_val;
133
- }
134
-
135
- void ExecCtx::GlobalInit(void) {
136
- // gpr_now(GPR_CLOCK_MONOTONIC) incurs a syscall. We don't actually know the
137
- // exact cycle the time was captured, so we use the average of cycles before
138
- // and after the syscall as the starting cycle.
139
- const gpr_cycle_counter cycle_before = gpr_get_cycle_counter();
140
- g_start_time = gpr_now(GPR_CLOCK_MONOTONIC);
141
- const gpr_cycle_counter cycle_after = gpr_get_cycle_counter();
142
- g_start_cycle = (cycle_before + cycle_after) / 2;
143
- }
144
-
145
69
  bool ExecCtx::Flush() {
146
70
  bool did_something = false;
147
71
  GPR_TIMER_SCOPE("grpc_exec_ctx_flush", 0);
@@ -151,9 +75,8 @@ bool ExecCtx::Flush() {
151
75
  closure_list_.head = closure_list_.tail = nullptr;
152
76
  while (c != nullptr) {
153
77
  grpc_closure* next = c->next_data.next;
154
- grpc_error_handle error = c->error_data.error;
155
78
  did_something = true;
156
- exec_ctx_run(c, error);
79
+ exec_ctx_run(c);
157
80
  c = next;
158
81
  }
159
82
  } else if (!grpc_combiner_continue_exec_ctx()) {
@@ -164,9 +87,9 @@ bool ExecCtx::Flush() {
164
87
  return did_something;
165
88
  }
166
89
 
167
- grpc_millis ExecCtx::Now() {
90
+ Timestamp ExecCtx::Now() {
168
91
  if (!now_is_valid_) {
169
- now_ = timespec_to_millis_round_down(gpr_now(GPR_CLOCK_MONOTONIC));
92
+ now_ = Timestamp::FromTimespecRoundDown(gpr_now(GPR_CLOCK_MONOTONIC));
170
93
  now_is_valid_ = true;
171
94
  }
172
95
  return now_;
@@ -195,7 +118,12 @@ void ExecCtx::Run(const DebugLocation& location, grpc_closure* closure,
195
118
  closure->run = false;
196
119
  GPR_ASSERT(closure->cb != nullptr);
197
120
  #endif
198
- exec_ctx_sched(closure, error);
121
+ #ifdef GRPC_ERROR_IS_ABSEIL_STATUS
122
+ closure->error_data.error = internal::StatusAllocHeapPtr(error);
123
+ #else
124
+ closure->error_data.error = reinterpret_cast<intptr_t>(error);
125
+ #endif
126
+ exec_ctx_sched(closure);
199
127
  }
200
128
 
201
129
  void ExecCtx::RunList(const DebugLocation& location, grpc_closure_list* list) {
@@ -218,7 +146,7 @@ void ExecCtx::RunList(const DebugLocation& location, grpc_closure_list* list) {
218
146
  c->run = false;
219
147
  GPR_ASSERT(c->cb != nullptr);
220
148
  #endif
221
- exec_ctx_sched(c, c->error_data.error);
149
+ exec_ctx_sched(c);
222
150
  c = next;
223
151
  }
224
152
  list->head = list->tail = nullptr;
@@ -23,6 +23,7 @@
23
23
 
24
24
  #include <limits>
25
25
 
26
+ #include <grpc/impl/codegen/gpr_types.h>
26
27
  #include <grpc/impl/codegen/grpc_types.h>
27
28
  #include <grpc/support/atm.h>
28
29
  #include <grpc/support/cpu.h>
@@ -32,13 +33,9 @@
32
33
  #include "src/core/lib/gpr/tls.h"
33
34
  #include "src/core/lib/gprpp/debug_location.h"
34
35
  #include "src/core/lib/gprpp/fork.h"
36
+ #include "src/core/lib/gprpp/time.h"
35
37
  #include "src/core/lib/iomgr/closure.h"
36
38
 
37
- typedef int64_t grpc_millis;
38
-
39
- #define GRPC_MILLIS_INF_FUTURE INT64_MAX
40
- #define GRPC_MILLIS_INF_PAST INT64_MIN
41
-
42
39
  /** A combiner represents a list of work to be executed later.
43
40
  Forward declared here to avoid a circular dependency with combiner.h. */
44
41
  typedef struct grpc_combiner grpc_combiner;
@@ -57,12 +54,6 @@ typedef struct grpc_combiner grpc_combiner;
57
54
  should not be counted by fork handlers */
58
55
  #define GRPC_APP_CALLBACK_EXEC_CTX_FLAG_IS_INTERNAL_THREAD 1
59
56
 
60
- gpr_timespec grpc_millis_to_timespec(grpc_millis millis, gpr_clock_type clock);
61
- grpc_millis grpc_timespec_to_millis_round_down(gpr_timespec ts);
62
- grpc_millis grpc_timespec_to_millis_round_up(gpr_timespec ts);
63
- grpc_millis grpc_cycle_counter_to_millis_round_down(gpr_cycle_counter cycles);
64
- grpc_millis grpc_cycle_counter_to_millis_round_up(gpr_cycle_counter cycles);
65
-
66
57
  namespace grpc_core {
67
58
  class Combiner;
68
59
  /** Execution context.
@@ -189,7 +180,7 @@ class ExecCtx {
189
180
  * otherwise refreshes the stored time, sets it valid and returns the new
190
181
  * value.
191
182
  */
192
- grpc_millis Now();
183
+ Timestamp Now();
193
184
 
194
185
  /** Invalidates the stored time value. A new time value will be set on calling
195
186
  * Now().
@@ -198,26 +189,18 @@ class ExecCtx {
198
189
 
199
190
  /** To be used only by shutdown code in iomgr */
200
191
  void SetNowIomgrShutdown() {
201
- now_ = GRPC_MILLIS_INF_FUTURE;
192
+ now_ = Timestamp::InfFuture();
202
193
  now_is_valid_ = true;
203
194
  }
204
195
 
205
196
  /** To be used only for testing.
206
197
  * Sets the now value.
207
198
  */
208
- void TestOnlySetNow(grpc_millis new_val) {
199
+ void TestOnlySetNow(Timestamp new_val) {
209
200
  now_ = new_val;
210
201
  now_is_valid_ = true;
211
202
  }
212
203
 
213
- static void TestOnlyGlobalInit(gpr_timespec new_val);
214
-
215
- /** Global initialization for ExecCtx. Called by iomgr. */
216
- static void GlobalInit(void);
217
-
218
- /** Global shutdown for ExecCtx. Called by iomgr. */
219
- static void GlobalShutdown(void) {}
220
-
221
204
  /** Gets pointer to current exec_ctx. */
222
205
  static ExecCtx* Get() { return exec_ctx_; }
223
206
 
@@ -245,7 +228,7 @@ class ExecCtx {
245
228
  unsigned starting_cpu_ = std::numeric_limits<unsigned>::max();
246
229
 
247
230
  bool now_is_valid_ = false;
248
- grpc_millis now_ = 0;
231
+ Timestamp now_;
249
232
 
250
233
  static GPR_THREAD_LOCAL(ExecCtx*) exec_ctx_;
251
234
  ExecCtx* last_exec_ctx_ = Get();
@@ -370,6 +353,7 @@ class ApplicationCallbackExecCtx {
370
353
  grpc_completion_queue_functor* tail_{nullptr};
371
354
  static GPR_THREAD_LOCAL(ApplicationCallbackExecCtx*) callback_exec_ctx_;
372
355
  };
356
+
373
357
  } // namespace grpc_core
374
358
 
375
359
  #endif /* GRPC_CORE_LIB_IOMGR_EXEC_CTX_H */
@@ -114,7 +114,6 @@ size_t Executor::RunClosures(const char* executor_name,
114
114
  grpc_closure* c = list.head;
115
115
  while (c != nullptr) {
116
116
  grpc_closure* next = c->next_data.next;
117
- grpc_error_handle error = c->error_data.error;
118
117
  #ifndef NDEBUG
119
118
  EXECUTOR_TRACE("(%s) run %p [created by %s:%d]", executor_name, c,
120
119
  c->file_created, c->line_created);
@@ -122,8 +121,18 @@ size_t Executor::RunClosures(const char* executor_name,
122
121
  #else
123
122
  EXECUTOR_TRACE("(%s) run %p", executor_name, c);
124
123
  #endif
124
+ #ifdef GRPC_ERROR_IS_ABSEIL_STATUS
125
+ grpc_error_handle error =
126
+ internal::StatusMoveFromHeapPtr(c->error_data.error);
127
+ c->error_data.error = 0;
128
+ c->cb(c->cb_arg, std::move(error));
129
+ #else
130
+ grpc_error_handle error =
131
+ reinterpret_cast<grpc_error_handle>(c->error_data.error);
132
+ c->error_data.error = 0;
125
133
  c->cb(c->cb_arg, error);
126
134
  GRPC_ERROR_UNREF(error);
135
+ #endif
127
136
  c = next;
128
137
  n++;
129
138
  ExecCtx::Get()->Flush();
@@ -67,12 +67,13 @@ void grpc_prefork() {
67
67
  if (poll_strategy_name == nullptr ||
68
68
  (strcmp(poll_strategy_name, "epoll1") != 0 &&
69
69
  strcmp(poll_strategy_name, "poll") != 0)) {
70
- gpr_log(GPR_INFO,
70
+ gpr_log(GPR_ERROR,
71
71
  "Fork support is only compatible with the epoll1 and poll polling "
72
72
  "strategies");
73
+ return;
73
74
  }
74
75
  if (!grpc_core::Fork::BlockExecCtx()) {
75
- gpr_log(GPR_INFO,
76
+ gpr_log(GPR_ERROR,
76
77
  "Other threads are currently calling into gRPC, skipping fork() "
77
78
  "handlers");
78
79
  return;
@@ -44,18 +44,18 @@ static gpr_atm g_custom_events = 0;
44
44
 
45
45
  static HANDLE g_iocp;
46
46
 
47
- static DWORD deadline_to_millis_timeout(grpc_millis deadline) {
48
- if (deadline == GRPC_MILLIS_INF_FUTURE) {
47
+ static DWORD deadline_to_millis_timeout(grpc_core::Timestamp deadline) {
48
+ if (deadline == grpc_core::Timestamp::InfFuture()) {
49
49
  return INFINITE;
50
50
  }
51
- grpc_millis now = grpc_core::ExecCtx::Get()->Now();
51
+ grpc_core::Timestamp now = grpc_core::ExecCtx::Get()->Now();
52
52
  if (deadline < now) return 0;
53
- grpc_millis timeout = deadline - now;
54
- if (timeout > std::numeric_limits<DWORD>::max()) return INFINITE;
55
- return static_cast<DWORD>(deadline - now);
53
+ grpc_core::Duration timeout = deadline - now;
54
+ if (timeout.millis() > std::numeric_limits<DWORD>::max()) return INFINITE;
55
+ return static_cast<DWORD>(timeout.millis());
56
56
  }
57
57
 
58
- grpc_iocp_work_status grpc_iocp_work(grpc_millis deadline) {
58
+ grpc_iocp_work_status grpc_iocp_work(grpc_core::Timestamp deadline) {
59
59
  BOOL success;
60
60
  DWORD bytes = 0;
61
61
  DWORD flags = 0;
@@ -124,7 +124,7 @@ void grpc_iocp_flush(void) {
124
124
  grpc_iocp_work_status work_status;
125
125
 
126
126
  do {
127
- work_status = grpc_iocp_work(GRPC_MILLIS_INF_PAST);
127
+ work_status = grpc_iocp_work(grpc_core::Timestamp::InfPast());
128
128
  } while (work_status == GRPC_IOCP_WORK_KICK ||
129
129
  grpc_core::ExecCtx::Get()->Flush());
130
130
  }
@@ -132,7 +132,7 @@ void grpc_iocp_flush(void) {
132
132
  void grpc_iocp_shutdown(void) {
133
133
  grpc_core::ExecCtx exec_ctx;
134
134
  while (gpr_atm_acq_load(&g_custom_events)) {
135
- grpc_iocp_work(GRPC_MILLIS_INF_FUTURE);
135
+ grpc_iocp_work(grpc_core::Timestamp::InfFuture());
136
136
  grpc_core::ExecCtx::Get()->Flush();
137
137
  }
138
138
 
@@ -36,7 +36,7 @@ typedef enum {
36
36
  GRPC_IOCP_WORK_KICK
37
37
  } grpc_iocp_work_status;
38
38
 
39
- grpc_iocp_work_status grpc_iocp_work(grpc_millis deadline);
39
+ grpc_iocp_work_status grpc_iocp_work(grpc_core::Timestamp deadline);
40
40
  void grpc_iocp_init(void);
41
41
  void grpc_iocp_kick(void);
42
42
  void grpc_iocp_flush(void);
@@ -26,6 +26,7 @@
26
26
  #include "src/core/lib/iomgr/ev_posix.h"
27
27
  #include "src/core/lib/iomgr/iomgr_internal.h"
28
28
  #include "src/core/lib/iomgr/resolve_address.h"
29
+ #include "src/core/lib/iomgr/resolve_address_posix.h"
29
30
  #include "src/core/lib/iomgr/tcp_client.h"
30
31
  #include "src/core/lib/iomgr/tcp_posix.h"
31
32
  #include "src/core/lib/iomgr/tcp_server.h"
@@ -36,7 +37,6 @@ extern grpc_tcp_client_vtable grpc_posix_tcp_client_vtable;
36
37
  extern grpc_timer_vtable grpc_generic_timer_vtable;
37
38
  extern grpc_pollset_vtable grpc_posix_pollset_vtable;
38
39
  extern grpc_pollset_set_vtable grpc_posix_pollset_set_vtable;
39
- extern grpc_address_resolver_vtable grpc_posix_resolver_vtable;
40
40
 
41
41
  static void iomgr_platform_init(void) {
42
42
  grpc_wakeup_fd_global_init();
@@ -79,7 +79,7 @@ void grpc_set_default_iomgr_platform() {
79
79
  grpc_set_timer_impl(&grpc_generic_timer_vtable);
80
80
  grpc_set_pollset_vtable(&grpc_posix_pollset_vtable);
81
81
  grpc_set_pollset_set_vtable(&grpc_posix_pollset_set_vtable);
82
- grpc_set_resolver_impl(&grpc_posix_resolver_vtable);
82
+ grpc_core::SetDNSResolver(grpc_core::NativeDNSResolver::GetOrCreate());
83
83
  grpc_set_iomgr_platform_vtable(&vtable);
84
84
  }
85
85
 
@@ -41,6 +41,7 @@
41
41
  #include "src/core/lib/iomgr/ev_posix.h"
42
42
  #include "src/core/lib/iomgr/iomgr_internal.h"
43
43
  #include "src/core/lib/iomgr/resolve_address.h"
44
+ #include "src/core/lib/iomgr/resolve_address_posix.h"
44
45
  #include "src/core/lib/iomgr/tcp_client.h"
45
46
  #include "src/core/lib/iomgr/tcp_posix.h"
46
47
  #include "src/core/lib/iomgr/tcp_server.h"
@@ -55,7 +56,6 @@ extern grpc_tcp_client_vtable grpc_cfstream_client_vtable;
55
56
  extern grpc_timer_vtable grpc_generic_timer_vtable;
56
57
  extern grpc_pollset_vtable grpc_posix_pollset_vtable;
57
58
  extern grpc_pollset_set_vtable grpc_posix_pollset_set_vtable;
58
- extern grpc_address_resolver_vtable grpc_posix_resolver_vtable;
59
59
 
60
60
  static void apple_iomgr_platform_init(void) { grpc_pollset_global_init(); }
61
61
 
@@ -178,7 +178,7 @@ void grpc_set_default_iomgr_platform() {
178
178
  grpc_set_iomgr_platform_vtable(&apple_vtable);
179
179
  }
180
180
  grpc_set_timer_impl(&grpc_generic_timer_vtable);
181
- grpc_set_resolver_impl(&grpc_posix_resolver_vtable);
181
+ grpc_core::SetDNSResolver(grpc_core::NativeDNSResolver::GetOrCreate());
182
182
  }
183
183
 
184
184
  bool grpc_iomgr_run_in_background() {
@@ -28,6 +28,7 @@
28
28
  #include "src/core/lib/iomgr/iomgr.h"
29
29
  #include "src/core/lib/iomgr/pollset_windows.h"
30
30
  #include "src/core/lib/iomgr/resolve_address.h"
31
+ #include "src/core/lib/iomgr/resolve_address_windows.h"
31
32
  #include "src/core/lib/iomgr/sockaddr_windows.h"
32
33
  #include "src/core/lib/iomgr/socket_windows.h"
33
34
  #include "src/core/lib/iomgr/tcp_client.h"
@@ -39,7 +40,6 @@ extern grpc_tcp_client_vtable grpc_windows_tcp_client_vtable;
39
40
  extern grpc_timer_vtable grpc_generic_timer_vtable;
40
41
  extern grpc_pollset_vtable grpc_windows_pollset_vtable;
41
42
  extern grpc_pollset_set_vtable grpc_windows_pollset_set_vtable;
42
- extern grpc_address_resolver_vtable grpc_windows_resolver_vtable;
43
43
 
44
44
  /* Windows' io manager is going to be fully designed using IO completion
45
45
  ports. All of what we're doing here is basically make sure that
@@ -96,7 +96,7 @@ void grpc_set_default_iomgr_platform() {
96
96
  grpc_set_timer_impl(&grpc_generic_timer_vtable);
97
97
  grpc_set_pollset_vtable(&grpc_windows_pollset_vtable);
98
98
  grpc_set_pollset_set_vtable(&grpc_windows_pollset_set_vtable);
99
- grpc_set_resolver_impl(&grpc_windows_resolver_vtable);
99
+ grpc_core::SetDNSResolver(grpc_core::NativeDNSResolver::GetOrCreate());
100
100
  grpc_set_iomgr_platform_vtable(&vtable);
101
101
  }
102
102
 
@@ -23,6 +23,7 @@
23
23
 
24
24
  #include "src/core/lib/iomgr/pollset.h"
25
25
  #include "src/core/lib/iomgr/pollset_set.h"
26
+ #include "src/core/lib/promise/context.h"
26
27
 
27
28
  typedef enum grpc_pollset_tag {
28
29
  GRPC_POLLS_NONE,
@@ -65,4 +66,9 @@ void grpc_polling_entity_add_to_pollset_set(grpc_polling_entity* pollent,
65
66
  void grpc_polling_entity_del_from_pollset_set(grpc_polling_entity* pollent,
66
67
  grpc_pollset_set* pss_dst);
67
68
 
69
+ namespace grpc_core {
70
+ template <>
71
+ struct ContextType<grpc_polling_entity> {};
72
+ } // namespace grpc_core
73
+
68
74
  #endif /* GRPC_CORE_LIB_IOMGR_POLLING_ENTITY_H */
@@ -44,7 +44,7 @@ void grpc_pollset_destroy(grpc_pollset* pollset) {
44
44
 
45
45
  grpc_error_handle grpc_pollset_work(grpc_pollset* pollset,
46
46
  grpc_pollset_worker** worker,
47
- grpc_millis deadline) {
47
+ grpc_core::Timestamp deadline) {
48
48
  return grpc_pollset_impl->work(pollset, worker, deadline);
49
49
  }
50
50
 
@@ -45,7 +45,7 @@ typedef struct grpc_pollset_vtable {
45
45
  void (*shutdown)(grpc_pollset* pollset, grpc_closure* closure);
46
46
  void (*destroy)(grpc_pollset* pollset);
47
47
  grpc_error_handle (*work)(grpc_pollset* pollset, grpc_pollset_worker** worker,
48
- grpc_millis deadline);
48
+ grpc_core::Timestamp deadline);
49
49
  grpc_error_handle (*kick)(grpc_pollset* pollset,
50
50
  grpc_pollset_worker* specific_worker);
51
51
  size_t (*pollset_size)(void);
@@ -86,9 +86,9 @@ void grpc_pollset_destroy(grpc_pollset* pollset);
86
86
  May call grpc_closure_list_run on grpc_closure_list, without holding the
87
87
  pollset
88
88
  lock */
89
- grpc_error_handle grpc_pollset_work(grpc_pollset* pollset,
90
- grpc_pollset_worker** worker,
91
- grpc_millis deadline) GRPC_MUST_USE_RESULT;
89
+ grpc_error_handle grpc_pollset_work(
90
+ grpc_pollset* pollset, grpc_pollset_worker** worker,
91
+ grpc_core::Timestamp deadline) GRPC_MUST_USE_RESULT;
92
92
 
93
93
  /* Break one polling thread out of polling work for this pollset.
94
94
  If specific_worker is non-NULL, then kick that worker. */
@@ -108,7 +108,7 @@ static void pollset_destroy(grpc_pollset* pollset) {}
108
108
 
109
109
  static grpc_error_handle pollset_work(grpc_pollset* pollset,
110
110
  grpc_pollset_worker** worker_hdl,
111
- grpc_millis deadline) {
111
+ grpc_core::Timestamp deadline) {
112
112
  grpc_pollset_worker worker;
113
113
  if (worker_hdl) *worker_hdl = &worker;
114
114
 
@@ -159,7 +159,7 @@ static grpc_error_handle pollset_work(grpc_pollset* pollset,
159
159
  added_worker = 1;
160
160
  while (!worker.kicked) {
161
161
  if (gpr_cv_wait(&worker.cv, &grpc_polling_mu,
162
- grpc_millis_to_timespec(deadline, GPR_CLOCK_REALTIME))) {
162
+ deadline.as_timespec(GPR_CLOCK_REALTIME))) {
163
163
  grpc_core::ExecCtx::Get()->InvalidateNow();
164
164
  break;
165
165
  }
@@ -25,9 +25,7 @@
25
25
  #ifdef GPR_WINDOWS
26
26
  #define GRPC_ARES_RESOLVE_LOCALHOST_MANUALLY 1
27
27
  #endif
28
- #if defined(GRPC_CUSTOM_SOCKET)
29
- // Do Nothing
30
- #elif defined(GRPC_USE_EVENT_ENGINE)
28
+ #if defined(GRPC_USE_EVENT_ENGINE)
31
29
  // Do Nothing
32
30
  #elif defined(GPR_WINDOWS)
33
31
  #define GRPC_WINSOCK_SOCKET 1
@@ -73,9 +71,9 @@
73
71
  #if __GLIBC_PREREQ(2, 10)
74
72
  #define GRPC_LINUX_SOCKETUTILS 1
75
73
  #endif
76
- #if !(__GLIBC_PREREQ(2, 17))
74
+ #if !(__GLIBC_PREREQ(2, 18))
77
75
  /*
78
- * TCP_USER_TIMEOUT wasn't imported to glibc until 2.17. Use Linux system
76
+ * TCP_USER_TIMEOUT wasn't imported to glibc until 2.18. Use Linux system
79
77
  * header instead.
80
78
  */
81
79
  #define GRPC_LINUX_TCP_H 1
@@ -184,12 +182,11 @@
184
182
  #error "Platform not recognized"
185
183
  #endif
186
184
 
187
- #if defined(GRPC_POSIX_SOCKET) + defined(GRPC_WINSOCK_SOCKET) + \
188
- defined(GRPC_CUSTOM_SOCKET) + defined(GRPC_CFSTREAM) + \
189
- defined(GRPC_USE_EVENT_ENGINE) != \
185
+ #if defined(GRPC_POSIX_SOCKET) + defined(GRPC_WINSOCK_SOCKET) + \
186
+ defined(GRPC_CFSTREAM) + defined(GRPC_USE_EVENT_ENGINE) != \
190
187
  1
191
188
  #error \
192
- "Must define exactly one of GRPC_POSIX_SOCKET, GRPC_WINSOCK_SOCKET, GRPC_CUSTOM_SOCKET, GRPC_CFSTREAM, GRPC_USE_EVENT_ENGINE"
189
+ "Must define exactly one of GRPC_POSIX_SOCKET, GRPC_WINSOCK_SOCKET, GRPC_CFSTREAM, GRPC_USE_EVENT_ENGINE"
193
190
  #endif
194
191
 
195
192
  #ifdef GRPC_POSIX_SOCKET