grpc 1.44.0.pre2 → 1.46.3

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 (1167) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +311 -191
  3. data/include/grpc/event_engine/event_engine.h +2 -2
  4. data/include/grpc/grpc.h +40 -14
  5. data/include/grpc/grpc_posix.h +20 -19
  6. data/include/grpc/grpc_security.h +26 -50
  7. data/include/grpc/impl/codegen/grpc_types.h +18 -21
  8. data/include/grpc/impl/codegen/port_platform.h +2 -2
  9. data/include/grpc/impl/codegen/slice.h +4 -1
  10. data/include/grpc/slice.h +0 -11
  11. data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +309 -0
  12. data/src/core/ext/filters/channel_idle/channel_idle_filter.h +122 -0
  13. data/src/core/ext/filters/{client_idle → channel_idle}/idle_filter_state.cc +1 -1
  14. data/src/core/ext/filters/{client_idle → channel_idle}/idle_filter_state.h +5 -5
  15. data/src/core/ext/filters/client_channel/backend_metric.cc +3 -3
  16. data/src/core/ext/filters/client_channel/backup_poller.cc +12 -8
  17. data/src/core/ext/filters/client_channel/channel_connectivity.cc +5 -5
  18. data/src/core/ext/filters/client_channel/client_channel.cc +242 -153
  19. data/src/core/ext/filters/client_channel/client_channel.h +32 -29
  20. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +5 -11
  21. data/src/core/ext/filters/client_channel/connector.h +1 -1
  22. data/src/core/ext/filters/client_channel/dynamic_filters.cc +1 -2
  23. data/src/core/ext/filters/client_channel/dynamic_filters.h +1 -1
  24. data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +2 -22
  25. data/src/core/ext/filters/client_channel/global_subchannel_pool.h +3 -15
  26. data/src/core/ext/filters/client_channel/health/health_check_client.cc +124 -582
  27. data/src/core/ext/filters/client_channel/health/health_check_client.h +24 -160
  28. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +9 -12
  29. data/src/core/ext/filters/client_channel/http_proxy.cc +88 -110
  30. data/src/core/ext/filters/client_channel/http_proxy.h +17 -0
  31. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +1 -0
  32. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +68 -47
  33. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +15 -15
  34. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +4 -4
  35. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +7 -3
  36. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +193 -148
  37. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +2 -6
  38. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +120 -92
  39. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +88 -59
  40. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +60 -52
  41. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +51 -24
  42. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +16 -8
  43. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +245 -293
  44. data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +7 -13
  45. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +126 -278
  46. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +18 -19
  47. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +62 -234
  48. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +8 -7
  49. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +82 -57
  50. data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +201 -0
  51. data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +106 -0
  52. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +35 -34
  53. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +135 -89
  54. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +7 -10
  55. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +11 -5
  56. data/src/core/ext/filters/client_channel/retry_filter.cc +236 -127
  57. data/src/core/ext/filters/client_channel/retry_service_config.cc +15 -17
  58. data/src/core/ext/filters/client_channel/retry_service_config.h +17 -11
  59. data/src/core/ext/filters/client_channel/retry_throttle.cc +9 -23
  60. data/src/core/ext/filters/client_channel/retry_throttle.h +11 -5
  61. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +7 -6
  62. data/src/core/ext/filters/client_channel/subchannel.cc +38 -41
  63. data/src/core/ext/filters/client_channel/subchannel.h +5 -4
  64. data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +544 -0
  65. data/src/core/ext/filters/client_channel/subchannel_stream_client.h +214 -0
  66. data/src/core/ext/filters/deadline/deadline_filter.cc +15 -14
  67. data/src/core/ext/filters/deadline/deadline_filter.h +3 -2
  68. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +133 -367
  69. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +24 -1
  70. data/src/core/ext/filters/fault_injection/service_config_parser.cc +5 -5
  71. data/src/core/ext/filters/fault_injection/service_config_parser.h +9 -3
  72. data/src/core/ext/filters/http/client/http_client_filter.cc +79 -455
  73. data/src/core/ext/filters/http/client/http_client_filter.h +21 -4
  74. data/src/core/ext/filters/http/client_authority_filter.cc +31 -79
  75. data/src/core/ext/filters/http/client_authority_filter.h +24 -5
  76. data/src/core/ext/filters/http/http_filters_plugin.cc +20 -18
  77. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +1 -0
  78. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +10 -2
  79. data/src/core/ext/filters/http/server/http_server_filter.cc +3 -116
  80. data/src/core/ext/filters/message_size/message_size_filter.cc +26 -34
  81. data/src/core/ext/filters/message_size/message_size_filter.h +9 -2
  82. data/src/core/ext/filters/rbac/rbac_filter.cc +13 -8
  83. data/src/core/ext/filters/rbac/rbac_filter.h +2 -0
  84. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +6 -5
  85. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +6 -1
  86. data/src/core/ext/filters/server_config_selector/server_config_selector.cc +2 -8
  87. data/src/core/ext/filters/server_config_selector/server_config_selector.h +2 -2
  88. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +73 -200
  89. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +235 -0
  90. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +153 -10
  91. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +233 -59
  92. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +8 -2
  93. data/src/core/ext/transport/chttp2/transport/flow_control.cc +2 -2
  94. data/src/core/ext/transport/chttp2/transport/flow_control.h +3 -3
  95. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +4 -4
  96. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +5 -0
  97. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +2 -0
  98. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +3 -8
  99. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +1 -1
  100. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +15 -51
  101. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +2 -2
  102. data/src/core/ext/transport/chttp2/transport/internal.h +10 -8
  103. data/src/core/ext/transport/chttp2/transport/parsing.cc +11 -3
  104. data/src/core/ext/transport/chttp2/transport/writing.cc +34 -20
  105. data/src/core/ext/transport/inproc/inproc_transport.cc +16 -12
  106. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +117 -0
  107. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +482 -0
  108. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +121 -0
  109. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +553 -0
  110. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +182 -176
  111. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +1248 -685
  112. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +56 -0
  113. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +151 -0
  114. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +62 -0
  115. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +160 -0
  116. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +46 -0
  117. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +124 -0
  118. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +43 -0
  119. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +102 -0
  120. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c +43 -0
  121. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +97 -0
  122. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c +106 -0
  123. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +605 -0
  124. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +48 -0
  125. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +103 -0
  126. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +14 -12
  127. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +49 -16
  128. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +13 -11
  129. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +49 -23
  130. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +98 -96
  131. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +669 -386
  132. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +185 -173
  133. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +1269 -664
  134. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +34 -26
  135. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +200 -91
  136. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +252 -238
  137. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +1670 -827
  138. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +10 -8
  139. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +42 -24
  140. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +49 -27
  141. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +272 -99
  142. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +299 -0
  143. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +1381 -0
  144. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +54 -50
  145. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +354 -190
  146. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +11 -8
  147. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +45 -25
  148. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +157 -154
  149. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +1068 -582
  150. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +87 -42
  151. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +525 -167
  152. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +9 -7
  153. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +38 -24
  154. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +11 -29
  155. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +41 -101
  156. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +58 -0
  157. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +151 -0
  158. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +108 -104
  159. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +768 -410
  160. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +115 -84
  161. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +736 -349
  162. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +11 -9
  163. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +57 -31
  164. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +162 -108
  165. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +992 -397
  166. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +8 -6
  167. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +28 -17
  168. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +15 -13
  169. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +83 -49
  170. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +13 -11
  171. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +75 -34
  172. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +15 -13
  173. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +93 -49
  174. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +11 -9
  175. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +46 -26
  176. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +34 -32
  177. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +194 -109
  178. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +51 -48
  179. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +349 -190
  180. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +49 -47
  181. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +357 -188
  182. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +9 -7
  183. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +34 -21
  184. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +72 -61
  185. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +504 -260
  186. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +77 -69
  187. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +560 -301
  188. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +19 -15
  189. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +104 -49
  190. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +12 -10
  191. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +66 -41
  192. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +53 -0
  193. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +136 -0
  194. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +58 -55
  195. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +413 -235
  196. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +62 -60
  197. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +406 -237
  198. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +82 -76
  199. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +562 -294
  200. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +37 -31
  201. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +271 -142
  202. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +503 -475
  203. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +3642 -1901
  204. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +25 -19
  205. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +148 -72
  206. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +222 -0
  207. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +1052 -0
  208. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +44 -0
  209. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +88 -0
  210. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +49 -0
  211. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +103 -0
  212. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +15 -13
  213. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +77 -46
  214. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +52 -0
  215. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +134 -0
  216. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +63 -0
  217. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +250 -0
  218. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +47 -0
  219. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +94 -0
  220. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +69 -0
  221. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +213 -0
  222. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +32 -0
  223. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +42 -0
  224. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +71 -0
  225. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +218 -0
  226. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +54 -0
  227. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +146 -0
  228. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +8 -6
  229. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +34 -24
  230. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +29 -27
  231. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +188 -113
  232. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +36 -34
  233. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +260 -132
  234. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +17 -14
  235. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +86 -49
  236. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +16 -14
  237. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +86 -43
  238. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +229 -198
  239. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +1553 -734
  240. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +3 -1
  241. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +2 -1
  242. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +87 -58
  243. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +554 -235
  244. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +26 -24
  245. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +156 -87
  246. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +98 -71
  247. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +622 -263
  248. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +62 -0
  249. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +160 -0
  250. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +6 -4
  251. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +22 -16
  252. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +67 -65
  253. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +474 -256
  254. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +18 -16
  255. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +107 -62
  256. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +51 -49
  257. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +347 -186
  258. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +48 -0
  259. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +112 -0
  260. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +20 -18
  261. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +124 -82
  262. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +74 -0
  263. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +214 -0
  264. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +16 -14
  265. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +99 -57
  266. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +10 -8
  267. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +50 -31
  268. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +10 -8
  269. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +48 -27
  270. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +9 -7
  271. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +38 -24
  272. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +21 -19
  273. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +117 -69
  274. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +19 -17
  275. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +123 -65
  276. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +14 -12
  277. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +85 -53
  278. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +23 -21
  279. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +150 -83
  280. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +32 -30
  281. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +230 -146
  282. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +36 -34
  283. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +235 -131
  284. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +66 -0
  285. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +201 -0
  286. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +3 -1
  287. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +2 -1
  288. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +42 -0
  289. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +139 -0
  290. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +13 -11
  291. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +62 -36
  292. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +19 -17
  293. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +98 -52
  294. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.c +26 -0
  295. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.h +41 -0
  296. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +10 -8
  297. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +40 -19
  298. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c +51 -0
  299. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +127 -0
  300. data/src/core/ext/upb-generated/google/api/annotations.upb.c +8 -6
  301. data/src/core/ext/upb-generated/google/api/annotations.upb.h +22 -6
  302. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +109 -103
  303. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +720 -382
  304. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +120 -112
  305. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +795 -402
  306. data/src/core/ext/upb-generated/google/api/http.upb.c +29 -27
  307. data/src/core/ext/upb-generated/google/api/http.upb.h +216 -115
  308. data/src/core/ext/upb-generated/google/api/httpbody.upb.c +46 -0
  309. data/src/core/ext/upb-generated/google/api/httpbody.upb.h +111 -0
  310. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +9 -7
  311. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +38 -22
  312. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +291 -237
  313. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +2076 -1030
  314. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +9 -7
  315. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +36 -20
  316. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +6 -4
  317. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +22 -16
  318. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +31 -29
  319. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +177 -93
  320. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +9 -7
  321. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +36 -20
  322. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +40 -38
  323. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +240 -149
  324. data/src/core/ext/upb-generated/google/rpc/status.upb.c +11 -9
  325. data/src/core/ext/upb-generated/google/rpc/status.upb.h +52 -30
  326. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +84 -0
  327. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +319 -0
  328. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +21 -19
  329. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +103 -48
  330. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +102 -96
  331. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +685 -359
  332. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +16 -13
  333. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +76 -41
  334. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +12 -10
  335. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +56 -35
  336. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +57 -55
  337. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +383 -219
  338. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +22 -20
  339. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +115 -63
  340. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +175 -0
  341. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +764 -0
  342. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +36 -34
  343. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +189 -78
  344. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +14 -12
  345. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +53 -22
  346. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +7 -5
  347. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +15 -6
  348. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +14 -12
  349. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +55 -24
  350. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +13 -11
  351. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +49 -23
  352. data/src/core/ext/upb-generated/validate/validate.upb.c +339 -312
  353. data/src/core/ext/upb-generated/validate/validate.upb.h +2726 -1180
  354. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +110 -0
  355. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +278 -0
  356. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +55 -0
  357. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +108 -0
  358. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c +38 -0
  359. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h +46 -0
  360. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +34 -32
  361. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +171 -80
  362. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +53 -0
  363. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +99 -0
  364. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +8 -6
  365. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +30 -19
  366. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +18 -16
  367. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +98 -55
  368. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +14 -12
  369. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +53 -30
  370. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +46 -0
  371. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +103 -0
  372. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +12 -10
  373. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +55 -30
  374. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +20 -18
  375. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +130 -70
  376. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +12 -10
  377. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +58 -30
  378. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +23 -21
  379. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +101 -46
  380. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +207 -0
  381. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +878 -0
  382. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +52 -0
  383. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +143 -0
  384. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +65 -0
  385. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +218 -0
  386. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +10 -8
  387. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +42 -24
  388. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.c +84 -0
  389. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.h +55 -0
  390. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.c +127 -0
  391. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.h +50 -0
  392. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +14 -12
  393. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +67 -67
  394. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.c +43 -0
  395. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.h +40 -0
  396. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +53 -0
  397. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.h +40 -0
  398. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.c +49 -0
  399. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.h +35 -0
  400. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.c +46 -0
  401. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.h +35 -0
  402. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.c +46 -0
  403. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.h +35 -0
  404. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.c +142 -0
  405. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.h +40 -0
  406. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.c +51 -0
  407. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.h +35 -0
  408. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +8 -6
  409. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h +1 -1
  410. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +8 -6
  411. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h +4 -4
  412. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +20 -17
  413. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +46 -46
  414. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +248 -240
  415. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +55 -55
  416. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +58 -51
  417. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +10 -10
  418. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +385 -371
  419. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +76 -76
  420. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +14 -11
  421. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h +4 -4
  422. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +23 -16
  423. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h +4 -4
  424. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.c +206 -0
  425. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.h +105 -0
  426. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +15 -13
  427. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +22 -22
  428. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +15 -12
  429. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h +4 -4
  430. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +85 -80
  431. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +73 -73
  432. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +138 -101
  433. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +26 -16
  434. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +14 -12
  435. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h +4 -4
  436. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +22 -34
  437. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +4 -9
  438. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.c +53 -0
  439. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.h +40 -0
  440. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +21 -18
  441. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h +43 -43
  442. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +177 -166
  443. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +30 -25
  444. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +14 -12
  445. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h +4 -4
  446. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +250 -221
  447. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +53 -43
  448. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +12 -9
  449. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +4 -4
  450. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +14 -11
  451. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h +7 -7
  452. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +14 -11
  453. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +4 -4
  454. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +18 -15
  455. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h +4 -4
  456. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +13 -11
  457. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h +4 -4
  458. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +18 -15
  459. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h +13 -13
  460. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +19 -16
  461. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +19 -19
  462. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +18 -15
  463. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h +16 -16
  464. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +14 -11
  465. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h +4 -4
  466. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +52 -45
  467. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +19 -19
  468. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +153 -147
  469. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h +22 -22
  470. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +19 -16
  471. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h +4 -4
  472. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +15 -12
  473. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h +7 -7
  474. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c +69 -0
  475. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.h +35 -0
  476. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +17 -14
  477. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +25 -25
  478. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +17 -14
  479. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +28 -28
  480. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +23 -21
  481. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +25 -25
  482. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +36 -27
  483. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +10 -10
  484. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +826 -803
  485. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +160 -160
  486. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +52 -37
  487. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h +10 -10
  488. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +188 -0
  489. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +85 -0
  490. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.c +54 -0
  491. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.h +35 -0
  492. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.c +57 -0
  493. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.h +35 -0
  494. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +15 -12
  495. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h +7 -7
  496. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.c +72 -0
  497. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.h +35 -0
  498. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.c +99 -0
  499. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.h +35 -0
  500. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.c +52 -0
  501. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.h +35 -0
  502. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.c +71 -0
  503. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.h +40 -0
  504. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +57 -0
  505. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.h +30 -0
  506. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.c +75 -0
  507. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.h +40 -0
  508. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c +77 -0
  509. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.h +35 -0
  510. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +15 -11
  511. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +4 -4
  512. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +17 -14
  513. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +16 -16
  514. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +18 -15
  515. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +10 -10
  516. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +14 -11
  517. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +7 -7
  518. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +17 -13
  519. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +4 -4
  520. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +197 -172
  521. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +63 -58
  522. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +15 -11
  523. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +1 -1
  524. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +169 -140
  525. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +24 -19
  526. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +19 -16
  527. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +10 -10
  528. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +217 -199
  529. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +24 -19
  530. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +58 -0
  531. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +40 -0
  532. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +14 -11
  533. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h +4 -4
  534. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +17 -14
  535. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +22 -22
  536. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +16 -13
  537. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h +7 -7
  538. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +20 -17
  539. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +16 -16
  540. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.c +46 -0
  541. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.h +35 -0
  542. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +13 -10
  543. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h +13 -13
  544. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.c +52 -0
  545. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.h +50 -0
  546. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +15 -12
  547. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h +7 -7
  548. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +15 -12
  549. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +4 -4
  550. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +15 -12
  551. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h +4 -4
  552. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +15 -12
  553. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h +4 -4
  554. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +15 -12
  555. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h +10 -10
  556. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +15 -12
  557. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h +7 -7
  558. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +14 -12
  559. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +7 -7
  560. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +16 -13
  561. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h +10 -10
  562. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +13 -10
  563. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h +22 -22
  564. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +14 -11
  565. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h +16 -16
  566. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.c +53 -0
  567. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.h +45 -0
  568. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +10 -8
  569. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h +1 -1
  570. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.c +94 -0
  571. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.h +35 -0
  572. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +12 -10
  573. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h +7 -7
  574. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +11 -8
  575. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h +10 -10
  576. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.c +38 -0
  577. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.h +30 -0
  578. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +11 -9
  579. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h +4 -4
  580. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.c +57 -0
  581. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.h +35 -0
  582. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +5 -5
  583. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h +1 -1
  584. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.c +6 -6
  585. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.h +40 -40
  586. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.c +6 -6
  587. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.h +43 -43
  588. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +3 -3
  589. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h +10 -10
  590. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.c +39 -0
  591. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.h +35 -0
  592. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +3 -3
  593. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h +4 -4
  594. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +3 -3
  595. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h +82 -82
  596. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +3 -3
  597. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h +4 -4
  598. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +3 -3
  599. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h +4 -4
  600. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +3 -3
  601. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h +13 -13
  602. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +3 -3
  603. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h +4 -4
  604. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +3 -3
  605. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h +28 -28
  606. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +4 -4
  607. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h +4 -4
  608. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.c +67 -0
  609. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.h +50 -0
  610. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +99 -0
  611. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +75 -0
  612. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +4 -4
  613. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h +10 -10
  614. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +5 -5
  615. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h +4 -4
  616. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +4 -4
  617. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h +1 -1
  618. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +4 -4
  619. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h +4 -4
  620. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +4 -4
  621. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h +4 -4
  622. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +6 -6
  623. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h +70 -70
  624. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.c +63 -0
  625. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.h +45 -0
  626. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.c +47 -0
  627. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.h +35 -0
  628. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.c +35 -0
  629. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.h +30 -0
  630. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +4 -4
  631. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +13 -13
  632. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.c +40 -0
  633. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.h +35 -0
  634. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +5 -5
  635. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +4 -4
  636. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +7 -7
  637. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +7 -7
  638. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +4 -4
  639. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +7 -7
  640. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.c +41 -0
  641. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.h +35 -0
  642. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +6 -6
  643. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +4 -4
  644. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +6 -6
  645. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +7 -7
  646. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +6 -6
  647. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +4 -4
  648. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c +126 -0
  649. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.h +80 -0
  650. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.c +40 -0
  651. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.h +40 -0
  652. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.c +52 -0
  653. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.h +40 -0
  654. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +5 -5
  655. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +4 -4
  656. data/src/core/ext/xds/certificate_provider_store.cc +8 -0
  657. data/src/core/ext/xds/certificate_provider_store.h +9 -0
  658. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +4 -4
  659. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +2 -2
  660. data/src/core/ext/xds/upb_utils.h +8 -6
  661. data/src/core/ext/xds/xds_api.cc +72 -35
  662. data/src/core/ext/xds/xds_api.h +4 -4
  663. data/src/core/ext/xds/xds_bootstrap.cc +37 -5
  664. data/src/core/ext/xds/xds_bootstrap.h +13 -0
  665. data/src/core/ext/xds/xds_certificate_provider.cc +2 -0
  666. data/src/core/ext/xds/xds_certificate_provider.h +8 -0
  667. data/src/core/ext/xds/xds_channel_stack_modifier.cc +14 -17
  668. data/src/core/ext/xds/xds_channel_stack_modifier.h +4 -3
  669. data/src/core/ext/xds/xds_client.cc +220 -193
  670. data/src/core/ext/xds/xds_client.h +35 -19
  671. data/src/core/ext/xds/xds_client_stats.cc +15 -15
  672. data/src/core/ext/xds/xds_client_stats.h +5 -4
  673. data/src/core/ext/xds/xds_cluster.cc +18 -16
  674. data/src/core/ext/xds/xds_cluster.h +3 -6
  675. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +142 -0
  676. data/src/core/ext/xds/xds_cluster_specifier_plugin.h +79 -0
  677. data/src/core/ext/xds/xds_common_types.cc +10 -10
  678. data/src/core/ext/xds/xds_common_types.h +8 -23
  679. data/src/core/ext/xds/xds_endpoint.cc +14 -7
  680. data/src/core/ext/xds/xds_endpoint.h +1 -1
  681. data/src/core/ext/xds/xds_http_fault_filter.cc +7 -7
  682. data/src/core/ext/xds/xds_http_fault_filter.h +3 -3
  683. data/src/core/ext/xds/xds_http_filters.cc +6 -5
  684. data/src/core/ext/xds/xds_http_filters.h +4 -4
  685. data/src/core/ext/xds/xds_http_rbac_filter.cc +5 -5
  686. data/src/core/ext/xds/xds_http_rbac_filter.h +3 -3
  687. data/src/core/ext/xds/xds_listener.cc +15 -12
  688. data/src/core/ext/xds/xds_listener.h +1 -1
  689. data/src/core/ext/xds/xds_resource_type.h +1 -1
  690. data/src/core/ext/xds/xds_route_config.cc +175 -46
  691. data/src/core/ext/xds/xds_route_config.h +14 -11
  692. data/src/core/ext/xds/xds_routing.cc +1 -1
  693. data/src/core/ext/xds/xds_server_config_fetcher.cc +20 -24
  694. data/src/core/lib/avl/avl.h +68 -5
  695. data/src/core/lib/backoff/backoff.cc +7 -10
  696. data/src/core/lib/backoff/backoff.h +8 -8
  697. data/src/core/lib/channel/call_finalization.h +86 -0
  698. data/src/core/lib/channel/call_tracer.h +4 -1
  699. data/src/core/lib/channel/channel_args.cc +161 -22
  700. data/src/core/lib/channel/channel_args.h +210 -7
  701. data/src/core/lib/channel/channel_args_preconditioning.cc +3 -8
  702. data/src/core/lib/channel/channel_args_preconditioning.h +1 -2
  703. data/src/core/lib/channel/channel_stack.cc +2 -3
  704. data/src/core/lib/channel/channel_stack.h +38 -5
  705. data/src/core/lib/channel/channel_stack_builder.cc +23 -266
  706. data/src/core/lib/channel/channel_stack_builder.h +118 -146
  707. data/src/core/lib/channel/channel_stack_builder_impl.cc +102 -0
  708. data/src/core/lib/channel/channel_stack_builder_impl.h +48 -0
  709. data/src/core/lib/channel/channel_trace.cc +3 -6
  710. data/src/core/lib/channel/connected_channel.cc +9 -4
  711. data/src/core/lib/channel/connected_channel.h +2 -1
  712. data/src/core/lib/channel/context.h +11 -0
  713. data/src/core/lib/channel/handshaker.cc +1 -1
  714. data/src/core/lib/channel/handshaker.h +1 -1
  715. data/src/core/lib/channel/promise_based_filter.cc +1002 -0
  716. data/src/core/lib/channel/promise_based_filter.h +437 -0
  717. data/src/core/lib/compression/compression.cc +1 -1
  718. data/src/core/lib/compression/compression_internal.cc +2 -8
  719. data/src/core/lib/config/core_configuration.cc +8 -2
  720. data/src/core/lib/config/core_configuration.h +39 -0
  721. data/src/core/lib/debug/stats_data.cc +2 -6
  722. data/src/core/lib/debug/stats_data.h +18 -21
  723. data/src/core/{ext/filters/max_age/max_age_filter.h → lib/event_engine/default_event_engine_factory.cc} +11 -10
  724. data/src/core/lib/event_engine/event_engine.cc +23 -8
  725. data/src/core/lib/event_engine/event_engine_factory.h +3 -0
  726. data/src/core/lib/event_engine/memory_allocator.cc +9 -13
  727. data/src/core/lib/event_engine/{event_engine_factory.cc → resolved_address.cc} +10 -20
  728. data/src/core/lib/gpr/sync_posix.cc +1 -0
  729. data/src/core/lib/gpr/time.cc +2 -1
  730. data/src/core/lib/gpr/tls.h +1 -0
  731. data/src/core/lib/gpr/useful.h +14 -0
  732. data/src/core/lib/gprpp/bitset.h +12 -0
  733. data/src/core/lib/gprpp/capture.h +76 -0
  734. data/src/core/lib/gprpp/cpp_impl_of.h +4 -0
  735. data/src/core/lib/gprpp/debug_location.h +2 -0
  736. data/src/core/lib/gprpp/match.h +73 -0
  737. data/src/core/lib/gprpp/overload.h +59 -0
  738. data/src/core/lib/gprpp/ref_counted.h +2 -0
  739. data/src/core/lib/gprpp/single_set_ptr.h +87 -0
  740. data/src/core/lib/gprpp/status_helper.cc +30 -14
  741. data/src/core/lib/gprpp/status_helper.h +4 -4
  742. data/src/core/lib/gprpp/time.cc +198 -0
  743. data/src/core/lib/gprpp/time.h +292 -0
  744. data/src/core/lib/http/format_request.cc +28 -25
  745. data/src/core/lib/http/format_request.h +7 -6
  746. data/src/core/lib/http/httpcli.cc +306 -229
  747. data/src/core/lib/http/httpcli.h +182 -77
  748. data/src/core/lib/http/httpcli_security_connector.cc +64 -75
  749. data/src/core/lib/http/httpcli_ssl_credentials.h +37 -0
  750. data/src/core/lib/http/parser.cc +80 -9
  751. data/src/core/lib/http/parser.h +15 -2
  752. data/src/core/lib/iomgr/buffer_list.h +5 -5
  753. data/src/core/lib/iomgr/error.cc +13 -12
  754. data/src/core/lib/iomgr/error.h +0 -5
  755. data/src/core/lib/iomgr/ev_apple.cc +6 -5
  756. data/src/core/lib/iomgr/ev_epoll1_linux.cc +8 -7
  757. data/src/core/lib/iomgr/ev_poll_posix.cc +7 -7
  758. data/src/core/lib/iomgr/ev_posix.cc +9 -10
  759. data/src/core/lib/iomgr/ev_posix.h +1 -1
  760. data/src/core/lib/iomgr/event_engine/pollset.cc +2 -3
  761. data/src/core/lib/iomgr/event_engine/resolver.cc +1 -1
  762. data/src/core/lib/iomgr/event_engine/tcp.cc +4 -3
  763. data/src/core/lib/iomgr/event_engine/timer.cc +3 -4
  764. data/src/core/lib/iomgr/exec_ctx.cc +3 -88
  765. data/src/core/lib/iomgr/exec_ctx.h +7 -23
  766. data/src/core/lib/iomgr/fork_posix.cc +1 -1
  767. data/src/core/lib/iomgr/iocp_windows.cc +9 -9
  768. data/src/core/lib/iomgr/iocp_windows.h +1 -1
  769. data/src/core/lib/iomgr/polling_entity.h +6 -0
  770. data/src/core/lib/iomgr/pollset.cc +1 -1
  771. data/src/core/lib/iomgr/pollset.h +4 -4
  772. data/src/core/lib/iomgr/pollset_windows.cc +2 -2
  773. data/src/core/lib/iomgr/port.h +4 -9
  774. data/src/core/lib/iomgr/resolve_address_posix.cc +1 -1
  775. data/src/core/lib/iomgr/sockaddr_utils_posix.cc +62 -0
  776. data/src/core/lib/iomgr/socket_utils_common_posix.cc +0 -17
  777. data/src/core/lib/iomgr/tcp_client.cc +1 -1
  778. data/src/core/lib/iomgr/tcp_client.h +3 -2
  779. data/src/core/lib/iomgr/tcp_client_cfstream.cc +1 -1
  780. data/src/core/lib/iomgr/tcp_client_posix.cc +4 -4
  781. data/src/core/lib/iomgr/tcp_client_posix.h +1 -1
  782. data/src/core/lib/iomgr/tcp_client_windows.cc +1 -1
  783. data/src/core/lib/iomgr/tcp_posix.cc +95 -36
  784. data/src/core/lib/iomgr/tcp_server_posix.cc +26 -17
  785. data/src/core/lib/iomgr/tcp_windows.cc +17 -10
  786. data/src/core/lib/iomgr/timer.cc +2 -2
  787. data/src/core/lib/iomgr/timer.h +11 -6
  788. data/src/core/lib/iomgr/timer_generic.cc +96 -77
  789. data/src/core/lib/iomgr/timer_manager.cc +15 -14
  790. data/src/core/lib/iomgr/work_serializer.cc +15 -10
  791. data/src/core/lib/json/json_util.cc +4 -4
  792. data/src/core/lib/json/json_util.h +5 -5
  793. data/src/core/lib/promise/activity.cc +14 -8
  794. data/src/core/lib/promise/activity.h +143 -131
  795. data/src/core/lib/promise/arena_promise.h +188 -0
  796. data/src/core/lib/promise/call_push_pull.h +144 -0
  797. data/src/core/lib/promise/detail/basic_seq.h +92 -3
  798. data/src/core/lib/promise/detail/promise_factory.h +1 -1
  799. data/src/core/lib/promise/detail/status.h +2 -1
  800. data/src/core/lib/promise/intra_activity_waiter.h +49 -0
  801. data/src/core/lib/promise/latch.h +104 -0
  802. data/src/core/lib/promise/loop.h +34 -8
  803. data/src/core/lib/promise/poll.h +6 -0
  804. data/src/core/lib/promise/promise.h +95 -0
  805. data/src/core/lib/promise/seq.h +19 -1
  806. data/src/core/lib/promise/sleep.cc +74 -0
  807. data/src/core/lib/promise/sleep.h +66 -0
  808. data/src/core/lib/promise/try_seq.h +157 -0
  809. data/src/core/lib/resolver/resolver_factory.h +22 -26
  810. data/src/core/lib/resolver/resolver_registry.cc +98 -137
  811. data/src/core/lib/resolver/resolver_registry.h +59 -33
  812. data/src/core/lib/resource_quota/api.cc +5 -30
  813. data/src/core/lib/resource_quota/api.h +1 -1
  814. data/src/core/lib/resource_quota/memory_quota.cc +118 -94
  815. data/src/core/lib/resource_quota/memory_quota.h +100 -64
  816. data/src/core/lib/resource_quota/resource_quota.h +8 -0
  817. data/src/core/lib/security/authorization/authorization_policy_provider.h +7 -0
  818. data/src/core/lib/security/authorization/evaluate_args.cc +1 -11
  819. data/src/core/lib/security/authorization/evaluate_args.h +0 -1
  820. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +106 -0
  821. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +50 -0
  822. data/src/core/lib/security/authorization/matchers.cc +5 -5
  823. data/src/core/lib/security/authorization/matchers.h +2 -2
  824. data/src/core/lib/security/authorization/rbac_policy.cc +3 -3
  825. data/src/core/lib/security/authorization/rbac_policy.h +3 -2
  826. data/src/core/lib/security/context/security_context.h +8 -1
  827. data/src/core/lib/security/credentials/alts/alts_credentials.cc +6 -5
  828. data/src/core/lib/security/credentials/alts/alts_credentials.h +10 -0
  829. data/src/core/lib/security/credentials/call_creds_util.cc +87 -0
  830. data/src/core/lib/security/credentials/call_creds_util.h +42 -0
  831. data/src/core/lib/security/credentials/channel_creds_registry.h +97 -0
  832. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +70 -0
  833. data/src/core/lib/security/credentials/composite/composite_credentials.cc +24 -83
  834. data/src/core/lib/security/credentials/composite/composite_credentials.h +23 -11
  835. data/src/core/lib/security/credentials/credentials.cc +2 -3
  836. data/src/core/lib/security/credentials/credentials.h +70 -66
  837. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +46 -27
  838. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +1 -0
  839. data/src/core/lib/security/credentials/external/external_account_credentials.cc +49 -29
  840. data/src/core/lib/security/credentials/external/external_account_credentials.h +4 -3
  841. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +0 -1
  842. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +33 -12
  843. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +1 -0
  844. data/src/core/lib/security/credentials/fake/fake_credentials.cc +23 -28
  845. data/src/core/lib/security/credentials/fake/fake_credentials.h +16 -16
  846. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +19 -9
  847. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +9 -3
  848. data/src/core/lib/security/credentials/iam/iam_credentials.cc +15 -19
  849. data/src/core/lib/security/credentials/iam/iam_credentials.h +14 -9
  850. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +25 -26
  851. data/src/core/lib/security/credentials/insecure/insecure_credentials.h +57 -0
  852. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +23 -23
  853. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +13 -9
  854. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +50 -30
  855. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +1 -1
  856. data/src/core/lib/security/credentials/local/local_credentials.cc +6 -6
  857. data/src/core/lib/security/credentials/local/local_credentials.h +10 -0
  858. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +128 -128
  859. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +57 -28
  860. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +96 -151
  861. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +56 -28
  862. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +6 -4
  863. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +14 -3
  864. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +49 -0
  865. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +8 -0
  866. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +42 -3
  867. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +19 -0
  868. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +66 -86
  869. data/src/core/lib/security/credentials/tls/tls_credentials.cc +9 -6
  870. data/src/core/lib/security/credentials/tls/tls_credentials.h +6 -0
  871. data/src/core/lib/security/credentials/xds/xds_credentials.cc +48 -50
  872. data/src/core/lib/security/credentials/xds/xds_credentials.h +36 -5
  873. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +8 -14
  874. data/src/core/lib/security/security_connector/alts/alts_security_connector.h +1 -1
  875. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +4 -12
  876. data/src/core/lib/security/security_connector/fake/fake_security_connector.h +0 -2
  877. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +6 -16
  878. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +4 -9
  879. data/src/core/lib/security/security_connector/local/local_security_connector.cc +10 -18
  880. data/src/core/lib/security/security_connector/security_connector.cc +3 -11
  881. data/src/core/lib/security/security_connector/security_connector.h +20 -20
  882. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +10 -13
  883. data/src/core/lib/security/security_connector/ssl_utils.cc +15 -7
  884. data/src/core/lib/security/security_connector/ssl_utils.h +8 -3
  885. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +27 -16
  886. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +6 -6
  887. data/src/core/lib/security/transport/auth_filters.h +31 -5
  888. data/src/core/lib/security/transport/client_auth_filter.cc +90 -373
  889. data/src/core/lib/security/transport/secure_endpoint.cc +198 -129
  890. data/src/core/lib/security/transport/secure_endpoint.h +1 -1
  891. data/src/core/lib/security/transport/security_handshaker.cc +20 -10
  892. data/src/core/lib/security/transport/server_auth_filter.cc +1 -0
  893. data/src/core/lib/service_config/service_config.h +6 -51
  894. data/src/core/lib/service_config/{service_config.cc → service_config_impl.cc} +19 -16
  895. data/src/core/lib/service_config/service_config_impl.h +125 -0
  896. data/src/core/lib/service_config/service_config_parser.cc +30 -26
  897. data/src/core/lib/service_config/service_config_parser.h +36 -27
  898. data/src/core/lib/slice/slice.cc +76 -181
  899. data/src/core/lib/slice/slice.h +28 -15
  900. data/src/core/lib/slice/slice_internal.h +12 -30
  901. data/src/core/lib/slice/slice_refcount.cc +18 -0
  902. data/src/core/lib/slice/slice_refcount.h +2 -72
  903. data/src/core/lib/slice/slice_refcount_base.h +16 -120
  904. data/src/core/lib/surface/builtins.cc +6 -6
  905. data/src/core/lib/surface/call.cc +1026 -899
  906. data/src/core/lib/surface/call.h +1 -15
  907. data/src/core/lib/surface/channel.cc +28 -32
  908. data/src/core/lib/surface/channel.h +6 -7
  909. data/src/core/lib/surface/channel_init.cc +2 -3
  910. data/src/core/lib/surface/channel_init.h +3 -7
  911. data/src/core/lib/surface/completion_queue.cc +10 -9
  912. data/src/core/lib/surface/init.cc +78 -7
  913. data/src/core/lib/surface/init.h +0 -2
  914. data/src/core/lib/surface/lame_client.cc +2 -1
  915. data/src/core/lib/surface/server.cc +14 -36
  916. data/src/core/lib/surface/server.h +4 -5
  917. data/src/core/lib/surface/version.cc +2 -2
  918. data/src/core/lib/transport/bdp_estimator.cc +9 -10
  919. data/src/core/lib/transport/bdp_estimator.h +2 -2
  920. data/src/core/lib/transport/byte_stream.cc +2 -0
  921. data/src/core/lib/transport/error_utils.cc +5 -3
  922. data/src/core/lib/transport/error_utils.h +2 -15
  923. data/src/core/lib/transport/metadata_batch.h +286 -104
  924. data/src/core/lib/transport/parsed_metadata.h +33 -17
  925. data/src/core/lib/transport/status_conversion.cc +2 -2
  926. data/src/core/lib/transport/status_conversion.h +1 -1
  927. data/src/core/lib/transport/timeout_encoding.cc +32 -29
  928. data/src/core/lib/transport/timeout_encoding.h +3 -3
  929. data/src/core/lib/transport/transport.cc +3 -1
  930. data/src/core/lib/transport/transport.h +102 -2
  931. data/src/core/lib/transport/transport_impl.h +14 -0
  932. data/src/core/lib/transport/transport_op_string.cc +5 -14
  933. data/src/core/lib/uri/uri_parser.cc +4 -0
  934. data/src/core/lib/uri/uri_parser.h +1 -0
  935. data/src/core/plugin_registry/grpc_plugin_registry.cc +21 -92
  936. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +85 -0
  937. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +26 -21
  938. data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +9 -1
  939. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +21 -13
  940. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +2 -2
  941. data/src/core/tsi/alts/handshaker/alts_tsi_utils.h +1 -1
  942. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +2 -2
  943. data/src/core/tsi/alts/handshaker/transport_security_common_api.h +2 -2
  944. data/src/core/tsi/local_transport_security.cc +3 -11
  945. data/src/core/tsi/local_transport_security.h +1 -4
  946. data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +141 -0
  947. data/src/core/tsi/ssl/key_logging/ssl_key_logging.h +81 -0
  948. data/src/core/tsi/ssl_transport_security.cc +127 -39
  949. data/src/core/tsi/ssl_transport_security.h +28 -2
  950. data/src/core/tsi/transport_security_interface.h +2 -0
  951. data/src/ruby/ext/grpc/extconf.rb +1 -1
  952. data/src/ruby/ext/grpc/rb_channel.c +5 -2
  953. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +18 -24
  954. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +27 -36
  955. data/src/ruby/ext/grpc/rb_server.c +7 -4
  956. data/src/ruby/lib/grpc/generic/active_call.rb +7 -1
  957. data/src/ruby/lib/grpc/grpc.rb +1 -1
  958. data/src/ruby/lib/grpc/version.rb +1 -1
  959. data/src/ruby/pb/generate_proto_ruby.sh +1 -0
  960. data/src/ruby/pb/test/client.rb +769 -0
  961. data/src/ruby/pb/test/server.rb +252 -0
  962. data/src/ruby/pb/test/xds_client.rb +415 -0
  963. data/third_party/cares/cares/{ares.h → include/ares.h} +73 -1
  964. data/third_party/cares/cares/{ares_dns.h → include/ares_dns.h} +9 -0
  965. data/third_party/cares/cares/{ares_rules.h → include/ares_rules.h} +0 -0
  966. data/third_party/cares/cares/{ares_version.h → include/ares_version.h} +3 -3
  967. data/third_party/cares/cares/{ares__close_sockets.c → src/lib/ares__close_sockets.c} +2 -2
  968. data/third_party/cares/cares/{ares__get_hostent.c → src/lib/ares__get_hostent.c} +1 -2
  969. data/third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c +260 -0
  970. data/third_party/cares/cares/{ares__read_line.c → src/lib/ares__read_line.c} +0 -0
  971. data/third_party/cares/cares/src/lib/ares__readaddrinfo.c +264 -0
  972. data/third_party/cares/cares/src/lib/ares__sortaddrinfo.c +499 -0
  973. data/third_party/cares/cares/{ares__timeval.c → src/lib/ares__timeval.c} +0 -0
  974. data/third_party/cares/cares/src/lib/ares_android.c +444 -0
  975. data/third_party/cares/cares/src/lib/ares_android.h +27 -0
  976. data/third_party/cares/cares/{ares_cancel.c → src/lib/ares_cancel.c} +0 -0
  977. data/third_party/cares/cares/{ares_create_query.c → src/lib/ares_create_query.c} +8 -17
  978. data/third_party/cares/cares/{ares_data.c → src/lib/ares_data.c} +18 -0
  979. data/third_party/cares/cares/{ares_data.h → src/lib/ares_data.h} +2 -0
  980. data/third_party/cares/cares/{ares_destroy.c → src/lib/ares_destroy.c} +0 -0
  981. data/third_party/cares/cares/{ares_expand_name.c → src/lib/ares_expand_name.c} +114 -23
  982. data/third_party/cares/cares/{ares_expand_string.c → src/lib/ares_expand_string.c} +2 -5
  983. data/third_party/cares/cares/{ares_fds.c → src/lib/ares_fds.c} +0 -0
  984. data/third_party/cares/cares/{ares_free_hostent.c → src/lib/ares_free_hostent.c} +6 -4
  985. data/third_party/cares/cares/{ares_free_string.c → src/lib/ares_free_string.c} +0 -0
  986. data/third_party/cares/cares/src/lib/ares_freeaddrinfo.c +59 -0
  987. data/third_party/cares/cares/src/lib/ares_getaddrinfo.c +772 -0
  988. data/third_party/cares/cares/{ares_getenv.c → src/lib/ares_getenv.c} +0 -2
  989. data/third_party/cares/cares/{ares_getenv.h → src/lib/ares_getenv.h} +0 -0
  990. data/third_party/cares/cares/{ares_gethostbyaddr.c → src/lib/ares_gethostbyaddr.c} +2 -9
  991. data/third_party/cares/cares/{ares_gethostbyname.c → src/lib/ares_gethostbyname.c} +25 -20
  992. data/third_party/cares/cares/{ares_getnameinfo.c → src/lib/ares_getnameinfo.c} +4 -10
  993. data/third_party/cares/cares/{ares_getsock.c → src/lib/ares_getsock.c} +0 -0
  994. data/third_party/cares/cares/{ares_inet_net_pton.h → src/lib/ares_inet_net_pton.h} +0 -0
  995. data/third_party/cares/cares/{ares_init.c → src/lib/ares_init.c} +79 -40
  996. data/third_party/cares/cares/{ares_iphlpapi.h → src/lib/ares_iphlpapi.h} +0 -0
  997. data/third_party/cares/cares/{ares_ipv6.h → src/lib/ares_ipv6.h} +7 -0
  998. data/third_party/cares/cares/{ares_library_init.c → src/lib/ares_library_init.c} +7 -2
  999. data/third_party/cares/cares/{ares_library_init.h → src/lib/ares_library_init.h} +1 -1
  1000. data/third_party/cares/cares/{ares_llist.c → src/lib/ares_llist.c} +0 -0
  1001. data/third_party/cares/cares/{ares_llist.h → src/lib/ares_llist.h} +0 -0
  1002. data/third_party/cares/cares/{ares_mkquery.c → src/lib/ares_mkquery.c} +0 -0
  1003. data/third_party/cares/cares/src/lib/ares_nameser.h +482 -0
  1004. data/third_party/cares/cares/{ares_nowarn.c → src/lib/ares_nowarn.c} +0 -0
  1005. data/third_party/cares/cares/{ares_nowarn.h → src/lib/ares_nowarn.h} +0 -0
  1006. data/third_party/cares/cares/{ares_options.c → src/lib/ares_options.c} +0 -0
  1007. data/third_party/cares/cares/src/lib/ares_parse_a_reply.c +209 -0
  1008. data/third_party/cares/cares/src/lib/ares_parse_aaaa_reply.c +212 -0
  1009. data/third_party/cares/cares/src/lib/ares_parse_caa_reply.c +199 -0
  1010. data/third_party/cares/cares/{ares_parse_mx_reply.c → src/lib/ares_parse_mx_reply.c} +2 -8
  1011. data/third_party/cares/cares/{ares_parse_naptr_reply.c → src/lib/ares_parse_naptr_reply.c} +2 -13
  1012. data/third_party/cares/cares/{ares_parse_ns_reply.c → src/lib/ares_parse_ns_reply.c} +5 -11
  1013. data/third_party/cares/cares/{ares_parse_ptr_reply.c → src/lib/ares_parse_ptr_reply.c} +53 -46
  1014. data/third_party/cares/cares/src/lib/ares_parse_soa_reply.c +179 -0
  1015. data/third_party/cares/cares/{ares_parse_srv_reply.c → src/lib/ares_parse_srv_reply.c} +2 -13
  1016. data/third_party/cares/cares/{ares_parse_txt_reply.c → src/lib/ares_parse_txt_reply.c} +3 -9
  1017. data/third_party/cares/cares/{ares_platform.c → src/lib/ares_platform.c} +0 -0
  1018. data/third_party/cares/cares/{ares_platform.h → src/lib/ares_platform.h} +0 -0
  1019. data/third_party/cares/cares/{ares_private.h → src/lib/ares_private.h} +52 -11
  1020. data/third_party/cares/cares/{ares_process.c → src/lib/ares_process.c} +127 -52
  1021. data/third_party/cares/cares/{ares_query.c → src/lib/ares_query.c} +3 -9
  1022. data/third_party/cares/cares/{ares_search.c → src/lib/ares_search.c} +5 -7
  1023. data/third_party/cares/cares/{ares_send.c → src/lib/ares_send.c} +2 -8
  1024. data/third_party/cares/cares/{ares_setup.h → src/lib/ares_setup.h} +4 -1
  1025. data/third_party/cares/cares/{ares_strcasecmp.c → src/lib/ares_strcasecmp.c} +0 -0
  1026. data/third_party/cares/cares/{ares_strcasecmp.h → src/lib/ares_strcasecmp.h} +0 -0
  1027. data/third_party/cares/cares/{ares_strdup.c → src/lib/ares_strdup.c} +0 -0
  1028. data/third_party/cares/cares/{ares_strdup.h → src/lib/ares_strdup.h} +0 -0
  1029. data/third_party/cares/cares/{ares_strerror.c → src/lib/ares_strerror.c} +0 -0
  1030. data/third_party/cares/cares/{ares_strsplit.c → src/lib/ares_strsplit.c} +4 -0
  1031. data/third_party/cares/cares/{ares_strsplit.h → src/lib/ares_strsplit.h} +0 -0
  1032. data/third_party/cares/cares/{ares_timeout.c → src/lib/ares_timeout.c} +0 -0
  1033. data/third_party/cares/cares/{ares_version.c → src/lib/ares_version.c} +0 -0
  1034. data/third_party/cares/cares/{ares_writev.c → src/lib/ares_writev.c} +0 -0
  1035. data/third_party/cares/cares/src/lib/ares_writev.h +36 -0
  1036. data/third_party/cares/cares/{bitncmp.c → src/lib/bitncmp.c} +0 -0
  1037. data/third_party/cares/cares/{bitncmp.h → src/lib/bitncmp.h} +0 -0
  1038. data/third_party/cares/cares/src/lib/config-dos.h +115 -0
  1039. data/third_party/cares/cares/{config-win32.h → src/lib/config-win32.h} +0 -0
  1040. data/third_party/cares/cares/{inet_net_pton.c → src/lib/inet_net_pton.c} +2 -8
  1041. data/third_party/cares/cares/{inet_ntop.c → src/lib/inet_ntop.c} +2 -8
  1042. data/third_party/cares/cares/{setup_once.h → src/lib/setup_once.h} +0 -0
  1043. data/third_party/cares/cares/{windows_port.c → src/lib/windows_port.c} +0 -0
  1044. data/third_party/upb/third_party/utf8_range/naive.c +92 -0
  1045. data/third_party/upb/third_party/utf8_range/range2-neon.c +157 -0
  1046. data/third_party/upb/third_party/utf8_range/range2-sse.c +170 -0
  1047. data/third_party/upb/third_party/utf8_range/utf8_range.h +9 -0
  1048. data/third_party/upb/upb/decode.c +542 -319
  1049. data/third_party/upb/upb/decode.h +43 -17
  1050. data/third_party/upb/upb/decode_fast.c +303 -301
  1051. data/third_party/upb/upb/decode_fast.h +18 -18
  1052. data/third_party/upb/upb/decode_internal.h +73 -56
  1053. data/third_party/upb/upb/def.c +1926 -1078
  1054. data/third_party/upb/upb/def.h +329 -288
  1055. data/third_party/upb/upb/def.hpp +129 -172
  1056. data/third_party/upb/upb/encode.c +208 -175
  1057. data/third_party/upb/upb/encode.h +15 -17
  1058. data/third_party/upb/upb/json_encode.c +776 -0
  1059. data/third_party/upb/upb/json_encode.h +62 -0
  1060. data/third_party/upb/upb/msg.c +142 -124
  1061. data/third_party/upb/upb/msg.h +39 -33
  1062. data/third_party/upb/upb/msg_internal.h +342 -280
  1063. data/third_party/upb/upb/port_def.inc +8 -0
  1064. data/third_party/upb/upb/port_undef.inc +1 -0
  1065. data/third_party/upb/upb/reflection.c +239 -199
  1066. data/third_party/upb/upb/reflection.h +87 -67
  1067. data/third_party/upb/upb/reflection.hpp +6 -6
  1068. data/third_party/upb/upb/table.c +231 -147
  1069. data/third_party/upb/upb/table_internal.h +129 -95
  1070. data/third_party/upb/upb/text_encode.c +113 -90
  1071. data/third_party/upb/upb/text_encode.h +10 -10
  1072. data/third_party/upb/upb/upb.c +111 -72
  1073. data/third_party/upb/upb/upb.h +157 -151
  1074. data/third_party/upb/upb/upb.hpp +31 -28
  1075. data/third_party/upb/upb/upb_internal.h +21 -11
  1076. data/third_party/zlib/crc32.c +966 -292
  1077. data/third_party/zlib/crc32.h +9441 -436
  1078. data/third_party/zlib/deflate.c +78 -30
  1079. data/third_party/zlib/deflate.h +12 -15
  1080. data/third_party/zlib/gzguts.h +3 -2
  1081. data/third_party/zlib/gzlib.c +5 -3
  1082. data/third_party/zlib/gzread.c +5 -7
  1083. data/third_party/zlib/gzwrite.c +25 -13
  1084. data/third_party/zlib/infback.c +2 -1
  1085. data/third_party/zlib/inffast.c +14 -14
  1086. data/third_party/zlib/inflate.c +39 -8
  1087. data/third_party/zlib/inflate.h +3 -2
  1088. data/third_party/zlib/inftrees.c +3 -3
  1089. data/third_party/zlib/trees.c +27 -48
  1090. data/third_party/zlib/zlib.h +123 -100
  1091. data/third_party/zlib/zutil.c +2 -2
  1092. data/third_party/zlib/zutil.h +12 -9
  1093. metadata +337 -185
  1094. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +0 -44
  1095. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +0 -83
  1096. data/src/core/ext/filters/client_idle/client_idle_filter.cc +0 -264
  1097. data/src/core/ext/filters/max_age/max_age_filter.cc +0 -560
  1098. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +0 -122
  1099. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +0 -92
  1100. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +0 -192
  1101. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +0 -52
  1102. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +0 -79
  1103. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +0 -125
  1104. data/src/core/ext/transport/chttp2/transport/chttp2_plugin.cc +0 -36
  1105. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c +0 -38
  1106. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +0 -64
  1107. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c +0 -38
  1108. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +0 -64
  1109. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c +0 -38
  1110. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +0 -64
  1111. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c +0 -38
  1112. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +0 -64
  1113. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c +0 -38
  1114. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +0 -64
  1115. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/eval.upb.c +0 -102
  1116. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/eval.upb.h +0 -306
  1117. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/explain.upb.c +0 -56
  1118. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/explain.upb.h +0 -135
  1119. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/value.upb.c +0 -115
  1120. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/value.upb.h +0 -371
  1121. data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.c +0 -67
  1122. data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.h +0 -35
  1123. data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.c +0 -68
  1124. data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.h +0 -35
  1125. data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.c +0 -67
  1126. data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.h +0 -35
  1127. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c +0 -75
  1128. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.h +0 -35
  1129. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c +0 -69
  1130. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.h +0 -35
  1131. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/eval.upbdefs.c +0 -58
  1132. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/eval.upbdefs.h +0 -55
  1133. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/explain.upbdefs.c +0 -44
  1134. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/explain.upbdefs.h +0 -40
  1135. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/value.upbdefs.c +0 -75
  1136. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/value.upbdefs.h +0 -55
  1137. data/src/core/ext/xds/xds_channel_creds.cc +0 -108
  1138. data/src/core/ext/xds/xds_channel_creds.h +0 -50
  1139. data/src/core/lib/iomgr/ev_epollex_linux.cc +0 -1654
  1140. data/src/core/lib/iomgr/ev_epollex_linux.h +0 -30
  1141. data/src/core/lib/iomgr/iomgr_custom.cc +0 -82
  1142. data/src/core/lib/iomgr/iomgr_custom.h +0 -49
  1143. data/src/core/lib/iomgr/is_epollexclusive_available.cc +0 -119
  1144. data/src/core/lib/iomgr/is_epollexclusive_available.h +0 -36
  1145. data/src/core/lib/iomgr/pollset_custom.cc +0 -105
  1146. data/src/core/lib/iomgr/pollset_custom.h +0 -37
  1147. data/src/core/lib/iomgr/pollset_set_custom.cc +0 -47
  1148. data/src/core/lib/iomgr/pollset_set_custom.h +0 -26
  1149. data/src/core/lib/iomgr/resolve_address_custom.cc +0 -191
  1150. data/src/core/lib/iomgr/resolve_address_custom.h +0 -126
  1151. data/src/core/lib/iomgr/sys_epoll_wrapper.h +0 -30
  1152. data/src/core/lib/iomgr/tcp_client_custom.cc +0 -146
  1153. data/src/core/lib/iomgr/tcp_custom.cc +0 -350
  1154. data/src/core/lib/iomgr/tcp_custom.h +0 -85
  1155. data/src/core/lib/iomgr/tcp_server_custom.cc +0 -457
  1156. data/src/core/lib/iomgr/timer_custom.cc +0 -96
  1157. data/src/core/lib/iomgr/timer_custom.h +0 -43
  1158. data/src/core/lib/security/authorization/sdk_server_authz_filter.cc +0 -173
  1159. data/src/core/lib/security/authorization/sdk_server_authz_filter.h +0 -67
  1160. data/src/core/lib/slice/slice_intern.cc +0 -269
  1161. data/src/core/lib/slice/slice_utils.h +0 -200
  1162. data/src/core/lib/surface/init_secure.cc +0 -103
  1163. data/third_party/cares/cares/ares_getopt.c +0 -122
  1164. data/third_party/cares/cares/ares_getopt.h +0 -53
  1165. data/third_party/cares/cares/ares_parse_a_reply.c +0 -264
  1166. data/third_party/cares/cares/ares_parse_aaaa_reply.c +0 -264
  1167. data/third_party/cares/cares/ares_parse_soa_reply.c +0 -133
@@ -219,10 +219,12 @@ static void on_read(void* tcpp, grpc_error_handle error) {
219
219
  gpr_log(GPR_INFO, "TCP:%p unref read_slice", tcp);
220
220
  }
221
221
  grpc_slice_buffer_reset_and_unref_internal(tcp->read_slices);
222
- error = tcp->shutting_down
223
- ? GRPC_ERROR_CREATE_REFERENCING_FROM_STATIC_STRING(
224
- "TCP stream shutting down", &tcp->shutdown_error, 1)
225
- : GRPC_ERROR_CREATE_FROM_STATIC_STRING("End of TCP stream");
222
+ error = grpc_error_set_int(
223
+ tcp->shutting_down
224
+ ? GRPC_ERROR_CREATE_REFERENCING_FROM_STATIC_STRING(
225
+ "TCP stream shutting down", &tcp->shutdown_error, 1)
226
+ : GRPC_ERROR_CREATE_FROM_STATIC_STRING("End of TCP stream"),
227
+ GRPC_ERROR_INT_GRPC_STATUS, GRPC_STATUS_UNAVAILABLE);
226
228
  }
227
229
  }
228
230
  }
@@ -252,8 +254,10 @@ static void win_read(grpc_endpoint* ep, grpc_slice_buffer* read_slices,
252
254
  if (tcp->shutting_down) {
253
255
  grpc_core::ExecCtx::Run(
254
256
  DEBUG_LOCATION, cb,
255
- GRPC_ERROR_CREATE_REFERENCING_FROM_STATIC_STRING(
256
- "TCP socket is shutting down", &tcp->shutdown_error, 1));
257
+ grpc_error_set_int(
258
+ GRPC_ERROR_CREATE_REFERENCING_FROM_STATIC_STRING(
259
+ "TCP socket is shutting down", &tcp->shutdown_error, 1),
260
+ GRPC_ERROR_INT_GRPC_STATUS, GRPC_STATUS_UNAVAILABLE));
257
261
  return;
258
262
  }
259
263
 
@@ -366,8 +370,10 @@ static void win_write(grpc_endpoint* ep, grpc_slice_buffer* slices,
366
370
  if (tcp->shutting_down) {
367
371
  grpc_core::ExecCtx::Run(
368
372
  DEBUG_LOCATION, cb,
369
- GRPC_ERROR_CREATE_REFERENCING_FROM_STATIC_STRING(
370
- "TCP socket is shutting down", &tcp->shutdown_error, 1));
373
+ grpc_error_set_int(
374
+ GRPC_ERROR_CREATE_REFERENCING_FROM_STATIC_STRING(
375
+ "TCP socket is shutting down", &tcp->shutdown_error, 1),
376
+ GRPC_ERROR_INT_GRPC_STATUS, GRPC_STATUS_UNAVAILABLE));
371
377
  return;
372
378
  }
373
379
 
@@ -500,8 +506,9 @@ static grpc_endpoint_vtable vtable = {win_read,
500
506
  grpc_endpoint* grpc_tcp_create(grpc_winsocket* socket,
501
507
  grpc_channel_args* channel_args,
502
508
  absl::string_view peer_string) {
503
- grpc_tcp* tcp = new grpc_tcp;
504
- memset(tcp, 0, sizeof(grpc_tcp));
509
+ // TODO(jtattermusch): C++ize grpc_tcp and its dependencies (i.e. add
510
+ // constructors) to ensure proper initialization
511
+ grpc_tcp* tcp = new grpc_tcp{};
505
512
  tcp->base.vtable = &vtable;
506
513
  tcp->socket = socket;
507
514
  gpr_mu_init(&tcp->mu);
@@ -28,14 +28,14 @@ void grpc_set_timer_impl(grpc_timer_vtable* vtable) {
28
28
  grpc_timer_impl = vtable;
29
29
  }
30
30
 
31
- void grpc_timer_init(grpc_timer* timer, grpc_millis deadline,
31
+ void grpc_timer_init(grpc_timer* timer, grpc_core::Timestamp deadline,
32
32
  grpc_closure* closure) {
33
33
  grpc_timer_impl->init(timer, deadline, closure);
34
34
  }
35
35
 
36
36
  void grpc_timer_cancel(grpc_timer* timer) { grpc_timer_impl->cancel(timer); }
37
37
 
38
- grpc_timer_check_result grpc_timer_check(grpc_millis* next) {
38
+ grpc_timer_check_result grpc_timer_check(grpc_core::Timestamp* next) {
39
39
  return grpc_timer_impl->check(next);
40
40
  }
41
41
 
@@ -21,6 +21,8 @@
21
21
 
22
22
  #include <grpc/support/port_platform.h>
23
23
 
24
+ #include <cstdint>
25
+
24
26
  #include <grpc/event_engine/event_engine.h>
25
27
  #include <grpc/support/time.h>
26
28
 
@@ -29,7 +31,7 @@
29
31
  #include "src/core/lib/iomgr/port.h"
30
32
 
31
33
  typedef struct grpc_timer {
32
- grpc_millis deadline;
34
+ int64_t deadline;
33
35
  // Uninitialized if not using heap, or INVALID_HEAP_INDEX if not in heap.
34
36
  uint32_t heap_index;
35
37
  bool pending;
@@ -47,6 +49,9 @@ typedef struct grpc_timer {
47
49
  };
48
50
  } grpc_timer;
49
51
 
52
+ static_assert(std::is_trivial<grpc_timer>::value,
53
+ "grpc_timer is expected to be a trivial type");
54
+
50
55
  typedef enum {
51
56
  GRPC_TIMERS_NOT_CHECKED,
52
57
  GRPC_TIMERS_CHECKED_AND_EMPTY,
@@ -54,11 +59,11 @@ typedef enum {
54
59
  } grpc_timer_check_result;
55
60
 
56
61
  typedef struct grpc_timer_vtable {
57
- void (*init)(grpc_timer* timer, grpc_millis, grpc_closure* closure);
62
+ void (*init)(grpc_timer* timer, grpc_core::Timestamp, grpc_closure* closure);
58
63
  void (*cancel)(grpc_timer* timer);
59
64
 
60
65
  /* Internal API */
61
- grpc_timer_check_result (*check)(grpc_millis* next);
66
+ grpc_timer_check_result (*check)(grpc_core::Timestamp* next);
62
67
  void (*list_init)();
63
68
  void (*list_shutdown)(void);
64
69
  void (*consume_kick)(void);
@@ -70,8 +75,8 @@ typedef struct grpc_timer_vtable {
70
75
  application code should check the error to determine how it was invoked. The
71
76
  application callback is also responsible for maintaining information about
72
77
  when to free up any user-level state. Behavior is undefined for a deadline of
73
- GRPC_MILLIS_INF_FUTURE. */
74
- void grpc_timer_init(grpc_timer* timer, grpc_millis deadline,
78
+ grpc_core::Timestamp::InfFuture(). */
79
+ void grpc_timer_init(grpc_timer* timer, grpc_core::Timestamp deadline,
75
80
  grpc_closure* closure);
76
81
 
77
82
  /* Initialize *timer without setting it. This can later be passed through
@@ -115,7 +120,7 @@ void grpc_timer_cancel(grpc_timer* timer);
115
120
  *next is never guaranteed to be updated on any given execution; however,
116
121
  with high probability at least one thread in the system will see an update
117
122
  at any time slice. */
118
- grpc_timer_check_result grpc_timer_check(grpc_millis* next);
123
+ grpc_timer_check_result grpc_timer_check(grpc_core::Timestamp* next);
119
124
  void grpc_timer_list_init();
120
125
  void grpc_timer_list_shutdown();
121
126
 
@@ -33,6 +33,7 @@
33
33
  #include "src/core/lib/gpr/spinlock.h"
34
34
  #include "src/core/lib/gpr/tls.h"
35
35
  #include "src/core/lib/gpr/useful.h"
36
+ #include "src/core/lib/gprpp/time.h"
36
37
  #include "src/core/lib/iomgr/exec_ctx.h"
37
38
  #include "src/core/lib/iomgr/port.h"
38
39
  #include "src/core/lib/iomgr/time_averaged_stats.h"
@@ -61,9 +62,9 @@ struct timer_shard {
61
62
  gpr_mu mu;
62
63
  grpc_time_averaged_stats stats;
63
64
  /* All and only timers with deadlines < this will be in the heap. */
64
- grpc_millis queue_deadline_cap;
65
+ grpc_core::Timestamp queue_deadline_cap;
65
66
  /* The deadline of the next timer due in this shard. */
66
- grpc_millis min_deadline;
67
+ grpc_core::Timestamp min_deadline;
67
68
  /* Index of this timer_shard in the g_shard_queue. */
68
69
  uint32_t shard_queue_index;
69
70
  /* This holds all timers with deadlines < queue_deadline_cap. Timers in this
@@ -214,11 +215,11 @@ static void validate_non_pending_timer(grpc_timer* t) {
214
215
  * has last-seen. This is an optimization to prevent the thread from checking
215
216
  * shared_mutables.min_timer (which requires acquiring shared_mutables.mu lock,
216
217
  * an expensive operation) */
217
- static GPR_THREAD_LOCAL(grpc_millis) g_last_seen_min_timer;
218
+ static GPR_THREAD_LOCAL(int64_t) g_last_seen_min_timer;
218
219
 
219
220
  struct shared_mutables {
220
221
  /* The deadline of the next timer due across all timer shards */
221
- grpc_millis min_timer;
222
+ grpc_core::Timestamp min_timer;
222
223
  /* Allow only one run_some_expired_timers at once */
223
224
  gpr_spinlock checker_mu;
224
225
  bool initialized;
@@ -228,21 +229,15 @@ struct shared_mutables {
228
229
 
229
230
  static struct shared_mutables g_shared_mutables;
230
231
 
231
- static grpc_millis saturating_add(grpc_millis a, grpc_millis b) {
232
- if (a > GRPC_MILLIS_INF_FUTURE - b) {
233
- return GRPC_MILLIS_INF_FUTURE;
234
- }
235
- return a + b;
236
- }
237
-
238
- static grpc_timer_check_result run_some_expired_timers(grpc_millis now,
239
- grpc_millis* next,
240
- grpc_error_handle error);
232
+ static grpc_timer_check_result run_some_expired_timers(
233
+ grpc_core::Timestamp now, grpc_core::Timestamp* next,
234
+ grpc_error_handle error);
241
235
 
242
- static grpc_millis compute_min_deadline(timer_shard* shard) {
236
+ static grpc_core::Timestamp compute_min_deadline(timer_shard* shard) {
243
237
  return grpc_timer_heap_is_empty(&shard->heap)
244
- ? saturating_add(shard->queue_deadline_cap, 1)
245
- : grpc_timer_heap_top(&shard->heap)->deadline;
238
+ ? shard->queue_deadline_cap + grpc_core::Duration::Epsilon()
239
+ : grpc_core::Timestamp::FromMillisecondsAfterProcessEpoch(
240
+ grpc_timer_heap_top(&shard->heap)->deadline);
246
241
  }
247
242
 
248
243
  static void timer_list_init() {
@@ -280,7 +275,7 @@ static void timer_list_init() {
280
275
  static void timer_list_shutdown() {
281
276
  size_t i;
282
277
  run_some_expired_timers(
283
- GRPC_MILLIS_INF_FUTURE, nullptr,
278
+ grpc_core::Timestamp::InfFuture(), nullptr,
284
279
  GRPC_ERROR_CREATE_FROM_STATIC_STRING("Timer list shutdown"));
285
280
  for (i = 0; i < g_num_shards; i++) {
286
281
  timer_shard* shard = &g_shards[i];
@@ -334,12 +329,12 @@ static void note_deadline_change(timer_shard* shard) {
334
329
 
335
330
  void grpc_timer_init_unset(grpc_timer* timer) { timer->pending = false; }
336
331
 
337
- static void timer_init(grpc_timer* timer, grpc_millis deadline,
332
+ static void timer_init(grpc_timer* timer, grpc_core::Timestamp deadline,
338
333
  grpc_closure* closure) {
339
334
  int is_first_timer = 0;
340
335
  timer_shard* shard = &g_shards[grpc_core::HashPointer(timer, g_num_shards)];
341
336
  timer->closure = closure;
342
- timer->deadline = deadline;
337
+ timer->deadline = deadline.milliseconds_after_process_epoch();
343
338
 
344
339
  #ifndef NDEBUG
345
340
  timer->hash_table_next = nullptr;
@@ -347,8 +342,9 @@ static void timer_init(grpc_timer* timer, grpc_millis deadline,
347
342
 
348
343
  if (GRPC_TRACE_FLAG_ENABLED(grpc_timer_trace)) {
349
344
  gpr_log(GPR_INFO, "TIMER %p: SET %" PRId64 " now %" PRId64 " call %p[%p]",
350
- timer, deadline, grpc_core::ExecCtx::Get()->Now(), closure,
351
- closure->cb);
345
+ timer, deadline.milliseconds_after_process_epoch(),
346
+ grpc_core::ExecCtx::Get()->Now().milliseconds_after_process_epoch(),
347
+ closure, closure->cb);
352
348
  }
353
349
 
354
350
  if (!g_shared_mutables.initialized) {
@@ -362,7 +358,7 @@ static void timer_init(grpc_timer* timer, grpc_millis deadline,
362
358
 
363
359
  gpr_mu_lock(&shard->mu);
364
360
  timer->pending = true;
365
- grpc_millis now = grpc_core::ExecCtx::Get()->Now();
361
+ grpc_core::Timestamp now = grpc_core::ExecCtx::Get()->Now();
366
362
  if (deadline <= now) {
367
363
  timer->pending = false;
368
364
  grpc_core::ExecCtx::Run(DEBUG_LOCATION, timer->closure, GRPC_ERROR_NONE);
@@ -371,8 +367,8 @@ static void timer_init(grpc_timer* timer, grpc_millis deadline,
371
367
  return;
372
368
  }
373
369
 
374
- grpc_time_averaged_stats_add_sample(
375
- &shard->stats, static_cast<double>(deadline - now) / 1000.0);
370
+ grpc_time_averaged_stats_add_sample(&shard->stats,
371
+ (deadline - now).millis() / 1000.0);
376
372
 
377
373
  ADD_TO_HASH_TABLE(timer);
378
374
 
@@ -386,7 +382,8 @@ static void timer_init(grpc_timer* timer, grpc_millis deadline,
386
382
  gpr_log(GPR_INFO,
387
383
  " .. add to shard %d with queue_deadline_cap=%" PRId64
388
384
  " => is_first_timer=%s",
389
- static_cast<int>(shard - g_shards), shard->queue_deadline_cap,
385
+ static_cast<int>(shard - g_shards),
386
+ shard->queue_deadline_cap.milliseconds_after_process_epoch(),
390
387
  is_first_timer ? "true" : "false");
391
388
  }
392
389
  gpr_mu_unlock(&shard->mu);
@@ -406,10 +403,10 @@ static void timer_init(grpc_timer* timer, grpc_millis deadline,
406
403
  gpr_mu_lock(&g_shared_mutables.mu);
407
404
  if (GRPC_TRACE_FLAG_ENABLED(grpc_timer_trace)) {
408
405
  gpr_log(GPR_INFO, " .. old shard min_deadline=%" PRId64,
409
- shard->min_deadline);
406
+ shard->min_deadline.milliseconds_after_process_epoch());
410
407
  }
411
408
  if (deadline < shard->min_deadline) {
412
- grpc_millis old_min_deadline = g_shard_queue[0]->min_deadline;
409
+ grpc_core::Timestamp old_min_deadline = g_shard_queue[0]->min_deadline;
413
410
  shard->min_deadline = deadline;
414
411
  note_deadline_change(shard);
415
412
  if (shard->shard_queue_index == 0 && deadline < old_min_deadline) {
@@ -419,10 +416,10 @@ static void timer_init(grpc_timer* timer, grpc_millis deadline,
419
416
  // (&g_shared_mutables.min_timer) is a (long long *). The cast should be
420
417
  // safe since we know that both are pointer types and 64-bit wide.
421
418
  gpr_atm_no_barrier_store((gpr_atm*)(&g_shared_mutables.min_timer),
422
- deadline);
419
+ deadline.milliseconds_after_process_epoch());
423
420
  #else
424
421
  // On 32-bit systems, gpr_atm_no_barrier_store does not work on 64-bit
425
- // types (like grpc_millis). So all reads and writes to
422
+ // types (like grpc_core::Timestamp). So all reads and writes to
426
423
  // g_shared_mutables.min_timer varialbe under g_shared_mutables.mu
427
424
  g_shared_mutables.min_timer = deadline;
428
425
  #endif
@@ -473,7 +470,7 @@ static void timer_cancel(grpc_timer* timer) {
473
470
  'queue_deadline_cap') into into shard->heap.
474
471
  Returns 'true' if shard->heap has at least ONE element
475
472
  REQUIRES: shard->mu locked */
476
- static bool refill_heap(timer_shard* shard, grpc_millis now) {
473
+ static bool refill_heap(timer_shard* shard, grpc_core::Timestamp now) {
477
474
  /* Compute the new queue window width and bound by the limits: */
478
475
  double computed_deadline_delta =
479
476
  grpc_time_averaged_stats_update_average(&shard->stats) *
@@ -485,20 +482,24 @@ static bool refill_heap(timer_shard* shard, grpc_millis now) {
485
482
 
486
483
  /* Compute the new cap and put all timers under it into the queue: */
487
484
  shard->queue_deadline_cap =
488
- saturating_add(std::max(now, shard->queue_deadline_cap),
489
- static_cast<grpc_millis>(deadline_delta * 1000.0));
485
+ std::max(now, shard->queue_deadline_cap) +
486
+ grpc_core::Duration::FromSecondsAsDouble(deadline_delta);
490
487
 
491
488
  if (GRPC_TRACE_FLAG_ENABLED(grpc_timer_check_trace)) {
492
489
  gpr_log(GPR_INFO, " .. shard[%d]->queue_deadline_cap --> %" PRId64,
493
- static_cast<int>(shard - g_shards), shard->queue_deadline_cap);
490
+ static_cast<int>(shard - g_shards),
491
+ shard->queue_deadline_cap.milliseconds_after_process_epoch());
494
492
  }
495
493
  for (timer = shard->list.next; timer != &shard->list; timer = next) {
496
494
  next = timer->next;
495
+ auto timer_deadline =
496
+ grpc_core::Timestamp::FromMillisecondsAfterProcessEpoch(
497
+ timer->deadline);
497
498
 
498
- if (timer->deadline < shard->queue_deadline_cap) {
499
+ if (timer_deadline < shard->queue_deadline_cap) {
499
500
  if (GRPC_TRACE_FLAG_ENABLED(grpc_timer_check_trace)) {
500
501
  gpr_log(GPR_INFO, " .. add timer with deadline %" PRId64 " to heap",
501
- timer->deadline);
502
+ timer_deadline.milliseconds_after_process_epoch());
502
503
  }
503
504
  list_remove(timer);
504
505
  grpc_timer_heap_add(&shard->heap, timer);
@@ -510,7 +511,7 @@ static bool refill_heap(timer_shard* shard, grpc_millis now) {
510
511
  /* This pops the next non-cancelled timer with deadline <= now from the
511
512
  queue, or returns NULL if there isn't one.
512
513
  REQUIRES: shard->mu locked */
513
- static grpc_timer* pop_one(timer_shard* shard, grpc_millis now) {
514
+ static grpc_timer* pop_one(timer_shard* shard, grpc_core::Timestamp now) {
514
515
  grpc_timer* timer;
515
516
  for (;;) {
516
517
  if (GRPC_TRACE_FLAG_ENABLED(grpc_timer_check_trace)) {
@@ -523,15 +524,19 @@ static grpc_timer* pop_one(timer_shard* shard, grpc_millis now) {
523
524
  if (!refill_heap(shard, now)) return nullptr;
524
525
  }
525
526
  timer = grpc_timer_heap_top(&shard->heap);
527
+ auto timer_deadline =
528
+ grpc_core::Timestamp::FromMillisecondsAfterProcessEpoch(
529
+ timer->deadline);
526
530
  if (GRPC_TRACE_FLAG_ENABLED(grpc_timer_check_trace)) {
527
531
  gpr_log(GPR_INFO,
528
532
  " .. check top timer deadline=%" PRId64 " now=%" PRId64,
529
- timer->deadline, now);
533
+ timer_deadline.milliseconds_after_process_epoch(),
534
+ now.milliseconds_after_process_epoch());
530
535
  }
531
- if (timer->deadline > now) return nullptr;
536
+ if (timer_deadline > now) return nullptr;
532
537
  if (GRPC_TRACE_FLAG_ENABLED(grpc_timer_trace)) {
533
538
  gpr_log(GPR_INFO, "TIMER %p: FIRE %" PRId64 "ms late", timer,
534
- now - timer->deadline);
539
+ (now - timer_deadline).millis());
535
540
  }
536
541
  timer->pending = false;
537
542
  grpc_timer_heap_pop(&shard->heap);
@@ -540,8 +545,8 @@ static grpc_timer* pop_one(timer_shard* shard, grpc_millis now) {
540
545
  }
541
546
 
542
547
  /* REQUIRES: shard->mu unlocked */
543
- static size_t pop_timers(timer_shard* shard, grpc_millis now,
544
- grpc_millis* new_min_deadline,
548
+ static size_t pop_timers(timer_shard* shard, grpc_core::Timestamp now,
549
+ grpc_core::Timestamp* new_min_deadline,
545
550
  grpc_error_handle error) {
546
551
  size_t n = 0;
547
552
  grpc_timer* timer;
@@ -562,7 +567,8 @@ static size_t pop_timers(timer_shard* shard, grpc_millis now,
562
567
  }
563
568
 
564
569
  static grpc_timer_check_result run_some_expired_timers(
565
- grpc_millis now, grpc_millis* next, grpc_error_handle error) {
570
+ grpc_core::Timestamp now, grpc_core::Timestamp* next,
571
+ grpc_error_handle error) {
566
572
  grpc_timer_check_result result = GRPC_TIMERS_NOT_CHECKED;
567
573
 
568
574
  #if GPR_ARCH_64
@@ -570,17 +576,18 @@ static grpc_timer_check_result run_some_expired_timers(
570
576
  // mac platforms complaining that gpr_atm* is (long *) while
571
577
  // (&g_shared_mutables.min_timer) is a (long long *). The cast should be
572
578
  // safe since we know that both are pointer types and 64-bit wide
573
- grpc_millis min_timer = static_cast<grpc_millis>(
574
- gpr_atm_no_barrier_load((gpr_atm*)(&g_shared_mutables.min_timer)));
579
+ grpc_core::Timestamp min_timer =
580
+ grpc_core::Timestamp::FromMillisecondsAfterProcessEpoch(
581
+ gpr_atm_no_barrier_load((gpr_atm*)(&g_shared_mutables.min_timer)));
575
582
  #else
576
583
  // On 32-bit systems, gpr_atm_no_barrier_load does not work on 64-bit types
577
- // (like grpc_millis). So all reads and writes to g_shared_mutables.min_timer
578
- // are done under g_shared_mutables.mu
584
+ // (like grpc_core::Timestamp). So all reads and writes to
585
+ // g_shared_mutables.min_timer are done under g_shared_mutables.mu
579
586
  gpr_mu_lock(&g_shared_mutables.mu);
580
- grpc_millis min_timer = g_shared_mutables.min_timer;
587
+ grpc_core::Timestamp min_timer = g_shared_mutables.min_timer;
581
588
  gpr_mu_unlock(&g_shared_mutables.mu);
582
589
  #endif
583
- g_last_seen_min_timer = min_timer;
590
+ g_last_seen_min_timer = min_timer.milliseconds_after_process_epoch();
584
591
 
585
592
  if (now < min_timer) {
586
593
  if (next != nullptr) *next = std::min(*next, min_timer);
@@ -592,15 +599,16 @@ static grpc_timer_check_result run_some_expired_timers(
592
599
  result = GRPC_TIMERS_CHECKED_AND_EMPTY;
593
600
 
594
601
  if (GRPC_TRACE_FLAG_ENABLED(grpc_timer_check_trace)) {
595
- gpr_log(GPR_INFO, " .. shard[%d]->min_deadline = %" PRId64,
596
- static_cast<int>(g_shard_queue[0] - g_shards),
597
- g_shard_queue[0]->min_deadline);
602
+ gpr_log(
603
+ GPR_INFO, " .. shard[%d]->min_deadline = %" PRId64,
604
+ static_cast<int>(g_shard_queue[0] - g_shards),
605
+ g_shard_queue[0]->min_deadline.milliseconds_after_process_epoch());
598
606
  }
599
607
 
600
608
  while (g_shard_queue[0]->min_deadline < now ||
601
- (now != GRPC_MILLIS_INF_FUTURE &&
609
+ (now != grpc_core::Timestamp::InfFuture() &&
602
610
  g_shard_queue[0]->min_deadline == now)) {
603
- grpc_millis new_min_deadline;
611
+ grpc_core::Timestamp new_min_deadline;
604
612
 
605
613
  /* For efficiency, we pop as many available timers as we can from the
606
614
  shard. This may violate perfect timer deadline ordering, but that
@@ -610,12 +618,15 @@ static grpc_timer_check_result run_some_expired_timers(
610
618
  }
611
619
 
612
620
  if (GRPC_TRACE_FLAG_ENABLED(grpc_timer_check_trace)) {
613
- gpr_log(GPR_INFO,
614
- " .. result --> %d"
615
- ", shard[%d]->min_deadline %" PRId64 " --> %" PRId64
616
- ", now=%" PRId64,
617
- result, static_cast<int>(g_shard_queue[0] - g_shards),
618
- g_shard_queue[0]->min_deadline, new_min_deadline, now);
621
+ gpr_log(
622
+ GPR_INFO,
623
+ " .. result --> %d"
624
+ ", shard[%d]->min_deadline %" PRId64 " --> %" PRId64
625
+ ", now=%" PRId64,
626
+ result, static_cast<int>(g_shard_queue[0] - g_shards),
627
+ g_shard_queue[0]->min_deadline.milliseconds_after_process_epoch(),
628
+ new_min_deadline.milliseconds_after_process_epoch(),
629
+ now.milliseconds_after_process_epoch());
619
630
  }
620
631
 
621
632
  /* An grpc_timer_init() on the shard could intervene here, adding a new
@@ -636,11 +647,12 @@ static grpc_timer_check_result run_some_expired_timers(
636
647
  // mac platforms complaining that gpr_atm* is (long *) while
637
648
  // (&g_shared_mutables.min_timer) is a (long long *). The cast should be
638
649
  // safe since we know that both are pointer types and 64-bit wide
639
- gpr_atm_no_barrier_store((gpr_atm*)(&g_shared_mutables.min_timer),
640
- g_shard_queue[0]->min_deadline);
650
+ gpr_atm_no_barrier_store(
651
+ (gpr_atm*)(&g_shared_mutables.min_timer),
652
+ g_shard_queue[0]->min_deadline.milliseconds_after_process_epoch());
641
653
  #else
642
654
  // On 32-bit systems, gpr_atm_no_barrier_store does not work on 64-bit
643
- // types (like grpc_millis). So all reads and writes to
655
+ // types (like grpc_core::Timestamp). So all reads and writes to
644
656
  // g_shared_mutables.min_timer are done under g_shared_mutables.mu
645
657
  g_shared_mutables.min_timer = g_shard_queue[0]->min_deadline;
646
658
  #endif
@@ -653,13 +665,15 @@ static grpc_timer_check_result run_some_expired_timers(
653
665
  return result;
654
666
  }
655
667
 
656
- static grpc_timer_check_result timer_check(grpc_millis* next) {
668
+ static grpc_timer_check_result timer_check(grpc_core::Timestamp* next) {
657
669
  // prelude
658
- grpc_millis now = grpc_core::ExecCtx::Get()->Now();
670
+ grpc_core::Timestamp now = grpc_core::ExecCtx::Get()->Now();
659
671
 
660
672
  /* fetch from a thread-local first: this avoids contention on a globally
661
673
  mutable cacheline in the common case */
662
- grpc_millis min_timer = g_last_seen_min_timer;
674
+ grpc_core::Timestamp min_timer =
675
+ grpc_core::Timestamp::FromMillisecondsAfterProcessEpoch(
676
+ g_last_seen_min_timer);
663
677
 
664
678
  if (now < min_timer) {
665
679
  if (next != nullptr) {
@@ -667,13 +681,14 @@ static grpc_timer_check_result timer_check(grpc_millis* next) {
667
681
  }
668
682
  if (GRPC_TRACE_FLAG_ENABLED(grpc_timer_check_trace)) {
669
683
  gpr_log(GPR_INFO, "TIMER CHECK SKIP: now=%" PRId64 " min_timer=%" PRId64,
670
- now, min_timer);
684
+ now.milliseconds_after_process_epoch(),
685
+ min_timer.milliseconds_after_process_epoch());
671
686
  }
672
687
  return GRPC_TIMERS_CHECKED_AND_EMPTY;
673
688
  }
674
689
 
675
690
  grpc_error_handle shutdown_error =
676
- now != GRPC_MILLIS_INF_FUTURE
691
+ now != grpc_core::Timestamp::InfFuture()
677
692
  ? GRPC_ERROR_NONE
678
693
  : GRPC_ERROR_CREATE_FROM_STATIC_STRING("Shutting down timer system");
679
694
 
@@ -683,18 +698,22 @@ static grpc_timer_check_result timer_check(grpc_millis* next) {
683
698
  if (next == nullptr) {
684
699
  next_str = "NULL";
685
700
  } else {
686
- next_str = absl::StrCat(*next);
701
+ next_str = absl::StrCat(next->milliseconds_after_process_epoch());
687
702
  }
688
703
  #if GPR_ARCH_64
689
- gpr_log(GPR_INFO,
690
- "TIMER CHECK BEGIN: now=%" PRId64 " next=%s tls_min=%" PRId64
691
- " glob_min=%" PRId64,
692
- now, next_str.c_str(), min_timer,
693
- static_cast<grpc_millis>(gpr_atm_no_barrier_load(
694
- (gpr_atm*)(&g_shared_mutables.min_timer))));
704
+ gpr_log(
705
+ GPR_INFO,
706
+ "TIMER CHECK BEGIN: now=%" PRId64 " next=%s tls_min=%" PRId64
707
+ " glob_min=%" PRId64,
708
+ now.milliseconds_after_process_epoch(), next_str.c_str(),
709
+ min_timer.milliseconds_after_process_epoch(),
710
+ grpc_core::Timestamp::FromMillisecondsAfterProcessEpoch(
711
+ gpr_atm_no_barrier_load((gpr_atm*)(&g_shared_mutables.min_timer)))
712
+ .milliseconds_after_process_epoch());
695
713
  #else
696
714
  gpr_log(GPR_INFO, "TIMER CHECK BEGIN: now=%" PRId64 " next=%s min=%" PRId64,
697
- now, next_str.c_str(), min_timer);
715
+ now.milliseconds_after_process_epoch(), next_str.c_str(),
716
+ min_timer.milliseconds_after_process_epoch());
698
717
  #endif
699
718
  }
700
719
  // actual code
@@ -706,7 +725,7 @@ static grpc_timer_check_result timer_check(grpc_millis* next) {
706
725
  if (next == nullptr) {
707
726
  next_str = "NULL";
708
727
  } else {
709
- next_str = absl::StrCat(*next);
728
+ next_str = absl::StrCat(next->milliseconds_after_process_epoch());
710
729
  }
711
730
  gpr_log(GPR_INFO, "TIMER CHECK END: r=%d; next=%s", r, next_str.c_str());
712
731
  }
@@ -56,7 +56,7 @@ static bool g_kicked;
56
56
  static bool g_has_timed_waiter;
57
57
  // the deadline of the current timed waiter thread (only relevant if
58
58
  // g_has_timed_waiter is true)
59
- static grpc_millis g_timed_waiter_deadline;
59
+ static grpc_core::Timestamp g_timed_waiter_deadline;
60
60
  // generation counter to track which thread is waiting for the next timer
61
61
  static uint64_t g_timed_waiter_generation;
62
62
  // number of timer wakeups
@@ -143,7 +143,7 @@ static void run_some_timers() {
143
143
  // wait until 'next' (or forever if there is already a timed waiter in the pool)
144
144
  // returns true if the thread should continue executing (false if it should
145
145
  // shutdown)
146
- static bool wait_until(grpc_millis next) {
146
+ static bool wait_until(grpc_core::Timestamp next) {
147
147
  gpr_mu_lock(&g_mu);
148
148
  // if we're not threaded anymore, leave
149
149
  if (!g_threaded) {
@@ -177,28 +177,29 @@ static bool wait_until(grpc_millis next) {
177
177
  unless their 'next' is earlier than the current timed-waiter's deadline
178
178
  (in which case the thread with earlier 'next' takes over as the new timed
179
179
  waiter) */
180
- if (next != GRPC_MILLIS_INF_FUTURE) {
180
+ if (next != grpc_core::Timestamp::InfFuture()) {
181
181
  if (!g_has_timed_waiter || (next < g_timed_waiter_deadline)) {
182
182
  my_timed_waiter_generation = ++g_timed_waiter_generation;
183
183
  g_has_timed_waiter = true;
184
184
  g_timed_waiter_deadline = next;
185
185
 
186
186
  if (GRPC_TRACE_FLAG_ENABLED(grpc_timer_check_trace)) {
187
- grpc_millis wait_time = next - grpc_core::ExecCtx::Get()->Now();
188
- gpr_log(GPR_INFO, "sleep for a %" PRId64 " milliseconds", wait_time);
187
+ grpc_core::Duration wait_time =
188
+ next - grpc_core::ExecCtx::Get()->Now();
189
+ gpr_log(GPR_INFO, "sleep for a %" PRId64 " milliseconds",
190
+ wait_time.millis());
189
191
  }
190
192
  } else { // g_timed_waiter == true && next >= g_timed_waiter_deadline
191
- next = GRPC_MILLIS_INF_FUTURE;
193
+ next = grpc_core::Timestamp::InfFuture();
192
194
  }
193
195
  }
194
196
 
195
197
  if (GRPC_TRACE_FLAG_ENABLED(grpc_timer_check_trace) &&
196
- next == GRPC_MILLIS_INF_FUTURE) {
198
+ next == grpc_core::Timestamp::InfFuture()) {
197
199
  gpr_log(GPR_INFO, "sleep until kicked");
198
200
  }
199
201
 
200
- gpr_cv_wait(&g_cv_wait, &g_mu,
201
- grpc_millis_to_timespec(next, GPR_CLOCK_MONOTONIC));
202
+ gpr_cv_wait(&g_cv_wait, &g_mu, next.as_timespec(GPR_CLOCK_MONOTONIC));
202
203
 
203
204
  if (GRPC_TRACE_FLAG_ENABLED(grpc_timer_check_trace)) {
204
205
  gpr_log(GPR_INFO, "wait ended: was_timed:%d kicked:%d",
@@ -211,7 +212,7 @@ static bool wait_until(grpc_millis next) {
211
212
  if (my_timed_waiter_generation == g_timed_waiter_generation) {
212
213
  ++g_wakeups;
213
214
  g_has_timed_waiter = false;
214
- g_timed_waiter_deadline = GRPC_MILLIS_INF_FUTURE;
215
+ g_timed_waiter_deadline = grpc_core::Timestamp::InfFuture();
215
216
  }
216
217
  }
217
218
 
@@ -228,7 +229,7 @@ static bool wait_until(grpc_millis next) {
228
229
 
229
230
  static void timer_main_loop() {
230
231
  for (;;) {
231
- grpc_millis next = GRPC_MILLIS_INF_FUTURE;
232
+ grpc_core::Timestamp next = grpc_core::Timestamp::InfFuture();
232
233
  grpc_core::ExecCtx::Get()->InvalidateNow();
233
234
 
234
235
  // check timer state, updates next to the next time to run a check
@@ -249,7 +250,7 @@ static void timer_main_loop() {
249
250
  if (GRPC_TRACE_FLAG_ENABLED(grpc_timer_check_trace)) {
250
251
  gpr_log(GPR_INFO, "timers not checked: expect another thread to");
251
252
  }
252
- next = GRPC_MILLIS_INF_FUTURE;
253
+ next = grpc_core::Timestamp::InfFuture();
253
254
  ABSL_FALLTHROUGH_INTENDED;
254
255
  case GRPC_TIMERS_CHECKED_AND_EMPTY:
255
256
  if (!wait_until(next)) {
@@ -306,7 +307,7 @@ void grpc_timer_manager_init(void) {
306
307
  g_completed_threads = nullptr;
307
308
 
308
309
  g_has_timed_waiter = false;
309
- g_timed_waiter_deadline = GRPC_MILLIS_INF_FUTURE;
310
+ g_timed_waiter_deadline = grpc_core::Timestamp::InfFuture();
310
311
 
311
312
  start_threads();
312
313
  }
@@ -354,7 +355,7 @@ void grpc_kick_poller(void) {
354
355
  gpr_mu_lock(&g_mu);
355
356
  g_kicked = true;
356
357
  g_has_timed_waiter = false;
357
- g_timed_waiter_deadline = GRPC_MILLIS_INF_FUTURE;
358
+ g_timed_waiter_deadline = grpc_core::Timestamp::InfFuture();
358
359
  ++g_timed_waiter_generation;
359
360
  gpr_cv_signal(&g_cv_wait);
360
361
  gpr_mu_unlock(&g_mu);