grpc 1.40.0 → 1.46.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (1941) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +462 -267
  3. data/etc/roots.pem +335 -326
  4. data/include/grpc/byte_buffer.h +1 -1
  5. data/include/grpc/byte_buffer_reader.h +1 -1
  6. data/include/grpc/event_engine/endpoint_config.h +6 -11
  7. data/include/grpc/event_engine/event_engine.h +164 -95
  8. data/include/grpc/event_engine/internal/memory_allocator_impl.h +68 -0
  9. data/include/grpc/event_engine/memory_allocator.h +226 -0
  10. data/include/grpc/event_engine/memory_request.h +57 -0
  11. data/include/grpc/event_engine/port.h +1 -3
  12. data/include/grpc/fork.h +1 -1
  13. data/include/grpc/grpc.h +54 -18
  14. data/include/grpc/grpc_posix.h +22 -18
  15. data/include/grpc/grpc_security.h +328 -193
  16. data/include/grpc/grpc_security_constants.h +2 -14
  17. data/include/grpc/impl/codegen/atm.h +5 -3
  18. data/include/grpc/impl/codegen/atm_gcc_atomic.h +2 -0
  19. data/include/grpc/impl/codegen/atm_gcc_sync.h +2 -0
  20. data/include/grpc/impl/codegen/atm_windows.h +2 -0
  21. data/include/grpc/impl/codegen/byte_buffer.h +2 -0
  22. data/include/grpc/impl/codegen/byte_buffer_reader.h +2 -0
  23. data/include/grpc/impl/codegen/compression_types.h +2 -2
  24. data/include/grpc/impl/codegen/connectivity_state.h +2 -0
  25. data/include/grpc/impl/codegen/fork.h +2 -0
  26. data/include/grpc/impl/codegen/gpr_slice.h +2 -0
  27. data/include/grpc/impl/codegen/gpr_types.h +2 -0
  28. data/include/grpc/impl/codegen/grpc_types.h +28 -26
  29. data/include/grpc/impl/codegen/log.h +2 -0
  30. data/include/grpc/impl/codegen/port_platform.h +37 -22
  31. data/include/grpc/impl/codegen/propagation_bits.h +2 -0
  32. data/include/grpc/impl/codegen/slice.h +6 -1
  33. data/include/grpc/impl/codegen/status.h +2 -0
  34. data/include/grpc/impl/codegen/sync.h +8 -5
  35. data/include/grpc/impl/codegen/sync_abseil.h +2 -0
  36. data/include/grpc/impl/codegen/sync_custom.h +2 -0
  37. data/include/grpc/impl/codegen/sync_generic.h +3 -0
  38. data/include/grpc/impl/codegen/sync_posix.h +4 -2
  39. data/include/grpc/impl/codegen/sync_windows.h +2 -0
  40. data/include/grpc/slice.h +1 -12
  41. data/include/grpc/status.h +1 -1
  42. data/include/grpc/support/atm.h +1 -1
  43. data/include/grpc/support/atm_gcc_atomic.h +1 -1
  44. data/include/grpc/support/atm_gcc_sync.h +1 -1
  45. data/include/grpc/support/atm_windows.h +1 -1
  46. data/include/grpc/support/log.h +1 -1
  47. data/include/grpc/support/port_platform.h +1 -1
  48. data/include/grpc/support/sync.h +1 -1
  49. data/include/grpc/support/sync_abseil.h +1 -1
  50. data/include/grpc/support/sync_custom.h +1 -1
  51. data/include/grpc/support/sync_generic.h +1 -1
  52. data/include/grpc/support/sync_posix.h +1 -1
  53. data/include/grpc/support/sync_windows.h +1 -1
  54. data/include/grpc/support/time.h +2 -2
  55. data/src/core/ext/filters/census/grpc_context.cc +1 -0
  56. data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +309 -0
  57. data/src/core/ext/filters/channel_idle/channel_idle_filter.h +122 -0
  58. data/src/core/ext/filters/channel_idle/idle_filter_state.cc +96 -0
  59. data/src/core/ext/filters/channel_idle/idle_filter_state.h +66 -0
  60. data/src/core/ext/filters/client_channel/backend_metric.cc +24 -27
  61. data/src/core/ext/filters/client_channel/backend_metric.h +4 -3
  62. data/src/core/ext/filters/client_channel/backup_poller.cc +14 -9
  63. data/src/core/ext/filters/client_channel/backup_poller.h +1 -0
  64. data/src/core/ext/filters/client_channel/channel_connectivity.cc +75 -94
  65. data/src/core/ext/filters/client_channel/client_channel.cc +532 -501
  66. data/src/core/ext/filters/client_channel/client_channel.h +115 -64
  67. data/src/core/ext/filters/client_channel/client_channel_channelz.cc +6 -5
  68. data/src/core/ext/filters/client_channel/client_channel_channelz.h +1 -1
  69. data/src/core/ext/filters/client_channel/client_channel_factory.cc +2 -1
  70. data/src/core/ext/filters/client_channel/client_channel_factory.h +17 -19
  71. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +18 -24
  72. data/src/core/ext/filters/client_channel/config_selector.cc +2 -1
  73. data/src/core/ext/filters/client_channel/config_selector.h +5 -6
  74. data/src/core/ext/filters/client_channel/connector.h +19 -19
  75. data/src/core/ext/filters/client_channel/dynamic_filters.cc +6 -7
  76. data/src/core/ext/filters/client_channel/dynamic_filters.h +2 -2
  77. data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +2 -22
  78. data/src/core/ext/filters/client_channel/global_subchannel_pool.h +3 -16
  79. data/src/core/ext/filters/client_channel/health/health_check_client.cc +128 -582
  80. data/src/core/ext/filters/client_channel/health/health_check_client.h +24 -159
  81. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +30 -34
  82. data/src/core/ext/filters/client_channel/http_connect_handshaker.h +10 -2
  83. data/src/core/ext/filters/client_channel/http_proxy.cc +88 -110
  84. data/src/core/ext/filters/client_channel/http_proxy.h +17 -0
  85. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +4 -3
  86. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.h +6 -5
  87. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +6 -2
  88. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +6 -18
  89. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +247 -150
  90. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +3 -6
  91. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +1 -1
  92. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +1 -1
  93. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +3 -4
  94. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +4 -4
  95. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +17 -18
  96. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +4 -4
  97. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +73 -39
  98. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +226 -181
  99. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +126 -79
  100. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +2542 -0
  101. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +68 -62
  102. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +18 -13
  103. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +106 -71
  104. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +119 -159
  105. data/src/core/ext/filters/client_channel/lb_policy/xds/xds.h +1 -1
  106. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +1 -1
  107. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +162 -77
  108. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +29 -19
  109. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +331 -488
  110. data/src/core/ext/filters/client_channel/lb_policy.cc +15 -14
  111. data/src/core/ext/filters/client_channel/lb_policy.h +115 -106
  112. data/src/core/ext/filters/client_channel/lb_policy_factory.h +1 -0
  113. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +4 -7
  114. data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +133 -0
  115. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +296 -324
  116. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +23 -12
  117. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +23 -18
  118. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +37 -55
  119. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +153 -275
  120. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +38 -25
  121. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
  122. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +96 -254
  123. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +23 -20
  124. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +2 -1
  125. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +85 -69
  126. data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +201 -0
  127. data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +106 -0
  128. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +40 -39
  129. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +509 -439
  130. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +11 -15
  131. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +13 -7
  132. data/src/core/ext/filters/client_channel/retry_filter.cc +282 -238
  133. data/src/core/ext/filters/client_channel/retry_service_config.cc +16 -18
  134. data/src/core/ext/filters/client_channel/retry_service_config.h +18 -12
  135. data/src/core/ext/filters/client_channel/retry_throttle.cc +14 -59
  136. data/src/core/ext/filters/client_channel/retry_throttle.h +11 -5
  137. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +51 -37
  138. data/src/core/ext/filters/client_channel/subchannel.cc +132 -197
  139. data/src/core/ext/filters/client_channel/subchannel.h +36 -56
  140. data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +22 -7
  141. data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +11 -2
  142. data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +544 -0
  143. data/src/core/ext/filters/client_channel/subchannel_stream_client.h +214 -0
  144. data/src/core/ext/filters/deadline/deadline_filter.cc +31 -33
  145. data/src/core/ext/filters/deadline/deadline_filter.h +3 -2
  146. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +158 -401
  147. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +24 -1
  148. data/src/core/ext/filters/fault_injection/service_config_parser.cc +17 -27
  149. data/src/core/ext/filters/fault_injection/service_config_parser.h +10 -4
  150. data/src/core/ext/filters/http/client/http_client_filter.cc +83 -548
  151. data/src/core/ext/filters/http/client/http_client_filter.h +21 -4
  152. data/src/core/ext/filters/http/client_authority_filter.cc +39 -103
  153. data/src/core/ext/filters/http/client_authority_filter.h +24 -5
  154. data/src/core/ext/filters/http/http_filters_plugin.cc +55 -73
  155. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +49 -140
  156. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +22 -35
  157. data/src/core/ext/filters/http/server/http_server_filter.cc +64 -274
  158. data/src/core/ext/filters/message_size/message_size_filter.cc +49 -58
  159. data/src/core/ext/filters/message_size/message_size_filter.h +10 -3
  160. data/src/core/ext/filters/rbac/rbac_filter.cc +162 -0
  161. data/src/core/ext/filters/rbac/rbac_filter.h +76 -0
  162. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +606 -0
  163. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +75 -0
  164. data/src/core/ext/filters/server_config_selector/server_config_selector.cc +61 -0
  165. data/src/core/ext/filters/server_config_selector/server_config_selector.h +71 -0
  166. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +143 -0
  167. data/src/core/ext/filters/{workarounds/workaround_cronet_compression_filter.h → server_config_selector/server_config_selector_filter.h} +11 -6
  168. data/src/core/ext/transport/chttp2/alpn/alpn.cc +2 -1
  169. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +245 -12
  170. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +294 -95
  171. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +3 -1
  172. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +2 -1
  173. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +1 -0
  174. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +368 -349
  175. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +12 -4
  176. data/src/core/ext/transport/chttp2/transport/context_list.cc +2 -3
  177. data/src/core/ext/transport/chttp2/transport/context_list.h +3 -5
  178. data/src/core/ext/transport/chttp2/transport/flow_control.cc +63 -44
  179. data/src/core/ext/transport/chttp2/transport/flow_control.h +18 -12
  180. data/src/core/ext/transport/chttp2/transport/frame_data.cc +11 -12
  181. data/src/core/ext/transport/chttp2/transport/frame_data.h +1 -0
  182. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +6 -4
  183. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +1 -0
  184. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +10 -9
  185. data/src/core/ext/transport/chttp2/transport/frame_ping.h +1 -0
  186. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +10 -8
  187. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +1 -0
  188. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +40 -7
  189. data/src/core/ext/transport/chttp2/transport/frame_settings.h +1 -0
  190. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +12 -7
  191. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +1 -0
  192. data/src/core/ext/transport/chttp2/transport/hpack_constants.h +41 -0
  193. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +516 -749
  194. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +183 -71
  195. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +86 -0
  196. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +71 -0
  197. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +764 -1062
  198. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +75 -178
  199. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +239 -0
  200. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +115 -0
  201. data/src/core/ext/transport/chttp2/transport/internal.h +22 -48
  202. data/src/core/ext/transport/chttp2/transport/parsing.cc +61 -212
  203. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +2 -2
  204. data/src/core/ext/transport/chttp2/transport/varint.cc +7 -3
  205. data/src/core/ext/transport/chttp2/transport/varint.h +39 -28
  206. data/src/core/ext/transport/chttp2/transport/writing.cc +125 -169
  207. data/src/core/ext/transport/inproc/inproc_plugin.cc +0 -4
  208. data/src/core/ext/transport/inproc/inproc_transport.cc +132 -173
  209. data/src/core/ext/transport/inproc/inproc_transport.h +1 -4
  210. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +117 -0
  211. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +482 -0
  212. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +121 -0
  213. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +553 -0
  214. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +248 -210
  215. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +1382 -685
  216. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +56 -0
  217. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +151 -0
  218. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +62 -0
  219. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +160 -0
  220. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +46 -0
  221. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +124 -0
  222. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +43 -0
  223. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +102 -0
  224. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c +43 -0
  225. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +97 -0
  226. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c +106 -0
  227. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +605 -0
  228. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +48 -0
  229. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +103 -0
  230. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +44 -1
  231. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +52 -1
  232. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +31 -5
  233. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +57 -18
  234. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +144 -117
  235. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +761 -386
  236. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +240 -200
  237. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +1376 -667
  238. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +50 -29
  239. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +224 -95
  240. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +337 -255
  241. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +1901 -790
  242. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +21 -8
  243. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +50 -24
  244. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +61 -28
  245. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +280 -99
  246. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +299 -0
  247. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +1381 -0
  248. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +75 -54
  249. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +398 -190
  250. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +22 -8
  251. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +53 -25
  252. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +220 -171
  253. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +1224 -567
  254. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +106 -46
  255. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +561 -171
  256. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +20 -7
  257. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +46 -24
  258. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +17 -23
  259. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +49 -95
  260. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +58 -0
  261. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +151 -0
  262. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +146 -118
  263. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +853 -415
  264. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +142 -92
  265. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +797 -345
  266. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +22 -9
  267. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +65 -31
  268. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +205 -122
  269. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +1097 -393
  270. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +18 -5
  271. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +36 -17
  272. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +28 -14
  273. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +97 -49
  274. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +23 -10
  275. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +83 -34
  276. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +27 -14
  277. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +101 -49
  278. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +22 -9
  279. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +54 -26
  280. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +52 -36
  281. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +214 -109
  282. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +92 -39
  283. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +449 -131
  284. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +71 -54
  285. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +389 -188
  286. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +20 -7
  287. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +42 -21
  288. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +99 -72
  289. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +541 -259
  290. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +105 -80
  291. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +610 -307
  292. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +32 -17
  293. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +112 -49
  294. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +25 -11
  295. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +79 -40
  296. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +53 -0
  297. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +136 -0
  298. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +83 -62
  299. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +463 -235
  300. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +93 -60
  301. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +483 -214
  302. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +130 -100
  303. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +628 -282
  304. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +54 -35
  305. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +291 -142
  306. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +665 -567
  307. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +3977 -1883
  308. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +39 -20
  309. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +168 -72
  310. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +222 -0
  311. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +1052 -0
  312. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +44 -0
  313. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +88 -0
  314. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +49 -0
  315. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +103 -0
  316. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +28 -14
  317. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +91 -46
  318. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +52 -0
  319. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +134 -0
  320. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +63 -0
  321. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +250 -0
  322. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +47 -0
  323. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +94 -0
  324. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +69 -0
  325. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +213 -0
  326. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +32 -0
  327. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +42 -0
  328. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +71 -0
  329. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +218 -0
  330. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +54 -0
  331. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +146 -0
  332. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +18 -5
  333. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +42 -24
  334. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +46 -29
  335. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +219 -112
  336. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +52 -37
  337. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +282 -134
  338. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +64 -0
  339. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +183 -0
  340. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +27 -14
  341. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +94 -43
  342. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +284 -225
  343. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +1673 -738
  344. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +10 -1
  345. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +7 -4
  346. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +113 -54
  347. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +621 -216
  348. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +42 -27
  349. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +176 -87
  350. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +128 -83
  351. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +673 -259
  352. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +62 -0
  353. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +160 -0
  354. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +16 -3
  355. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +29 -15
  356. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +92 -73
  357. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +516 -260
  358. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +32 -18
  359. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +121 -62
  360. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +74 -57
  361. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +379 -186
  362. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +48 -0
  363. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +112 -0
  364. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +35 -19
  365. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +149 -81
  366. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +74 -0
  367. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +214 -0
  368. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +29 -14
  369. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +116 -56
  370. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +22 -9
  371. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +58 -31
  372. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +21 -8
  373. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +56 -27
  374. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +20 -7
  375. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +46 -24
  376. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +36 -21
  377. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +137 -69
  378. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +32 -18
  379. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +137 -65
  380. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +27 -13
  381. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +99 -53
  382. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +38 -23
  383. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +170 -83
  384. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +51 -32
  385. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +273 -145
  386. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +54 -37
  387. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +268 -132
  388. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +66 -0
  389. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +201 -0
  390. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +10 -1
  391. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +4 -1
  392. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +42 -0
  393. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +139 -0
  394. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +24 -10
  395. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +76 -36
  396. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +31 -16
  397. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +118 -52
  398. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.c +26 -0
  399. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.h +41 -0
  400. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +20 -7
  401. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +48 -19
  402. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c +51 -0
  403. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +127 -0
  404. data/src/core/ext/upb-generated/google/api/annotations.upb.c +23 -1
  405. data/src/core/ext/upb-generated/google/api/annotations.upb.h +24 -1
  406. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +155 -126
  407. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +791 -385
  408. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +159 -127
  409. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +869 -402
  410. data/src/core/ext/upb-generated/google/api/http.upb.c +44 -29
  411. data/src/core/ext/upb-generated/google/api/http.upb.h +236 -115
  412. data/src/core/ext/upb-generated/google/api/httpbody.upb.c +46 -0
  413. data/src/core/ext/upb-generated/google/api/httpbody.upb.h +111 -0
  414. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +19 -6
  415. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +46 -22
  416. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +374 -283
  417. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +2263 -1053
  418. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +19 -6
  419. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +44 -20
  420. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +16 -3
  421. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +29 -15
  422. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +48 -32
  423. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +197 -93
  424. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +19 -6
  425. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +44 -20
  426. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +58 -37
  427. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +296 -149
  428. data/src/core/ext/upb-generated/google/rpc/status.upb.c +22 -9
  429. data/src/core/ext/upb-generated/google/rpc/status.upb.h +60 -30
  430. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +84 -0
  431. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +319 -0
  432. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +33 -19
  433. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +111 -48
  434. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +136 -108
  435. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +753 -365
  436. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +28 -13
  437. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +90 -41
  438. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +23 -9
  439. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +70 -35
  440. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +82 -62
  441. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +448 -232
  442. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +70 -0
  443. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +208 -0
  444. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +175 -0
  445. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +764 -0
  446. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +76 -14
  447. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +213 -57
  448. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +32 -8
  449. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +62 -18
  450. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +22 -1
  451. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +17 -1
  452. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +32 -6
  453. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +64 -20
  454. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +31 -5
  455. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +57 -18
  456. data/src/core/ext/upb-generated/validate/validate.upb.c +407 -311
  457. data/src/core/ext/upb-generated/validate/validate.upb.h +2904 -1200
  458. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +110 -0
  459. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +278 -0
  460. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +55 -0
  461. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +108 -0
  462. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c +38 -0
  463. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h +46 -0
  464. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +105 -0
  465. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +290 -0
  466. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +53 -0
  467. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +99 -0
  468. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +19 -6
  469. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +38 -19
  470. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +32 -18
  471. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +112 -55
  472. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +27 -13
  473. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +61 -30
  474. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +46 -0
  475. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +103 -0
  476. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +24 -11
  477. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +63 -30
  478. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +35 -21
  479. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +144 -70
  480. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +24 -11
  481. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +66 -30
  482. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +73 -0
  483. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +187 -0
  484. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +207 -0
  485. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +878 -0
  486. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +52 -0
  487. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +143 -0
  488. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +65 -0
  489. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +218 -0
  490. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +46 -0
  491. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +103 -0
  492. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.c +84 -0
  493. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.h +55 -0
  494. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.c +127 -0
  495. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.h +50 -0
  496. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +16 -61
  497. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +67 -67
  498. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.c +43 -0
  499. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.h +40 -0
  500. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +53 -0
  501. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.h +40 -0
  502. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.c +49 -0
  503. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.h +35 -0
  504. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.c +46 -0
  505. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.h +35 -0
  506. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.c +46 -0
  507. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.h +35 -0
  508. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.c +142 -0
  509. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.h +40 -0
  510. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.c +51 -0
  511. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.h +35 -0
  512. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +10 -8
  513. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h +1 -1
  514. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +10 -13
  515. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h +4 -4
  516. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +22 -52
  517. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +46 -46
  518. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +250 -281
  519. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +55 -55
  520. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +60 -62
  521. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +10 -10
  522. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +445 -458
  523. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +80 -70
  524. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +16 -18
  525. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h +4 -4
  526. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +25 -23
  527. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h +4 -4
  528. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.c +206 -0
  529. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.h +105 -0
  530. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +17 -32
  531. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +22 -22
  532. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +17 -19
  533. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h +4 -4
  534. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +121 -154
  535. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +75 -70
  536. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +140 -116
  537. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +26 -16
  538. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +16 -19
  539. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h +4 -4
  540. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +24 -43
  541. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +4 -9
  542. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.c +53 -0
  543. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.h +40 -0
  544. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +23 -51
  545. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h +43 -43
  546. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +179 -184
  547. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +30 -25
  548. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +16 -19
  549. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h +4 -4
  550. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +263 -252
  551. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +53 -43
  552. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +14 -16
  553. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +4 -4
  554. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +16 -20
  555. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h +7 -7
  556. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +16 -18
  557. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +4 -4
  558. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +20 -22
  559. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h +4 -4
  560. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +15 -18
  561. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h +4 -4
  562. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +20 -28
  563. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h +13 -13
  564. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +98 -83
  565. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +23 -13
  566. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +20 -30
  567. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h +16 -16
  568. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +16 -18
  569. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h +4 -4
  570. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +54 -62
  571. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +19 -19
  572. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +155 -166
  573. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h +22 -22
  574. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +21 -23
  575. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h +4 -4
  576. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +17 -21
  577. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h +7 -7
  578. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c +69 -0
  579. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.h +35 -0
  580. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +19 -35
  581. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +25 -25
  582. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +40 -47
  583. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +30 -25
  584. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +190 -0
  585. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +70 -0
  586. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +38 -38
  587. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +10 -10
  588. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +845 -913
  589. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +160 -160
  590. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +54 -48
  591. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h +10 -10
  592. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +188 -0
  593. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +85 -0
  594. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.c +54 -0
  595. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.h +35 -0
  596. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.c +57 -0
  597. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.h +35 -0
  598. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +17 -21
  599. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h +7 -7
  600. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.c +72 -0
  601. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.h +35 -0
  602. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.c +99 -0
  603. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.h +35 -0
  604. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.c +52 -0
  605. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.h +35 -0
  606. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.c +71 -0
  607. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.h +40 -0
  608. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +57 -0
  609. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.h +30 -0
  610. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.c +75 -0
  611. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.h +40 -0
  612. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c +77 -0
  613. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.h +35 -0
  614. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +17 -18
  615. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +4 -4
  616. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +19 -29
  617. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +16 -16
  618. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +20 -26
  619. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +10 -10
  620. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +59 -0
  621. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +40 -0
  622. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +19 -20
  623. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +4 -4
  624. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +291 -311
  625. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +63 -58
  626. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +17 -13
  627. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +1 -1
  628. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +173 -141
  629. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +26 -16
  630. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +21 -27
  631. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +10 -10
  632. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +219 -211
  633. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +24 -19
  634. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +58 -0
  635. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +40 -0
  636. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +16 -18
  637. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h +4 -4
  638. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +19 -33
  639. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +22 -22
  640. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +18 -22
  641. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h +7 -7
  642. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +22 -32
  643. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +16 -16
  644. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.c +46 -0
  645. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.h +35 -0
  646. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +15 -23
  647. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h +13 -13
  648. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.c +52 -0
  649. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.h +50 -0
  650. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +24 -27
  651. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h +7 -7
  652. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +17 -19
  653. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +4 -4
  654. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +17 -19
  655. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h +4 -4
  656. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +17 -19
  657. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h +4 -4
  658. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +17 -23
  659. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h +10 -10
  660. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +17 -21
  661. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h +7 -7
  662. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +16 -21
  663. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +7 -7
  664. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +18 -24
  665. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h +10 -10
  666. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +15 -29
  667. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h +22 -22
  668. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +16 -26
  669. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h +16 -16
  670. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.c +53 -0
  671. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.h +45 -0
  672. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +12 -10
  673. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h +1 -1
  674. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.c +94 -0
  675. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.h +35 -0
  676. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +14 -19
  677. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h +7 -7
  678. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +13 -19
  679. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h +10 -10
  680. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.c +38 -0
  681. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.h +30 -0
  682. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +13 -16
  683. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h +4 -4
  684. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.c +57 -0
  685. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.h +35 -0
  686. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +7 -7
  687. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h +1 -1
  688. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.c +154 -0
  689. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.h +95 -0
  690. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.c +153 -0
  691. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.h +100 -0
  692. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +5 -14
  693. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h +10 -10
  694. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.c +39 -0
  695. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.h +35 -0
  696. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +5 -10
  697. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h +4 -4
  698. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +107 -164
  699. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h +82 -82
  700. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +5 -10
  701. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h +4 -4
  702. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +5 -10
  703. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h +4 -4
  704. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +5 -16
  705. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h +13 -13
  706. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +5 -10
  707. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h +4 -4
  708. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +5 -26
  709. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h +28 -28
  710. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +6 -11
  711. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h +4 -4
  712. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.c +67 -0
  713. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.h +50 -0
  714. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +99 -0
  715. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +75 -0
  716. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +10 -18
  717. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h +10 -10
  718. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +24 -33
  719. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h +4 -4
  720. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +9 -8
  721. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h +1 -1
  722. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +10 -13
  723. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h +4 -4
  724. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +10 -14
  725. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h +4 -4
  726. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +8 -57
  727. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h +70 -70
  728. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.c +63 -0
  729. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.h +45 -0
  730. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.c +47 -0
  731. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.h +35 -0
  732. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.c +35 -0
  733. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.h +30 -0
  734. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +64 -0
  735. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +50 -0
  736. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.c +40 -0
  737. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.h +35 -0
  738. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +18 -22
  739. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +4 -4
  740. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +32 -38
  741. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +7 -7
  742. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +20 -26
  743. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +7 -7
  744. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.c +41 -0
  745. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.h +35 -0
  746. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +23 -27
  747. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +4 -4
  748. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +39 -45
  749. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +7 -7
  750. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +25 -29
  751. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +4 -4
  752. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c +126 -0
  753. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.h +80 -0
  754. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.c +40 -0
  755. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.h +40 -0
  756. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.c +52 -0
  757. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.h +40 -0
  758. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +40 -0
  759. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +35 -0
  760. data/src/core/ext/xds/certificate_provider_registry.cc +3 -3
  761. data/src/core/ext/xds/certificate_provider_store.cc +8 -0
  762. data/src/core/ext/xds/certificate_provider_store.h +10 -1
  763. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +4 -4
  764. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +2 -2
  765. data/src/core/ext/xds/upb_utils.h +67 -0
  766. data/src/core/ext/xds/xds_api.cc +214 -3608
  767. data/src/core/ext/xds/xds_api.h +62 -580
  768. data/src/core/ext/xds/xds_bootstrap.cc +241 -167
  769. data/src/core/ext/xds/xds_bootstrap.h +43 -15
  770. data/src/core/ext/xds/xds_certificate_provider.cc +5 -3
  771. data/src/core/ext/xds/xds_certificate_provider.h +10 -2
  772. data/src/core/ext/xds/xds_channel_stack_modifier.cc +109 -0
  773. data/src/core/ext/xds/xds_channel_stack_modifier.h +53 -0
  774. data/src/core/ext/xds/xds_client.cc +872 -899
  775. data/src/core/ext/xds/xds_client.h +132 -159
  776. data/src/core/ext/xds/xds_client_stats.cc +31 -30
  777. data/src/core/ext/xds/xds_client_stats.h +12 -11
  778. data/src/core/ext/xds/xds_cluster.cc +453 -0
  779. data/src/core/ext/xds/xds_cluster.h +108 -0
  780. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +142 -0
  781. data/src/core/ext/xds/xds_cluster_specifier_plugin.h +79 -0
  782. data/src/core/ext/xds/xds_common_types.cc +388 -0
  783. data/src/core/ext/xds/xds_common_types.h +95 -0
  784. data/src/core/ext/xds/xds_endpoint.cc +371 -0
  785. data/src/core/ext/xds/xds_endpoint.h +135 -0
  786. data/src/core/ext/xds/xds_http_fault_filter.cc +11 -10
  787. data/src/core/ext/xds/xds_http_fault_filter.h +6 -5
  788. data/src/core/ext/xds/xds_http_filters.cc +12 -5
  789. data/src/core/ext/xds/xds_http_filters.h +4 -4
  790. data/src/core/ext/xds/xds_http_rbac_filter.cc +563 -0
  791. data/src/core/ext/xds/xds_http_rbac_filter.h +54 -0
  792. data/src/core/ext/xds/xds_listener.cc +1039 -0
  793. data/src/core/ext/xds/xds_listener.h +220 -0
  794. data/src/core/{lib/transport/authority_override.h → ext/xds/xds_resource_type.cc} +11 -15
  795. data/src/core/ext/xds/xds_resource_type.h +98 -0
  796. data/src/core/ext/xds/xds_resource_type_impl.h +87 -0
  797. data/src/core/ext/xds/xds_route_config.cc +1122 -0
  798. data/src/core/ext/xds/xds_route_config.h +218 -0
  799. data/src/core/ext/xds/xds_routing.cc +250 -0
  800. data/src/core/ext/xds/xds_routing.h +101 -0
  801. data/src/core/ext/xds/xds_server_config_fetcher.cc +1057 -289
  802. data/src/core/lib/address_utils/parse_address.cc +26 -8
  803. data/src/core/lib/address_utils/parse_address.h +5 -0
  804. data/src/core/lib/address_utils/sockaddr_utils.cc +33 -36
  805. data/src/core/lib/address_utils/sockaddr_utils.h +1 -16
  806. data/src/core/lib/avl/avl.h +452 -88
  807. data/src/core/lib/backoff/backoff.cc +9 -38
  808. data/src/core/lib/backoff/backoff.h +11 -11
  809. data/src/core/lib/channel/call_finalization.h +86 -0
  810. data/src/core/lib/channel/call_tracer.h +4 -1
  811. data/src/core/lib/channel/channel_args.cc +173 -16
  812. data/src/core/lib/channel/channel_args.h +214 -1
  813. data/src/core/lib/channel/channel_args_preconditioning.cc +42 -0
  814. data/src/core/lib/channel/channel_args_preconditioning.h +61 -0
  815. data/src/core/lib/channel/channel_stack.cc +15 -6
  816. data/src/core/lib/channel/channel_stack.h +39 -6
  817. data/src/core/lib/channel/channel_stack_builder.cc +24 -283
  818. data/src/core/lib/channel/channel_stack_builder.h +118 -157
  819. data/src/core/lib/channel/channel_stack_builder_impl.cc +102 -0
  820. data/src/core/lib/channel/channel_stack_builder_impl.h +48 -0
  821. data/src/core/lib/channel/channel_trace.cc +8 -10
  822. data/src/core/lib/channel/channel_trace.h +2 -1
  823. data/src/core/lib/channel/channelz.cc +44 -39
  824. data/src/core/lib/channel/channelz.h +29 -29
  825. data/src/core/lib/channel/channelz_registry.cc +8 -7
  826. data/src/core/lib/channel/channelz_registry.h +1 -1
  827. data/src/core/lib/channel/connected_channel.cc +10 -6
  828. data/src/core/lib/channel/connected_channel.h +2 -2
  829. data/src/core/lib/channel/context.h +11 -0
  830. data/src/core/lib/channel/handshaker.cc +3 -2
  831. data/src/core/lib/channel/handshaker.h +2 -3
  832. data/src/core/lib/channel/handshaker_factory.h +10 -2
  833. data/src/core/lib/channel/handshaker_registry.cc +15 -70
  834. data/src/core/lib/channel/handshaker_registry.h +29 -12
  835. data/src/core/lib/channel/promise_based_filter.cc +1002 -0
  836. data/src/core/lib/channel/promise_based_filter.h +437 -0
  837. data/src/core/lib/channel/status_util.h +2 -2
  838. data/src/core/lib/compression/compression.cc +22 -114
  839. data/src/core/lib/compression/compression_internal.cc +139 -207
  840. data/src/core/lib/compression/compression_internal.h +64 -69
  841. data/src/core/lib/compression/message_compress.cc +13 -13
  842. data/src/core/lib/compression/message_compress.h +2 -2
  843. data/src/core/lib/config/core_configuration.cc +104 -0
  844. data/src/core/lib/config/core_configuration.h +196 -0
  845. data/src/core/lib/debug/stats.cc +1 -1
  846. data/src/core/lib/debug/stats.h +1 -0
  847. data/src/core/lib/debug/stats_data.cc +17 -20
  848. data/src/core/lib/debug/stats_data.h +19 -21
  849. data/src/core/lib/debug/trace.cc +1 -0
  850. data/src/core/lib/debug/trace.h +4 -3
  851. data/src/core/lib/event_engine/{endpoint_config.cc → channel_args_endpoint_config.cc} +2 -2
  852. data/src/core/lib/event_engine/{endpoint_config_internal.h → channel_args_endpoint_config.h} +3 -3
  853. data/src/core/lib/{iomgr/event_engine/iomgr.h → event_engine/default_event_engine_factory.cc} +11 -8
  854. data/src/core/lib/event_engine/event_engine.cc +21 -19
  855. data/src/core/lib/event_engine/event_engine_factory.h +36 -0
  856. data/src/core/lib/event_engine/memory_allocator.cc +66 -0
  857. data/src/core/lib/event_engine/resolved_address.cc +39 -0
  858. data/src/core/lib/event_engine/sockaddr.cc +3 -3
  859. data/src/core/lib/gpr/alloc.cc +4 -3
  860. data/src/core/lib/gpr/atm.cc +1 -1
  861. data/src/core/lib/gpr/cpu_posix.cc +1 -1
  862. data/src/core/lib/gpr/env_linux.cc +1 -2
  863. data/src/core/lib/gpr/env_posix.cc +2 -3
  864. data/src/core/lib/gpr/log.cc +3 -3
  865. data/src/core/lib/gpr/log_android.cc +3 -2
  866. data/src/core/lib/gpr/log_linux.cc +7 -4
  867. data/src/core/lib/gpr/log_posix.cc +6 -3
  868. data/src/core/lib/gpr/string.cc +2 -2
  869. data/src/core/lib/gpr/string.h +2 -2
  870. data/src/core/lib/gpr/sync.cc +2 -2
  871. data/src/core/lib/gpr/sync_abseil.cc +7 -6
  872. data/src/core/lib/gpr/sync_posix.cc +4 -3
  873. data/src/core/lib/gpr/time.cc +5 -3
  874. data/src/core/lib/gpr/time_windows.cc +3 -2
  875. data/src/core/lib/gpr/tls.h +126 -40
  876. data/src/core/lib/gpr/tmpfile_posix.cc +1 -2
  877. data/src/core/lib/gpr/useful.h +97 -32
  878. data/src/core/lib/gprpp/atomic_utils.h +47 -0
  879. data/src/core/lib/gprpp/bitset.h +207 -0
  880. data/src/core/lib/gprpp/capture.h +76 -0
  881. data/src/core/lib/gprpp/chunked_vector.h +253 -0
  882. data/src/core/lib/{transport/authority_override.cc → gprpp/construct_destruct.h} +16 -17
  883. data/src/core/lib/gprpp/cpp_impl_of.h +49 -0
  884. data/src/core/lib/gprpp/debug_location.h +2 -0
  885. data/src/core/lib/gprpp/dual_ref_counted.h +25 -26
  886. data/src/core/lib/gprpp/fork.cc +14 -12
  887. data/src/core/lib/gprpp/fork.h +4 -4
  888. data/src/core/lib/gprpp/global_config.h +1 -2
  889. data/src/core/lib/gprpp/global_config_env.cc +14 -14
  890. data/src/core/lib/gprpp/global_config_env.h +2 -2
  891. data/src/core/lib/gprpp/global_config_generic.h +2 -2
  892. data/src/core/lib/gprpp/manual_constructor.h +10 -8
  893. data/src/core/lib/gprpp/match.h +73 -0
  894. data/src/core/lib/gprpp/memory.h +9 -3
  895. data/src/core/lib/gprpp/mpscq.cc +7 -7
  896. data/src/core/lib/gprpp/mpscq.h +6 -5
  897. data/src/core/lib/gprpp/orphanable.h +4 -4
  898. data/src/core/lib/gprpp/overload.h +59 -0
  899. data/src/core/lib/gprpp/ref_counted.h +21 -19
  900. data/src/core/lib/gprpp/ref_counted_ptr.h +2 -4
  901. data/src/core/lib/gprpp/single_set_ptr.h +87 -0
  902. data/src/core/lib/gprpp/status_helper.cc +65 -37
  903. data/src/core/lib/gprpp/status_helper.h +14 -16
  904. data/src/core/lib/gprpp/sync.h +3 -1
  905. data/src/core/lib/gprpp/table.h +434 -0
  906. data/src/core/lib/gprpp/thd_posix.cc +5 -5
  907. data/src/core/lib/gprpp/thd_windows.cc +4 -11
  908. data/src/core/lib/gprpp/time.cc +198 -0
  909. data/src/core/lib/gprpp/time.h +292 -0
  910. data/src/core/lib/gprpp/time_util.cc +2 -2
  911. data/src/core/lib/gprpp/time_util.h +2 -2
  912. data/src/core/lib/http/format_request.cc +29 -25
  913. data/src/core/lib/http/format_request.h +8 -6
  914. data/src/core/lib/http/httpcli.cc +298 -208
  915. data/src/core/lib/http/httpcli.h +183 -85
  916. data/src/core/lib/http/httpcli_security_connector.cc +67 -81
  917. data/src/core/lib/http/httpcli_ssl_credentials.h +37 -0
  918. data/src/core/lib/http/parser.cc +82 -11
  919. data/src/core/lib/http/parser.h +16 -2
  920. data/src/core/lib/iomgr/buffer_list.cc +11 -10
  921. data/src/core/lib/iomgr/buffer_list.h +19 -20
  922. data/src/core/lib/iomgr/call_combiner.cc +45 -16
  923. data/src/core/lib/iomgr/cfstream_handle.cc +1 -1
  924. data/src/core/lib/iomgr/closure.h +29 -9
  925. data/src/core/lib/iomgr/combiner.cc +34 -26
  926. data/src/core/lib/iomgr/combiner.h +1 -0
  927. data/src/core/lib/iomgr/dualstack_socket_posix.cc +1 -0
  928. data/src/core/lib/iomgr/endpoint.cc +0 -4
  929. data/src/core/lib/iomgr/endpoint.h +1 -4
  930. data/src/core/lib/iomgr/endpoint_cfstream.cc +15 -42
  931. data/src/core/lib/iomgr/endpoint_cfstream.h +4 -4
  932. data/src/core/lib/iomgr/endpoint_pair.h +1 -0
  933. data/src/core/lib/iomgr/endpoint_pair_event_engine.cc +1 -2
  934. data/src/core/lib/iomgr/endpoint_pair_posix.cc +11 -9
  935. data/src/core/lib/iomgr/endpoint_pair_windows.cc +5 -6
  936. data/src/core/lib/iomgr/error.cc +123 -59
  937. data/src/core/lib/iomgr/error.h +73 -20
  938. data/src/core/lib/iomgr/error_cfstream.cc +7 -2
  939. data/src/core/lib/iomgr/error_internal.h +1 -0
  940. data/src/core/lib/iomgr/ev_apple.cc +6 -5
  941. data/src/core/lib/iomgr/ev_epoll1_linux.cc +25 -31
  942. data/src/core/lib/iomgr/ev_poll_posix.cc +49 -52
  943. data/src/core/lib/iomgr/ev_posix.cc +10 -12
  944. data/src/core/lib/iomgr/ev_posix.h +1 -1
  945. data/src/core/lib/iomgr/event_engine/closure.cc +41 -18
  946. data/src/core/lib/iomgr/event_engine/closure.h +10 -1
  947. data/src/core/lib/iomgr/event_engine/endpoint.cc +7 -27
  948. data/src/core/lib/iomgr/event_engine/endpoint.h +1 -2
  949. data/src/core/lib/iomgr/event_engine/iomgr.cc +10 -30
  950. data/src/core/lib/iomgr/event_engine/pollset.cc +6 -6
  951. data/src/core/lib/iomgr/event_engine/resolved_address_internal.cc +6 -0
  952. data/src/core/lib/iomgr/event_engine/resolved_address_internal.h +2 -0
  953. data/src/core/lib/iomgr/event_engine/resolver.cc +70 -47
  954. data/src/core/lib/iomgr/event_engine/resolver.h +56 -0
  955. data/src/core/lib/iomgr/event_engine/tcp.cc +70 -37
  956. data/src/core/lib/iomgr/event_engine/timer.cc +13 -8
  957. data/src/core/lib/iomgr/exec_ctx.cc +28 -109
  958. data/src/core/lib/iomgr/exec_ctx.h +28 -52
  959. data/src/core/lib/iomgr/executor/mpmcqueue.cc +15 -16
  960. data/src/core/lib/iomgr/executor/mpmcqueue.h +7 -11
  961. data/src/core/lib/iomgr/executor/threadpool.cc +2 -2
  962. data/src/core/lib/iomgr/executor/threadpool.h +2 -1
  963. data/src/core/lib/iomgr/executor.cc +30 -39
  964. data/src/core/lib/iomgr/executor.h +1 -1
  965. data/src/core/lib/iomgr/fork_posix.cc +2 -1
  966. data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +2 -2
  967. data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +2 -2
  968. data/src/core/lib/iomgr/internal_errqueue.cc +3 -2
  969. data/src/core/lib/iomgr/iocp_windows.cc +10 -9
  970. data/src/core/lib/iomgr/iocp_windows.h +1 -1
  971. data/src/core/lib/iomgr/iomgr.cc +3 -1
  972. data/src/core/lib/iomgr/iomgr.h +2 -2
  973. data/src/core/lib/iomgr/iomgr_internal.cc +6 -10
  974. data/src/core/lib/iomgr/iomgr_internal.h +3 -2
  975. data/src/core/lib/iomgr/iomgr_posix.cc +2 -2
  976. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +2 -2
  977. data/src/core/lib/iomgr/iomgr_windows.cc +3 -4
  978. data/src/core/lib/iomgr/load_file.cc +2 -2
  979. data/src/core/lib/iomgr/lockfree_event.cc +18 -0
  980. data/src/core/lib/iomgr/polling_entity.cc +2 -2
  981. data/src/core/lib/iomgr/polling_entity.h +6 -0
  982. data/src/core/lib/iomgr/pollset.cc +1 -1
  983. data/src/core/lib/iomgr/pollset.h +4 -4
  984. data/src/core/lib/iomgr/pollset_set_windows.cc +1 -0
  985. data/src/core/lib/iomgr/pollset_windows.cc +2 -2
  986. data/src/core/lib/iomgr/port.h +6 -16
  987. data/src/core/lib/iomgr/python_util.h +1 -0
  988. data/src/core/lib/iomgr/resolve_address.cc +7 -25
  989. data/src/core/lib/iomgr/resolve_address.h +47 -48
  990. data/src/core/lib/iomgr/resolve_address_impl.h +59 -0
  991. data/src/core/lib/iomgr/resolve_address_posix.cc +90 -78
  992. data/src/core/lib/iomgr/resolve_address_posix.h +47 -0
  993. data/src/core/lib/iomgr/resolve_address_windows.cc +99 -82
  994. data/src/core/lib/iomgr/resolve_address_windows.h +47 -0
  995. data/src/core/lib/iomgr/resolved_address.h +39 -0
  996. data/src/core/lib/iomgr/sockaddr.h +1 -1
  997. data/src/core/lib/iomgr/{socket_utils_uv.cc → sockaddr_utils_posix.cc} +21 -8
  998. data/src/core/lib/iomgr/socket_factory_posix.cc +5 -5
  999. data/src/core/lib/iomgr/socket_factory_posix.h +1 -0
  1000. data/src/core/lib/iomgr/socket_mutator.cc +2 -2
  1001. data/src/core/lib/iomgr/socket_mutator.h +2 -2
  1002. data/src/core/lib/iomgr/socket_utils_common_posix.cc +4 -22
  1003. data/src/core/lib/iomgr/socket_utils_linux.cc +4 -4
  1004. data/src/core/lib/iomgr/socket_utils_posix.cc +2 -2
  1005. data/src/core/lib/iomgr/socket_utils_posix.h +2 -2
  1006. data/src/core/lib/iomgr/socket_utils_windows.cc +2 -2
  1007. data/src/core/lib/iomgr/tcp_client.cc +1 -1
  1008. data/src/core/lib/iomgr/tcp_client.h +5 -2
  1009. data/src/core/lib/iomgr/tcp_client_cfstream.cc +8 -24
  1010. data/src/core/lib/iomgr/tcp_client_posix.cc +17 -27
  1011. data/src/core/lib/iomgr/tcp_client_posix.h +4 -2
  1012. data/src/core/lib/iomgr/tcp_client_windows.cc +8 -10
  1013. data/src/core/lib/iomgr/tcp_posix.cc +143 -120
  1014. data/src/core/lib/iomgr/tcp_posix.h +9 -12
  1015. data/src/core/lib/iomgr/tcp_server.h +4 -3
  1016. data/src/core/lib/iomgr/tcp_server_posix.cc +40 -29
  1017. data/src/core/lib/iomgr/tcp_server_utils_posix.h +21 -17
  1018. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +2 -2
  1019. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +4 -4
  1020. data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +4 -4
  1021. data/src/core/lib/iomgr/tcp_server_windows.cc +6 -10
  1022. data/src/core/lib/iomgr/tcp_windows.cc +22 -39
  1023. data/src/core/lib/iomgr/tcp_windows.h +1 -1
  1024. data/src/core/lib/iomgr/timer.cc +3 -2
  1025. data/src/core/lib/iomgr/timer.h +11 -7
  1026. data/src/core/lib/iomgr/timer_generic.cc +113 -124
  1027. data/src/core/lib/iomgr/timer_generic.h +1 -0
  1028. data/src/core/lib/iomgr/timer_heap.cc +2 -3
  1029. data/src/core/lib/iomgr/timer_manager.cc +15 -14
  1030. data/src/core/lib/iomgr/unix_sockets_posix.cc +25 -39
  1031. data/src/core/lib/iomgr/unix_sockets_posix.h +6 -10
  1032. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +6 -15
  1033. data/src/core/lib/iomgr/wakeup_fd_nospecial.cc +1 -0
  1034. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +2 -3
  1035. data/src/core/lib/iomgr/wakeup_fd_posix.cc +1 -0
  1036. data/src/core/lib/iomgr/work_serializer.cc +120 -44
  1037. data/src/core/lib/iomgr/work_serializer.h +17 -5
  1038. data/src/core/lib/json/json_reader.cc +92 -52
  1039. data/src/core/lib/json/json_util.cc +71 -3
  1040. data/src/core/lib/json/json_util.h +67 -117
  1041. data/src/core/lib/json/json_writer.cc +0 -3
  1042. data/src/core/lib/matchers/matchers.cc +1 -1
  1043. data/src/core/lib/matchers/matchers.h +0 -1
  1044. data/src/core/lib/profiling/basic_timers.cc +8 -6
  1045. data/src/core/lib/profiling/stap_timers.cc +2 -2
  1046. data/src/core/lib/promise/activity.cc +121 -0
  1047. data/src/core/lib/promise/activity.h +540 -0
  1048. data/src/core/lib/promise/arena_promise.h +188 -0
  1049. data/src/core/lib/promise/call_push_pull.h +144 -0
  1050. data/src/core/lib/promise/context.h +86 -0
  1051. data/src/core/lib/promise/detail/basic_seq.h +496 -0
  1052. data/src/core/lib/promise/detail/promise_factory.h +189 -0
  1053. data/src/core/lib/promise/detail/promise_like.h +85 -0
  1054. data/src/core/lib/promise/detail/status.h +50 -0
  1055. data/src/core/lib/promise/detail/switch.h +1455 -0
  1056. data/src/core/lib/promise/exec_ctx_wakeup_scheduler.h +48 -0
  1057. data/src/core/lib/promise/intra_activity_waiter.h +49 -0
  1058. data/src/core/lib/promise/latch.h +104 -0
  1059. data/src/core/lib/promise/loop.h +134 -0
  1060. data/src/core/lib/promise/map.h +88 -0
  1061. data/src/core/lib/promise/poll.h +66 -0
  1062. data/src/core/lib/promise/promise.h +95 -0
  1063. data/src/core/lib/promise/race.h +84 -0
  1064. data/src/core/lib/promise/seq.h +89 -0
  1065. data/src/core/lib/promise/sleep.cc +74 -0
  1066. data/src/core/lib/promise/sleep.h +66 -0
  1067. data/src/core/lib/promise/try_seq.h +157 -0
  1068. data/src/core/{ext/filters/client_channel → lib/resolver}/resolver.cc +17 -25
  1069. data/src/core/{ext/filters/client_channel → lib/resolver}/resolver.h +43 -44
  1070. data/src/core/{ext/filters/client_channel → lib/resolver}/resolver_factory.h +32 -29
  1071. data/src/core/lib/resolver/resolver_registry.cc +156 -0
  1072. data/src/core/lib/resolver/resolver_registry.h +113 -0
  1073. data/src/core/{ext/filters/client_channel → lib/resolver}/server_address.cc +1 -1
  1074. data/src/core/{ext/filters/client_channel → lib/resolver}/server_address.h +5 -5
  1075. data/src/core/lib/resource_quota/api.cc +83 -0
  1076. data/src/core/lib/resource_quota/api.h +40 -0
  1077. data/src/core/lib/{gprpp → resource_quota}/arena.cc +18 -14
  1078. data/src/core/lib/{gprpp → resource_quota}/arena.h +37 -16
  1079. data/src/core/lib/resource_quota/memory_quota.cc +478 -0
  1080. data/src/core/lib/resource_quota/memory_quota.h +457 -0
  1081. data/src/core/lib/resource_quota/resource_quota.cc +33 -0
  1082. data/src/core/lib/resource_quota/resource_quota.h +66 -0
  1083. data/src/core/lib/resource_quota/thread_quota.cc +43 -0
  1084. data/src/core/lib/resource_quota/thread_quota.h +57 -0
  1085. data/src/core/lib/resource_quota/trace.cc +19 -0
  1086. data/src/core/{ext/filters/max_age/max_age_filter.h → lib/resource_quota/trace.h} +6 -8
  1087. data/src/core/lib/security/authorization/authorization_policy_provider.h +12 -4
  1088. data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +1 -1
  1089. data/src/core/lib/security/authorization/evaluate_args.cc +39 -36
  1090. data/src/core/lib/security/authorization/evaluate_args.h +3 -2
  1091. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +60 -0
  1092. data/src/core/lib/security/authorization/grpc_authorization_engine.h +62 -0
  1093. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +106 -0
  1094. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +50 -0
  1095. data/src/core/lib/security/authorization/matchers.cc +227 -0
  1096. data/src/core/lib/security/authorization/matchers.h +211 -0
  1097. data/src/core/lib/security/authorization/rbac_policy.cc +442 -0
  1098. data/src/core/lib/security/authorization/rbac_policy.h +171 -0
  1099. data/src/core/lib/security/context/security_context.cc +15 -10
  1100. data/src/core/lib/security/context/security_context.h +9 -2
  1101. data/src/core/lib/security/credentials/alts/alts_credentials.cc +6 -5
  1102. data/src/core/lib/security/credentials/alts/alts_credentials.h +10 -0
  1103. data/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc +2 -2
  1104. data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +2 -2
  1105. data/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +2 -2
  1106. data/src/core/lib/security/credentials/call_creds_util.cc +87 -0
  1107. data/src/core/lib/security/credentials/call_creds_util.h +42 -0
  1108. data/src/core/lib/security/credentials/channel_creds_registry.h +97 -0
  1109. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +70 -0
  1110. data/src/core/lib/security/credentials/composite/composite_credentials.cc +28 -86
  1111. data/src/core/lib/security/credentials/composite/composite_credentials.h +23 -10
  1112. data/src/core/lib/security/credentials/credentials.cc +11 -10
  1113. data/src/core/lib/security/credentials/credentials.h +81 -82
  1114. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +61 -59
  1115. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +2 -2
  1116. data/src/core/lib/security/credentials/external/aws_request_signer.cc +3 -3
  1117. data/src/core/lib/security/credentials/external/external_account_credentials.cc +112 -68
  1118. data/src/core/lib/security/credentials/external/external_account_credentials.h +6 -9
  1119. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +0 -1
  1120. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +35 -18
  1121. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +1 -0
  1122. data/src/core/lib/security/credentials/fake/fake_credentials.cc +23 -27
  1123. data/src/core/lib/security/credentials/fake/fake_credentials.h +22 -21
  1124. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +1 -2
  1125. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +77 -20
  1126. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +9 -3
  1127. data/src/core/lib/security/credentials/iam/iam_credentials.cc +23 -29
  1128. data/src/core/lib/security/credentials/iam/iam_credentials.h +15 -9
  1129. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +25 -26
  1130. data/src/core/lib/security/credentials/insecure/insecure_credentials.h +57 -0
  1131. data/src/core/lib/security/credentials/jwt/json_token.cc +5 -7
  1132. data/src/core/lib/security/credentials/jwt/json_token.h +2 -1
  1133. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +56 -51
  1134. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +27 -15
  1135. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +59 -54
  1136. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +4 -4
  1137. data/src/core/lib/security/credentials/local/local_credentials.cc +6 -6
  1138. data/src/core/lib/security/credentials/local/local_credentials.h +10 -0
  1139. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +160 -181
  1140. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +61 -33
  1141. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +98 -156
  1142. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +56 -27
  1143. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +11 -18
  1144. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +14 -4
  1145. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +3 -2
  1146. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +10 -6
  1147. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +13 -13
  1148. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +62 -12
  1149. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +209 -0
  1150. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +145 -0
  1151. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +33 -87
  1152. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +75 -151
  1153. data/src/core/lib/security/credentials/tls/tls_credentials.cc +30 -16
  1154. data/src/core/lib/security/credentials/tls/tls_credentials.h +6 -0
  1155. data/src/core/lib/security/credentials/xds/xds_credentials.cc +51 -58
  1156. data/src/core/lib/security/credentials/xds/xds_credentials.h +37 -6
  1157. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +11 -17
  1158. data/src/core/lib/security/security_connector/alts/alts_security_connector.h +3 -3
  1159. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +13 -24
  1160. data/src/core/lib/security/security_connector/fake/fake_security_connector.h +0 -2
  1161. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +8 -18
  1162. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +11 -16
  1163. data/src/core/lib/security/security_connector/load_system_roots_fallback.cc +1 -0
  1164. data/src/core/lib/security/security_connector/load_system_roots_linux.cc +4 -5
  1165. data/src/core/lib/security/security_connector/local/local_security_connector.cc +14 -19
  1166. data/src/core/lib/security/security_connector/security_connector.cc +8 -15
  1167. data/src/core/lib/security/security_connector/security_connector.h +26 -22
  1168. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +14 -20
  1169. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +1 -2
  1170. data/src/core/lib/security/security_connector/ssl_utils.cc +41 -36
  1171. data/src/core/lib/security/security_connector/ssl_utils.h +14 -18
  1172. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +366 -211
  1173. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +69 -48
  1174. data/src/core/lib/security/transport/auth_filters.h +39 -5
  1175. data/src/core/lib/security/transport/client_auth_filter.cc +98 -363
  1176. data/src/core/lib/security/transport/secure_endpoint.cc +202 -143
  1177. data/src/core/lib/security/transport/secure_endpoint.h +2 -1
  1178. data/src/core/lib/security/transport/security_handshaker.cc +95 -54
  1179. data/src/core/lib/security/transport/security_handshaker.h +2 -1
  1180. data/src/core/lib/security/transport/server_auth_filter.cc +41 -37
  1181. data/src/core/lib/security/transport/tsi_error.cc +3 -5
  1182. data/src/core/lib/security/util/json_util.cc +6 -8
  1183. data/src/core/lib/service_config/service_config.h +82 -0
  1184. data/src/core/lib/service_config/service_config_call_data.h +72 -0
  1185. data/src/core/{ext/filters/client_channel/service_config.cc → lib/service_config/service_config_impl.cc} +20 -17
  1186. data/src/core/{ext/filters/client_channel/service_config.h → lib/service_config/service_config_impl.h} +16 -18
  1187. data/src/core/{ext/filters/client_channel → lib/service_config}/service_config_parser.cc +31 -27
  1188. data/src/core/{ext/filters/client_channel → lib/service_config}/service_config_parser.h +39 -28
  1189. data/src/core/lib/slice/percent_encoding.cc +84 -97
  1190. data/src/core/lib/slice/percent_encoding.h +23 -28
  1191. data/src/core/lib/slice/slice.cc +80 -200
  1192. data/src/core/lib/slice/slice.h +384 -0
  1193. data/src/core/lib/{iomgr/is_epollexclusive_available.h → slice/slice_api.cc} +15 -12
  1194. data/src/core/lib/slice/slice_buffer.cc +10 -7
  1195. data/src/core/lib/slice/slice_internal.h +15 -277
  1196. data/src/core/lib/slice/slice_refcount.cc +35 -0
  1197. data/src/core/lib/slice/slice_refcount.h +46 -0
  1198. data/src/core/lib/slice/slice_refcount_base.h +61 -0
  1199. data/src/core/lib/slice/slice_split.cc +100 -0
  1200. data/src/core/lib/slice/slice_split.h +40 -0
  1201. data/src/core/lib/slice/slice_string_helpers.cc +0 -83
  1202. data/src/core/lib/slice/slice_string_helpers.h +0 -11
  1203. data/src/core/lib/surface/api_trace.cc +2 -1
  1204. data/src/core/lib/surface/api_trace.h +1 -0
  1205. data/src/core/lib/surface/builtins.cc +49 -0
  1206. data/src/core/lib/surface/builtins.h +26 -0
  1207. data/src/core/lib/surface/byte_buffer_reader.cc +1 -1
  1208. data/src/core/lib/surface/call.cc +1142 -1247
  1209. data/src/core/lib/surface/call.h +8 -28
  1210. data/src/core/lib/surface/call_details.cc +2 -2
  1211. data/src/core/lib/surface/call_log_batch.cc +2 -2
  1212. data/src/core/lib/surface/channel.cc +72 -103
  1213. data/src/core/lib/surface/channel.h +15 -23
  1214. data/src/core/lib/surface/channel_init.cc +22 -76
  1215. data/src/core/lib/surface/channel_init.h +44 -40
  1216. data/src/core/lib/surface/channel_ping.cc +1 -2
  1217. data/src/core/lib/surface/channel_stack_type.cc +2 -1
  1218. data/src/core/lib/surface/completion_queue.cc +70 -78
  1219. data/src/core/lib/surface/completion_queue_factory.cc +2 -1
  1220. data/src/core/lib/surface/completion_queue_factory.h +1 -0
  1221. data/src/core/lib/surface/event_string.cc +1 -0
  1222. data/src/core/lib/surface/init.cc +81 -57
  1223. data/src/core/lib/surface/init.h +0 -3
  1224. data/src/core/lib/surface/lame_client.cc +47 -32
  1225. data/src/core/lib/surface/lame_client.h +1 -1
  1226. data/src/core/lib/surface/metadata_array.cc +2 -2
  1227. data/src/core/lib/surface/server.cc +71 -118
  1228. data/src/core/lib/surface/server.h +40 -37
  1229. data/src/core/lib/surface/validate_metadata.cc +49 -18
  1230. data/src/core/lib/surface/version.cc +2 -2
  1231. data/src/core/lib/transport/bdp_estimator.cc +11 -12
  1232. data/src/core/lib/transport/bdp_estimator.h +2 -2
  1233. data/src/core/lib/transport/byte_stream.cc +6 -0
  1234. data/src/core/lib/transport/byte_stream.h +1 -0
  1235. data/src/core/lib/transport/connectivity_state.cc +8 -5
  1236. data/src/core/lib/transport/connectivity_state.h +2 -2
  1237. data/src/core/lib/transport/error_utils.cc +48 -20
  1238. data/src/core/lib/transport/error_utils.h +3 -2
  1239. data/src/core/lib/transport/metadata_batch.h +1352 -171
  1240. data/src/core/lib/transport/parsed_metadata.cc +37 -0
  1241. data/src/core/lib/transport/parsed_metadata.h +401 -0
  1242. data/src/core/lib/transport/pid_controller.cc +4 -4
  1243. data/src/core/lib/transport/status_conversion.cc +2 -2
  1244. data/src/core/lib/transport/status_conversion.h +1 -1
  1245. data/src/core/lib/transport/timeout_encoding.cc +204 -67
  1246. data/src/core/lib/transport/timeout_encoding.h +40 -10
  1247. data/src/core/lib/transport/transport.cc +11 -32
  1248. data/src/core/lib/transport/transport.h +103 -4
  1249. data/src/core/lib/transport/transport_impl.h +14 -0
  1250. data/src/core/lib/transport/transport_op_string.cc +7 -29
  1251. data/src/core/lib/uri/uri_parser.cc +237 -63
  1252. data/src/core/lib/uri/uri_parser.h +39 -23
  1253. data/src/core/plugin_registry/grpc_plugin_registry.cc +69 -102
  1254. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +85 -0
  1255. data/src/core/tsi/alts/crypt/aes_gcm.cc +6 -3
  1256. data/src/core/tsi/alts/crypt/gsec.h +2 -3
  1257. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +13 -12
  1258. data/src/core/tsi/alts/frame_protector/frame_handler.cc +10 -11
  1259. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +31 -27
  1260. data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +2 -3
  1261. data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +9 -1
  1262. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +33 -15
  1263. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +2 -2
  1264. data/src/core/tsi/alts/handshaker/alts_tsi_utils.h +1 -1
  1265. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +2 -2
  1266. data/src/core/tsi/alts/handshaker/transport_security_common_api.h +2 -2
  1267. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +2 -2
  1268. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +1 -1
  1269. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +2 -2
  1270. data/src/core/tsi/fake_transport_security.cc +15 -7
  1271. data/src/core/tsi/local_transport_security.cc +42 -87
  1272. data/src/core/tsi/local_transport_security.h +1 -4
  1273. data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +141 -0
  1274. data/src/core/tsi/ssl/key_logging/ssl_key_logging.h +81 -0
  1275. data/src/core/tsi/ssl/session_cache/ssl_session.h +2 -4
  1276. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +20 -53
  1277. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +6 -7
  1278. data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +2 -2
  1279. data/src/core/tsi/ssl_transport_security.cc +229 -62
  1280. data/src/core/tsi/ssl_transport_security.h +50 -9
  1281. data/src/core/tsi/transport_security.cc +15 -3
  1282. data/src/core/tsi/transport_security.h +16 -1
  1283. data/src/core/tsi/transport_security_grpc.h +1 -0
  1284. data/src/core/tsi/transport_security_interface.h +28 -0
  1285. data/src/ruby/ext/grpc/extconf.rb +21 -11
  1286. data/src/ruby/ext/grpc/rb_byte_buffer.c +2 -1
  1287. data/src/ruby/ext/grpc/rb_call.c +5 -5
  1288. data/src/ruby/ext/grpc/rb_call_credentials.c +5 -5
  1289. data/src/ruby/ext/grpc/rb_channel.c +15 -10
  1290. data/src/ruby/ext/grpc/rb_channel_args.c +2 -2
  1291. data/src/ruby/ext/grpc/rb_channel_credentials.c +4 -4
  1292. data/src/ruby/ext/grpc/rb_channel_credentials.h +1 -0
  1293. data/src/ruby/ext/grpc/rb_completion_queue.c +3 -2
  1294. data/src/ruby/ext/grpc/rb_compression_options.c +5 -4
  1295. data/src/ruby/ext/grpc/rb_event_thread.c +4 -4
  1296. data/src/ruby/ext/grpc/rb_grpc.c +5 -4
  1297. data/src/ruby/ext/grpc/rb_grpc.h +1 -0
  1298. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +30 -34
  1299. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +45 -51
  1300. data/src/ruby/ext/grpc/rb_server.c +13 -9
  1301. data/src/ruby/ext/grpc/rb_server_credentials.c +3 -3
  1302. data/src/ruby/ext/grpc/rb_server_credentials.h +1 -0
  1303. data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +8 -5
  1304. data/src/ruby/ext/grpc/rb_xds_channel_credentials.h +3 -1
  1305. data/src/ruby/ext/grpc/rb_xds_server_credentials.c +6 -5
  1306. data/src/ruby/ext/grpc/rb_xds_server_credentials.h +3 -1
  1307. data/src/ruby/lib/grpc/generic/active_call.rb +7 -1
  1308. data/src/ruby/lib/grpc/grpc.rb +1 -1
  1309. data/src/ruby/lib/grpc/version.rb +1 -1
  1310. data/src/ruby/pb/generate_proto_ruby.sh +1 -0
  1311. data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +1 -0
  1312. data/src/ruby/pb/test/client.rb +769 -0
  1313. data/src/ruby/pb/test/server.rb +252 -0
  1314. data/src/ruby/pb/test/xds_client.rb +415 -0
  1315. data/src/ruby/spec/client_server_spec.rb +1 -1
  1316. data/third_party/abseil-cpp/absl/algorithm/container.h +101 -91
  1317. data/third_party/abseil-cpp/absl/base/attributes.h +64 -31
  1318. data/third_party/abseil-cpp/absl/base/config.h +67 -37
  1319. data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +1 -26
  1320. data/third_party/abseil-cpp/absl/base/internal/fast_type_id.h +48 -0
  1321. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +3 -1
  1322. data/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h +2 -0
  1323. data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +69 -0
  1324. data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +4 -4
  1325. data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +15 -10
  1326. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +16 -0
  1327. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +4 -4
  1328. data/third_party/abseil-cpp/absl/base/options.h +1 -1
  1329. data/third_party/abseil-cpp/absl/container/fixed_array.h +0 -5
  1330. data/third_party/abseil-cpp/absl/container/inlined_vector.h +105 -97
  1331. data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +17 -15
  1332. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +18 -102
  1333. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +37 -78
  1334. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +388 -423
  1335. data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +3 -2
  1336. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +14 -8
  1337. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +251 -120
  1338. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +11 -1
  1339. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +12 -11
  1340. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +6 -2
  1341. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +12 -5
  1342. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +110 -0
  1343. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +234 -0
  1344. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +25 -7
  1345. data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +8 -2
  1346. data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +21 -3
  1347. data/third_party/abseil-cpp/absl/debugging/stacktrace.cc +2 -0
  1348. data/third_party/abseil-cpp/absl/debugging/symbolize.cc +2 -0
  1349. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +14 -0
  1350. data/third_party/abseil-cpp/absl/debugging/symbolize_emscripten.inc +72 -0
  1351. data/third_party/abseil-cpp/absl/functional/function_ref.h +4 -1
  1352. data/third_party/abseil-cpp/absl/hash/hash.h +22 -0
  1353. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +15 -16
  1354. data/third_party/abseil-cpp/absl/hash/internal/hash.h +88 -37
  1355. data/third_party/abseil-cpp/absl/hash/internal/{wyhash.cc → low_level_hash.cc} +23 -11
  1356. data/third_party/abseil-cpp/absl/hash/internal/{wyhash.h → low_level_hash.h} +14 -12
  1357. data/third_party/abseil-cpp/absl/memory/memory.h +1 -1
  1358. data/third_party/abseil-cpp/absl/meta/type_traits.h +32 -2
  1359. data/third_party/abseil-cpp/absl/numeric/int128.cc +3 -10
  1360. data/third_party/abseil-cpp/absl/numeric/int128.h +146 -73
  1361. data/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +19 -25
  1362. data/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +73 -70
  1363. data/third_party/abseil-cpp/absl/{base → profiling}/internal/exponential_biased.cc +4 -4
  1364. data/third_party/abseil-cpp/absl/{base → profiling}/internal/exponential_biased.h +6 -6
  1365. data/third_party/abseil-cpp/absl/profiling/internal/sample_recorder.h +230 -0
  1366. data/third_party/abseil-cpp/absl/random/bernoulli_distribution.h +200 -0
  1367. data/third_party/abseil-cpp/absl/random/beta_distribution.h +427 -0
  1368. data/third_party/abseil-cpp/absl/random/discrete_distribution.cc +98 -0
  1369. data/third_party/abseil-cpp/absl/random/discrete_distribution.h +247 -0
  1370. data/third_party/abseil-cpp/absl/random/distributions.h +452 -0
  1371. data/third_party/abseil-cpp/absl/random/exponential_distribution.h +165 -0
  1372. data/third_party/abseil-cpp/absl/random/gaussian_distribution.cc +104 -0
  1373. data/third_party/abseil-cpp/absl/random/gaussian_distribution.h +275 -0
  1374. data/third_party/abseil-cpp/absl/random/internal/distribution_caller.h +92 -0
  1375. data/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits.h +268 -0
  1376. data/third_party/abseil-cpp/absl/random/internal/fastmath.h +57 -0
  1377. data/third_party/abseil-cpp/absl/random/internal/generate_real.h +144 -0
  1378. data/third_party/abseil-cpp/absl/random/internal/iostream_state_saver.h +245 -0
  1379. data/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h +150 -0
  1380. data/third_party/abseil-cpp/absl/random/internal/pcg_engine.h +308 -0
  1381. data/third_party/abseil-cpp/absl/random/internal/platform.h +171 -0
  1382. data/third_party/abseil-cpp/absl/random/internal/pool_urbg.cc +253 -0
  1383. data/third_party/abseil-cpp/absl/random/internal/pool_urbg.h +131 -0
  1384. data/third_party/abseil-cpp/absl/random/internal/randen.cc +91 -0
  1385. data/third_party/abseil-cpp/absl/random/internal/randen.h +102 -0
  1386. data/third_party/abseil-cpp/absl/random/internal/randen_detect.cc +221 -0
  1387. data/third_party/abseil-cpp/absl/random/internal/randen_detect.h +33 -0
  1388. data/third_party/abseil-cpp/absl/random/internal/randen_engine.h +239 -0
  1389. data/third_party/abseil-cpp/absl/random/internal/randen_hwaes.cc +526 -0
  1390. data/third_party/abseil-cpp/absl/random/internal/randen_hwaes.h +50 -0
  1391. data/third_party/abseil-cpp/absl/random/internal/randen_round_keys.cc +462 -0
  1392. data/third_party/abseil-cpp/absl/random/internal/randen_slow.cc +471 -0
  1393. data/third_party/abseil-cpp/absl/random/internal/randen_slow.h +40 -0
  1394. data/third_party/abseil-cpp/absl/random/internal/randen_traits.h +88 -0
  1395. data/third_party/abseil-cpp/absl/random/internal/salted_seed_seq.h +167 -0
  1396. data/third_party/abseil-cpp/absl/random/internal/seed_material.cc +267 -0
  1397. data/third_party/abseil-cpp/absl/random/internal/seed_material.h +104 -0
  1398. data/third_party/abseil-cpp/absl/random/internal/traits.h +101 -0
  1399. data/third_party/abseil-cpp/absl/random/internal/uniform_helper.h +244 -0
  1400. data/third_party/abseil-cpp/absl/random/internal/wide_multiply.h +111 -0
  1401. data/third_party/abseil-cpp/absl/random/log_uniform_int_distribution.h +257 -0
  1402. data/third_party/abseil-cpp/absl/random/poisson_distribution.h +258 -0
  1403. data/third_party/abseil-cpp/absl/random/random.h +189 -0
  1404. data/third_party/abseil-cpp/absl/random/seed_gen_exception.cc +46 -0
  1405. data/third_party/abseil-cpp/absl/random/seed_gen_exception.h +55 -0
  1406. data/third_party/abseil-cpp/absl/random/seed_sequences.cc +29 -0
  1407. data/third_party/abseil-cpp/absl/random/seed_sequences.h +110 -0
  1408. data/third_party/abseil-cpp/absl/random/uniform_int_distribution.h +275 -0
  1409. data/third_party/abseil-cpp/absl/random/uniform_real_distribution.h +202 -0
  1410. data/third_party/abseil-cpp/absl/random/zipf_distribution.h +271 -0
  1411. data/third_party/abseil-cpp/absl/status/internal/status_internal.h +5 -5
  1412. data/third_party/abseil-cpp/absl/status/status.cc +9 -17
  1413. data/third_party/abseil-cpp/absl/status/status.h +19 -15
  1414. data/third_party/abseil-cpp/absl/status/statusor.cc +34 -2
  1415. data/third_party/abseil-cpp/absl/status/statusor.h +31 -21
  1416. data/third_party/abseil-cpp/absl/strings/charconv.cc +3 -3
  1417. data/third_party/abseil-cpp/absl/strings/charconv.h +3 -2
  1418. data/third_party/abseil-cpp/absl/strings/cord.cc +453 -359
  1419. data/third_party/abseil-cpp/absl/strings/cord.h +197 -70
  1420. data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +1 -1
  1421. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +6 -0
  1422. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +140 -63
  1423. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +1128 -0
  1424. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h +939 -0
  1425. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc +185 -0
  1426. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.h +265 -0
  1427. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc +68 -0
  1428. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.h +211 -0
  1429. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.cc +129 -0
  1430. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.h +50 -0
  1431. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +7 -7
  1432. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.cc +55 -181
  1433. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.h +42 -24
  1434. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring_reader.h +4 -0
  1435. data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.cc +96 -0
  1436. data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.h +85 -0
  1437. data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc +139 -0
  1438. data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.h +131 -0
  1439. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +445 -0
  1440. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.h +298 -0
  1441. data/third_party/abseil-cpp/absl/strings/internal/cordz_statistics.h +87 -0
  1442. data/third_party/abseil-cpp/absl/strings/internal/cordz_update_scope.h +71 -0
  1443. data/third_party/abseil-cpp/absl/strings/internal/cordz_update_tracker.h +121 -0
  1444. data/third_party/abseil-cpp/absl/strings/internal/resize_uninitialized.h +48 -2
  1445. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +8 -0
  1446. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +3 -4
  1447. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +1 -1
  1448. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +6 -6
  1449. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +36 -18
  1450. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +62 -73
  1451. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +24 -16
  1452. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +35 -35
  1453. data/third_party/abseil-cpp/absl/strings/numbers.cc +1 -1
  1454. data/third_party/abseil-cpp/absl/strings/numbers.h +34 -0
  1455. data/third_party/abseil-cpp/absl/strings/str_cat.cc +4 -4
  1456. data/third_party/abseil-cpp/absl/strings/str_format.h +1 -2
  1457. data/third_party/abseil-cpp/absl/strings/string_view.cc +16 -21
  1458. data/third_party/abseil-cpp/absl/strings/string_view.h +120 -39
  1459. data/third_party/abseil-cpp/absl/strings/substitute.cc +2 -1
  1460. data/third_party/abseil-cpp/absl/strings/substitute.h +99 -74
  1461. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc +25 -15
  1462. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.h +5 -3
  1463. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +1 -1
  1464. data/third_party/abseil-cpp/absl/synchronization/mutex.h +3 -3
  1465. data/third_party/abseil-cpp/absl/time/civil_time.cc +1 -3
  1466. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +93 -20
  1467. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +1 -1
  1468. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h +2 -1
  1469. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +83 -21
  1470. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +49 -0
  1471. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +1 -1
  1472. data/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +2 -3
  1473. data/third_party/abseil-cpp/absl/time/time.h +67 -36
  1474. data/third_party/abseil-cpp/absl/types/bad_optional_access.h +1 -1
  1475. data/third_party/abseil-cpp/absl/types/bad_variant_access.h +2 -2
  1476. data/third_party/abseil-cpp/absl/types/span.h +3 -3
  1477. data/third_party/address_sorting/address_sorting_posix.c +1 -0
  1478. data/third_party/boringssl-with-bazel/err_data.c +685 -673
  1479. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +67 -54
  1480. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +21 -22
  1481. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c +0 -2
  1482. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c +6 -1
  1483. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +16 -23
  1484. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +55 -37
  1485. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_print.c +19 -29
  1486. data/third_party/boringssl-with-bazel/src/crypto/{x509 → asn1}/a_strex.c +269 -272
  1487. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +106 -153
  1488. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +4 -4
  1489. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +1 -1
  1490. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +1 -40
  1491. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utf8.c +1 -1
  1492. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +59 -47
  1493. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.c +1 -1
  1494. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +24 -28
  1495. data/third_party/boringssl-with-bazel/src/crypto/{x509 → asn1}/charmap.h +0 -0
  1496. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c +5 -0
  1497. data/third_party/boringssl-with-bazel/src/crypto/asn1/{asn1_locl.h → internal.h} +86 -1
  1498. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +57 -281
  1499. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +291 -199
  1500. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +9 -9
  1501. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c +10 -14
  1502. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c +8 -6
  1503. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c +2 -1
  1504. data/third_party/boringssl-with-bazel/src/crypto/asn1/time_support.c +1 -1
  1505. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +24 -8
  1506. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +1 -7
  1507. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.c +1 -5
  1508. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +0 -4
  1509. data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +1 -7
  1510. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.c +1 -6
  1511. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.c +3 -17
  1512. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +4 -6
  1513. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c +3 -1
  1514. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.c +9 -0
  1515. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +8 -0
  1516. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +38 -47
  1517. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/cipher_extra.c +45 -65
  1518. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +14 -3
  1519. data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +6 -3
  1520. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +21 -0
  1521. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +2 -2
  1522. data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.c +32 -34
  1523. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +26 -9
  1524. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.c +3 -2
  1525. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +5 -2
  1526. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.c +5 -9
  1527. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +12 -0
  1528. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +10 -0
  1529. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/des/des.c +10 -11
  1530. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/des/internal.h +1 -3
  1531. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c +2 -0
  1532. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +1 -2
  1533. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +4 -7
  1534. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +4 -7
  1535. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.c +1 -1
  1536. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +5 -9
  1537. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +2 -2
  1538. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +4 -6
  1539. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +24 -9
  1540. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +4 -2
  1541. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +7 -7
  1542. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +35 -35
  1543. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +11 -10
  1544. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +10 -37
  1545. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +36 -2
  1546. data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c +219 -121
  1547. data/third_party/boringssl-with-bazel/src/crypto/hrss/internal.h +9 -2
  1548. data/third_party/boringssl-with-bazel/src/crypto/internal.h +62 -2
  1549. data/third_party/boringssl-with-bazel/src/crypto/lhash/internal.h +253 -0
  1550. data/third_party/boringssl-with-bazel/src/crypto/lhash/lhash.c +28 -23
  1551. data/third_party/boringssl-with-bazel/src/crypto/mem.c +32 -9
  1552. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +7 -3
  1553. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.c +0 -9
  1554. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.c +0 -2
  1555. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +0 -8
  1556. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c +0 -2
  1557. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c +0 -4
  1558. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/internal.h +16 -7
  1559. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.c +38 -4
  1560. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +151 -12
  1561. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +0 -1
  1562. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +1 -1
  1563. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +2 -2
  1564. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c +1 -1
  1565. data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +5 -1
  1566. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.c +59 -22
  1567. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c +4 -0
  1568. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/fuchsia.c +4 -0
  1569. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c +4 -0
  1570. data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c +6 -6
  1571. data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.c +15 -11
  1572. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +1 -1
  1573. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +2 -18
  1574. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +1 -0
  1575. data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.c +2 -0
  1576. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +233 -4
  1577. data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.c +246 -0
  1578. data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c +15 -4
  1579. data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c +10 -5
  1580. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +0 -179
  1581. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.c +4 -2
  1582. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +6 -23
  1583. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c +2 -2
  1584. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +1 -5
  1585. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c +1 -0
  1586. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +25 -22
  1587. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +11 -54
  1588. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +1 -1
  1589. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +1 -0
  1590. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +2 -4
  1591. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +1 -3
  1592. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c +0 -16
  1593. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +9 -11
  1594. data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.c +2 -0
  1595. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +23 -21
  1596. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +12 -11
  1597. data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +232 -11
  1598. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_cache.c +2 -1
  1599. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_data.c +2 -2
  1600. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_lib.c +1 -1
  1601. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_map.c +2 -1
  1602. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_node.c +1 -1
  1603. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_tree.c +5 -4
  1604. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akey.c +24 -5
  1605. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c +18 -8
  1606. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_bitst.c +3 -0
  1607. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c +1 -0
  1608. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +6 -7
  1609. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_crld.c +4 -2
  1610. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_enum.c +5 -0
  1611. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +23 -4
  1612. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ncons.c +112 -55
  1613. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pci.c +2 -1
  1614. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c +14 -13
  1615. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +1 -1
  1616. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +76 -31
  1617. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +1504 -561
  1618. data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +5 -12
  1619. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +10 -6
  1620. data/third_party/boringssl-with-bazel/src/include/openssl/base64.h +8 -0
  1621. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +3 -1
  1622. data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +3 -3
  1623. data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +9 -0
  1624. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +21 -3
  1625. data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +8 -5
  1626. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +4 -12
  1627. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +3 -0
  1628. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +27 -41
  1629. data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +12 -27
  1630. data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +8 -10
  1631. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +35 -55
  1632. data/third_party/boringssl-with-bazel/src/include/openssl/hkdf.h +4 -0
  1633. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +26 -1
  1634. data/third_party/boringssl-with-bazel/src/include/openssl/hrss.h +14 -12
  1635. data/third_party/boringssl-with-bazel/src/include/openssl/lhash.h +4 -205
  1636. data/third_party/boringssl-with-bazel/src/include/openssl/mem.h +12 -3
  1637. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +5 -4
  1638. data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +0 -20
  1639. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +24 -18
  1640. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +6 -1
  1641. data/third_party/boringssl-with-bazel/src/include/openssl/pool.h +7 -1
  1642. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +29 -28
  1643. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +37 -15
  1644. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +110 -26
  1645. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +31 -32
  1646. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +725 -189
  1647. data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +16 -695
  1648. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +52 -16
  1649. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +9 -16
  1650. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +310 -359
  1651. data/third_party/boringssl-with-bazel/src/ssl/{t1_lib.cc → extensions.cc} +110 -159
  1652. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +24 -13
  1653. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +145 -142
  1654. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +106 -99
  1655. data/third_party/boringssl-with-bazel/src/ssl/internal.h +90 -51
  1656. data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +1 -2
  1657. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +2 -2
  1658. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +11 -5
  1659. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +6 -51
  1660. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +121 -65
  1661. data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +6 -12
  1662. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +4 -0
  1663. data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +28 -23
  1664. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +14 -27
  1665. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +210 -212
  1666. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +30 -41
  1667. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +48 -34
  1668. data/third_party/cares/cares/{ares.h → include/ares.h} +73 -1
  1669. data/third_party/cares/cares/{ares_dns.h → include/ares_dns.h} +9 -0
  1670. data/third_party/cares/cares/{ares_rules.h → include/ares_rules.h} +0 -0
  1671. data/third_party/cares/cares/{ares_version.h → include/ares_version.h} +3 -3
  1672. data/third_party/cares/cares/{ares__close_sockets.c → src/lib/ares__close_sockets.c} +2 -2
  1673. data/third_party/cares/cares/{ares__get_hostent.c → src/lib/ares__get_hostent.c} +1 -2
  1674. data/third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c +260 -0
  1675. data/third_party/cares/cares/{ares__read_line.c → src/lib/ares__read_line.c} +0 -0
  1676. data/third_party/cares/cares/src/lib/ares__readaddrinfo.c +264 -0
  1677. data/third_party/cares/cares/src/lib/ares__sortaddrinfo.c +499 -0
  1678. data/third_party/cares/cares/{ares__timeval.c → src/lib/ares__timeval.c} +0 -0
  1679. data/third_party/cares/cares/src/lib/ares_android.c +444 -0
  1680. data/third_party/cares/cares/src/lib/ares_android.h +27 -0
  1681. data/third_party/cares/cares/{ares_cancel.c → src/lib/ares_cancel.c} +0 -0
  1682. data/third_party/cares/cares/{ares_create_query.c → src/lib/ares_create_query.c} +8 -17
  1683. data/third_party/cares/cares/{ares_data.c → src/lib/ares_data.c} +18 -0
  1684. data/third_party/cares/cares/{ares_data.h → src/lib/ares_data.h} +2 -0
  1685. data/third_party/cares/cares/{ares_destroy.c → src/lib/ares_destroy.c} +0 -0
  1686. data/third_party/cares/cares/{ares_expand_name.c → src/lib/ares_expand_name.c} +114 -23
  1687. data/third_party/cares/cares/{ares_expand_string.c → src/lib/ares_expand_string.c} +2 -5
  1688. data/third_party/cares/cares/{ares_fds.c → src/lib/ares_fds.c} +0 -0
  1689. data/third_party/cares/cares/{ares_free_hostent.c → src/lib/ares_free_hostent.c} +6 -4
  1690. data/third_party/cares/cares/{ares_free_string.c → src/lib/ares_free_string.c} +0 -0
  1691. data/third_party/cares/cares/src/lib/ares_freeaddrinfo.c +59 -0
  1692. data/third_party/cares/cares/src/lib/ares_getaddrinfo.c +772 -0
  1693. data/third_party/cares/cares/{ares_getenv.c → src/lib/ares_getenv.c} +0 -2
  1694. data/third_party/cares/cares/{ares_getenv.h → src/lib/ares_getenv.h} +0 -0
  1695. data/third_party/cares/cares/{ares_gethostbyaddr.c → src/lib/ares_gethostbyaddr.c} +2 -9
  1696. data/third_party/cares/cares/{ares_gethostbyname.c → src/lib/ares_gethostbyname.c} +25 -20
  1697. data/third_party/cares/cares/{ares_getnameinfo.c → src/lib/ares_getnameinfo.c} +4 -10
  1698. data/third_party/cares/cares/{ares_getsock.c → src/lib/ares_getsock.c} +0 -0
  1699. data/third_party/cares/cares/{ares_inet_net_pton.h → src/lib/ares_inet_net_pton.h} +0 -0
  1700. data/third_party/cares/cares/{ares_init.c → src/lib/ares_init.c} +79 -40
  1701. data/third_party/cares/cares/{ares_iphlpapi.h → src/lib/ares_iphlpapi.h} +0 -0
  1702. data/third_party/cares/cares/{ares_ipv6.h → src/lib/ares_ipv6.h} +7 -0
  1703. data/third_party/cares/cares/{ares_library_init.c → src/lib/ares_library_init.c} +7 -2
  1704. data/third_party/cares/cares/{ares_library_init.h → src/lib/ares_library_init.h} +1 -1
  1705. data/third_party/cares/cares/{ares_llist.c → src/lib/ares_llist.c} +0 -0
  1706. data/third_party/cares/cares/{ares_llist.h → src/lib/ares_llist.h} +0 -0
  1707. data/third_party/cares/cares/{ares_mkquery.c → src/lib/ares_mkquery.c} +0 -0
  1708. data/third_party/cares/cares/src/lib/ares_nameser.h +482 -0
  1709. data/third_party/cares/cares/{ares_nowarn.c → src/lib/ares_nowarn.c} +0 -0
  1710. data/third_party/cares/cares/{ares_nowarn.h → src/lib/ares_nowarn.h} +0 -0
  1711. data/third_party/cares/cares/{ares_options.c → src/lib/ares_options.c} +0 -0
  1712. data/third_party/cares/cares/src/lib/ares_parse_a_reply.c +209 -0
  1713. data/third_party/cares/cares/src/lib/ares_parse_aaaa_reply.c +212 -0
  1714. data/third_party/cares/cares/src/lib/ares_parse_caa_reply.c +199 -0
  1715. data/third_party/cares/cares/{ares_parse_mx_reply.c → src/lib/ares_parse_mx_reply.c} +2 -8
  1716. data/third_party/cares/cares/{ares_parse_naptr_reply.c → src/lib/ares_parse_naptr_reply.c} +2 -13
  1717. data/third_party/cares/cares/{ares_parse_ns_reply.c → src/lib/ares_parse_ns_reply.c} +5 -11
  1718. data/third_party/cares/cares/{ares_parse_ptr_reply.c → src/lib/ares_parse_ptr_reply.c} +53 -46
  1719. data/third_party/cares/cares/src/lib/ares_parse_soa_reply.c +179 -0
  1720. data/third_party/cares/cares/{ares_parse_srv_reply.c → src/lib/ares_parse_srv_reply.c} +2 -13
  1721. data/third_party/cares/cares/{ares_parse_txt_reply.c → src/lib/ares_parse_txt_reply.c} +3 -9
  1722. data/third_party/cares/cares/{ares_platform.c → src/lib/ares_platform.c} +0 -0
  1723. data/third_party/cares/cares/{ares_platform.h → src/lib/ares_platform.h} +0 -0
  1724. data/third_party/cares/cares/{ares_private.h → src/lib/ares_private.h} +52 -11
  1725. data/third_party/cares/cares/{ares_process.c → src/lib/ares_process.c} +127 -52
  1726. data/third_party/cares/cares/{ares_query.c → src/lib/ares_query.c} +3 -9
  1727. data/third_party/cares/cares/{ares_search.c → src/lib/ares_search.c} +5 -7
  1728. data/third_party/cares/cares/{ares_send.c → src/lib/ares_send.c} +2 -8
  1729. data/third_party/cares/cares/{ares_setup.h → src/lib/ares_setup.h} +4 -1
  1730. data/third_party/cares/cares/{ares_strcasecmp.c → src/lib/ares_strcasecmp.c} +0 -0
  1731. data/third_party/cares/cares/{ares_strcasecmp.h → src/lib/ares_strcasecmp.h} +0 -0
  1732. data/third_party/cares/cares/{ares_strdup.c → src/lib/ares_strdup.c} +0 -0
  1733. data/third_party/cares/cares/{ares_strdup.h → src/lib/ares_strdup.h} +0 -0
  1734. data/third_party/cares/cares/{ares_strerror.c → src/lib/ares_strerror.c} +0 -0
  1735. data/third_party/cares/cares/{ares_strsplit.c → src/lib/ares_strsplit.c} +4 -0
  1736. data/third_party/cares/cares/{ares_strsplit.h → src/lib/ares_strsplit.h} +0 -0
  1737. data/third_party/cares/cares/{ares_timeout.c → src/lib/ares_timeout.c} +0 -0
  1738. data/third_party/cares/cares/{ares_version.c → src/lib/ares_version.c} +0 -0
  1739. data/third_party/cares/cares/{ares_writev.c → src/lib/ares_writev.c} +0 -0
  1740. data/third_party/cares/cares/src/lib/ares_writev.h +36 -0
  1741. data/third_party/cares/cares/{bitncmp.c → src/lib/bitncmp.c} +0 -0
  1742. data/third_party/cares/cares/{bitncmp.h → src/lib/bitncmp.h} +0 -0
  1743. data/third_party/cares/cares/src/lib/config-dos.h +115 -0
  1744. data/third_party/cares/cares/{config-win32.h → src/lib/config-win32.h} +0 -0
  1745. data/third_party/cares/cares/{inet_net_pton.c → src/lib/inet_net_pton.c} +2 -8
  1746. data/third_party/cares/cares/{inet_ntop.c → src/lib/inet_ntop.c} +2 -8
  1747. data/third_party/cares/cares/{setup_once.h → src/lib/setup_once.h} +0 -0
  1748. data/third_party/cares/cares/{windows_port.c → src/lib/windows_port.c} +0 -0
  1749. data/third_party/re2/re2/compile.cc +91 -109
  1750. data/third_party/re2/re2/dfa.cc +27 -39
  1751. data/third_party/re2/re2/filtered_re2.cc +18 -2
  1752. data/third_party/re2/re2/filtered_re2.h +10 -5
  1753. data/third_party/re2/re2/nfa.cc +1 -1
  1754. data/third_party/re2/re2/parse.cc +42 -23
  1755. data/third_party/re2/re2/perl_groups.cc +34 -34
  1756. data/third_party/re2/re2/prefilter.cc +3 -2
  1757. data/third_party/re2/re2/prog.cc +182 -4
  1758. data/third_party/re2/re2/prog.h +28 -9
  1759. data/third_party/re2/re2/re2.cc +87 -118
  1760. data/third_party/re2/re2/re2.h +156 -141
  1761. data/third_party/re2/re2/regexp.cc +12 -5
  1762. data/third_party/re2/re2/regexp.h +8 -2
  1763. data/third_party/re2/re2/set.cc +31 -9
  1764. data/third_party/re2/re2/set.h +9 -4
  1765. data/third_party/re2/re2/simplify.cc +11 -3
  1766. data/third_party/re2/re2/tostring.cc +1 -1
  1767. data/third_party/re2/re2/walker-inl.h +1 -1
  1768. data/third_party/re2/util/mutex.h +2 -2
  1769. data/third_party/re2/util/pcre.h +3 -3
  1770. data/third_party/upb/third_party/utf8_range/naive.c +92 -0
  1771. data/third_party/upb/third_party/utf8_range/range2-neon.c +157 -0
  1772. data/third_party/upb/third_party/utf8_range/range2-sse.c +170 -0
  1773. data/third_party/upb/third_party/utf8_range/utf8_range.h +9 -0
  1774. data/third_party/upb/upb/decode.c +774 -351
  1775. data/third_party/upb/upb/decode.h +66 -12
  1776. data/third_party/upb/upb/decode_fast.c +596 -581
  1777. data/third_party/upb/upb/decode_fast.h +40 -13
  1778. data/third_party/upb/upb/decode_internal.h +211 -0
  1779. data/third_party/upb/upb/def.c +2151 -1068
  1780. data/third_party/upb/upb/def.h +352 -258
  1781. data/third_party/upb/upb/def.hpp +160 -161
  1782. data/third_party/upb/upb/encode.c +291 -165
  1783. data/third_party/upb/upb/encode.h +38 -13
  1784. data/third_party/upb/upb/json_encode.c +776 -0
  1785. data/third_party/upb/upb/json_encode.h +62 -0
  1786. data/third_party/upb/upb/msg.c +274 -102
  1787. data/third_party/upb/upb/msg.h +83 -582
  1788. data/third_party/upb/upb/msg_internal.h +831 -0
  1789. data/third_party/upb/upb/port_def.inc +93 -24
  1790. data/third_party/upb/upb/port_undef.inc +39 -1
  1791. data/third_party/upb/upb/reflection.c +312 -240
  1792. data/third_party/upb/upb/reflection.h +119 -67
  1793. data/third_party/upb/upb/reflection.hpp +37 -0
  1794. data/third_party/upb/upb/table.c +406 -197
  1795. data/third_party/upb/upb/table_internal.h +385 -0
  1796. data/third_party/upb/upb/text_encode.c +141 -90
  1797. data/third_party/upb/upb/text_encode.h +31 -5
  1798. data/third_party/upb/upb/upb.c +164 -66
  1799. data/third_party/upb/upb/upb.h +182 -146
  1800. data/third_party/upb/upb/upb.hpp +50 -23
  1801. data/third_party/upb/upb/upb_internal.h +68 -0
  1802. data/third_party/xxhash/xxhash.h +607 -352
  1803. data/third_party/zlib/crc32.c +966 -292
  1804. data/third_party/zlib/crc32.h +9441 -436
  1805. data/third_party/zlib/deflate.c +78 -30
  1806. data/third_party/zlib/deflate.h +12 -15
  1807. data/third_party/zlib/gzguts.h +3 -2
  1808. data/third_party/zlib/gzlib.c +5 -3
  1809. data/third_party/zlib/gzread.c +5 -7
  1810. data/third_party/zlib/gzwrite.c +25 -13
  1811. data/third_party/zlib/infback.c +2 -1
  1812. data/third_party/zlib/inffast.c +14 -14
  1813. data/third_party/zlib/inflate.c +39 -8
  1814. data/third_party/zlib/inflate.h +3 -2
  1815. data/third_party/zlib/inftrees.c +3 -3
  1816. data/third_party/zlib/trees.c +27 -48
  1817. data/third_party/zlib/zlib.h +123 -100
  1818. data/third_party/zlib/zutil.c +2 -2
  1819. data/third_party/zlib/zutil.h +12 -9
  1820. metadata +559 -260
  1821. data/include/grpc/event_engine/slice_allocator.h +0 -66
  1822. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +0 -44
  1823. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +0 -84
  1824. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc +0 -179
  1825. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc +0 -38
  1826. data/src/core/ext/filters/client_channel/resolver_registry.cc +0 -197
  1827. data/src/core/ext/filters/client_channel/resolver_registry.h +0 -89
  1828. data/src/core/ext/filters/client_channel/service_config_call_data.h +0 -126
  1829. data/src/core/ext/filters/client_idle/client_idle_filter.cc +0 -441
  1830. data/src/core/ext/filters/max_age/max_age_filter.cc +0 -562
  1831. data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +0 -211
  1832. data/src/core/ext/filters/workarounds/workaround_utils.cc +0 -53
  1833. data/src/core/ext/filters/workarounds/workaround_utils.h +0 -39
  1834. data/src/core/ext/transport/chttp2/client/authority.cc +0 -42
  1835. data/src/core/ext/transport/chttp2/client/authority.h +0 -36
  1836. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +0 -125
  1837. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +0 -91
  1838. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +0 -213
  1839. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +0 -54
  1840. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +0 -77
  1841. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +0 -129
  1842. data/src/core/ext/transport/chttp2/transport/chttp2_plugin.cc +0 -37
  1843. data/src/core/ext/transport/chttp2/transport/chttp2_slice_allocator.cc +0 -66
  1844. data/src/core/ext/transport/chttp2/transport/chttp2_slice_allocator.h +0 -74
  1845. data/src/core/ext/transport/chttp2/transport/hpack_table.cc +0 -243
  1846. data/src/core/ext/transport/chttp2/transport/hpack_table.h +0 -148
  1847. data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +0 -66
  1848. data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +0 -58
  1849. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c +0 -27
  1850. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +0 -56
  1851. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c +0 -27
  1852. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +0 -56
  1853. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c +0 -27
  1854. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +0 -56
  1855. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c +0 -27
  1856. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +0 -56
  1857. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c +0 -27
  1858. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +0 -56
  1859. data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c +0 -58
  1860. data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h +0 -124
  1861. data/src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.c +0 -33
  1862. data/src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.h +0 -77
  1863. data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.c +0 -72
  1864. data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.h +0 -35
  1865. data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.c +0 -73
  1866. data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.h +0 -35
  1867. data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.c +0 -72
  1868. data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.h +0 -35
  1869. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c +0 -80
  1870. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.h +0 -35
  1871. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c +0 -74
  1872. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.h +0 -35
  1873. data/src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.c +0 -44
  1874. data/src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.h +0 -35
  1875. data/src/core/lib/avl/avl.cc +0 -306
  1876. data/src/core/lib/compression/algorithm_metadata.h +0 -61
  1877. data/src/core/lib/compression/compression_args.cc +0 -135
  1878. data/src/core/lib/compression/compression_args.h +0 -56
  1879. data/src/core/lib/compression/stream_compression.cc +0 -80
  1880. data/src/core/lib/compression/stream_compression.h +0 -116
  1881. data/src/core/lib/compression/stream_compression_gzip.cc +0 -230
  1882. data/src/core/lib/compression/stream_compression_gzip.h +0 -28
  1883. data/src/core/lib/compression/stream_compression_identity.cc +0 -90
  1884. data/src/core/lib/compression/stream_compression_identity.h +0 -29
  1885. data/src/core/lib/gpr/tls_gcc.h +0 -52
  1886. data/src/core/lib/gpr/tls_msvc.h +0 -54
  1887. data/src/core/lib/gpr/tls_pthread.cc +0 -30
  1888. data/src/core/lib/gpr/tls_pthread.h +0 -56
  1889. data/src/core/lib/gpr/tls_stdcpp.h +0 -48
  1890. data/src/core/lib/gprpp/atomic.h +0 -104
  1891. data/src/core/lib/iomgr/endpoint_pair_uv.cc +0 -40
  1892. data/src/core/lib/iomgr/ev_epollex_linux.cc +0 -1661
  1893. data/src/core/lib/iomgr/ev_epollex_linux.h +0 -30
  1894. data/src/core/lib/iomgr/iomgr_custom.cc +0 -79
  1895. data/src/core/lib/iomgr/iomgr_custom.h +0 -49
  1896. data/src/core/lib/iomgr/iomgr_uv.cc +0 -43
  1897. data/src/core/lib/iomgr/is_epollexclusive_available.cc +0 -119
  1898. data/src/core/lib/iomgr/pollset_custom.cc +0 -106
  1899. data/src/core/lib/iomgr/pollset_custom.h +0 -37
  1900. data/src/core/lib/iomgr/pollset_set_custom.cc +0 -48
  1901. data/src/core/lib/iomgr/pollset_set_custom.h +0 -26
  1902. data/src/core/lib/iomgr/pollset_uv.cc +0 -95
  1903. data/src/core/lib/iomgr/pollset_uv.h +0 -36
  1904. data/src/core/lib/iomgr/resolve_address_custom.cc +0 -169
  1905. data/src/core/lib/iomgr/resolve_address_custom.h +0 -45
  1906. data/src/core/lib/iomgr/resource_quota.cc +0 -1019
  1907. data/src/core/lib/iomgr/resource_quota.h +0 -177
  1908. data/src/core/lib/iomgr/sockaddr_custom.h +0 -54
  1909. data/src/core/lib/iomgr/sys_epoll_wrapper.h +0 -30
  1910. data/src/core/lib/iomgr/tcp_client_custom.cc +0 -160
  1911. data/src/core/lib/iomgr/tcp_custom.cc +0 -389
  1912. data/src/core/lib/iomgr/tcp_custom.h +0 -85
  1913. data/src/core/lib/iomgr/tcp_server_custom.cc +0 -484
  1914. data/src/core/lib/iomgr/tcp_uv.cc +0 -421
  1915. data/src/core/lib/iomgr/timer_custom.cc +0 -96
  1916. data/src/core/lib/iomgr/timer_custom.h +0 -43
  1917. data/src/core/lib/iomgr/timer_uv.cc +0 -66
  1918. data/src/core/lib/iomgr/udp_server.cc +0 -748
  1919. data/src/core/lib/iomgr/udp_server.h +0 -103
  1920. data/src/core/lib/security/credentials/credentials_metadata.cc +0 -62
  1921. data/src/core/lib/slice/slice_intern.cc +0 -373
  1922. data/src/core/lib/slice/slice_utils.h +0 -200
  1923. data/src/core/lib/surface/init_secure.cc +0 -81
  1924. data/src/core/lib/transport/metadata.cc +0 -693
  1925. data/src/core/lib/transport/metadata.h +0 -446
  1926. data/src/core/lib/transport/metadata_batch.cc +0 -430
  1927. data/src/core/lib/transport/static_metadata.cc +0 -1249
  1928. data/src/core/lib/transport/static_metadata.h +0 -604
  1929. data/src/core/lib/transport/status_metadata.cc +0 -62
  1930. data/src/core/lib/transport/status_metadata.h +0 -48
  1931. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_enum.c +0 -93
  1932. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_int.h +0 -217
  1933. data/third_party/cares/cares/ares_getopt.c +0 -122
  1934. data/third_party/cares/cares/ares_getopt.h +0 -53
  1935. data/third_party/cares/cares/ares_parse_a_reply.c +0 -264
  1936. data/third_party/cares/cares/ares_parse_aaaa_reply.c +0 -264
  1937. data/third_party/cares/cares/ares_parse_soa_reply.c +0 -133
  1938. data/third_party/upb/third_party/wyhash/wyhash.h +0 -145
  1939. data/third_party/upb/upb/decode.int.h +0 -163
  1940. data/third_party/upb/upb/table.int.h +0 -475
  1941. data/third_party/upb/upb/upb.int.h +0 -29
@@ -131,14 +131,14 @@
131
131
  // ABSL_ATTRIBUTE_WEAK
132
132
  //
133
133
  // Tags a function as weak for the purposes of compilation and linking.
134
- // Weak attributes currently do not work properly in LLVM's Windows backend,
135
- // so disable them there. See https://bugs.llvm.org/show_bug.cgi?id=37598
134
+ // Weak attributes did not work properly in LLVM's Windows backend before
135
+ // 9.0.0, so disable them there. See https://bugs.llvm.org/show_bug.cgi?id=37598
136
136
  // for further information.
137
137
  // The MinGW compiler doesn't complain about the weak attribute until the link
138
138
  // step, presumably because Windows doesn't use ELF binaries.
139
139
  #if (ABSL_HAVE_ATTRIBUTE(weak) || \
140
140
  (defined(__GNUC__) && !defined(__clang__))) && \
141
- !(defined(__llvm__) && defined(_WIN32)) && !defined(__MINGW32__)
141
+ (!defined(_WIN32) || __clang_major__ < 9) && !defined(__MINGW32__)
142
142
  #undef ABSL_ATTRIBUTE_WEAK
143
143
  #define ABSL_ATTRIBUTE_WEAK __attribute__((weak))
144
144
  #define ABSL_HAVE_ATTRIBUTE_WEAK 1
@@ -281,10 +281,7 @@
281
281
  // ABSL_ATTRIBUTE_RETURNS_NONNULL
282
282
  //
283
283
  // Tells the compiler that a particular function never returns a null pointer.
284
- #if ABSL_HAVE_ATTRIBUTE(returns_nonnull) || \
285
- (defined(__GNUC__) && \
286
- (__GNUC__ > 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 9)) && \
287
- !defined(__clang__))
284
+ #if ABSL_HAVE_ATTRIBUTE(returns_nonnull)
288
285
  #define ABSL_ATTRIBUTE_RETURNS_NONNULL __attribute__((returns_nonnull))
289
286
  #else
290
287
  #define ABSL_ATTRIBUTE_RETURNS_NONNULL
@@ -321,8 +318,16 @@
321
318
  // `__start_ ## name` and `__stop_ ## name` symbols to bracket the section.
322
319
  // This functionality is supported by GNU linker.
323
320
  #ifndef ABSL_ATTRIBUTE_SECTION_VARIABLE
321
+ #ifdef _AIX
322
+ // __attribute__((section(#name))) on AIX is achived by using the `.csect` psudo
323
+ // op which includes an additional integer as part of its syntax indcating
324
+ // alignment. If data fall under different alignments then you might get a
325
+ // compilation error indicating a `Section type conflict`.
326
+ #define ABSL_ATTRIBUTE_SECTION_VARIABLE(name)
327
+ #else
324
328
  #define ABSL_ATTRIBUTE_SECTION_VARIABLE(name) __attribute__((section(#name)))
325
329
  #endif
330
+ #endif
326
331
 
327
332
  // ABSL_DECLARE_ATTRIBUTE_SECTION_VARS
328
333
  //
@@ -524,6 +529,13 @@
524
529
  // ABSL_ATTRIBUTE_UNUSED
525
530
  //
526
531
  // Prevents the compiler from complaining about variables that appear unused.
532
+ //
533
+ // For code or headers that are assured to only build with C++17 and up, prefer
534
+ // just using the standard '[[maybe_unused]]' directly over this macro.
535
+ //
536
+ // Due to differences in positioning requirements between the old, compiler
537
+ // specific __attribute__ syntax and the now standard [[maybe_unused]], this
538
+ // macro does not attempt to take advantage of '[[maybe_unused]]'.
527
539
  #if ABSL_HAVE_ATTRIBUTE(unused) || (defined(__GNUC__) && !defined(__clang__))
528
540
  #undef ABSL_ATTRIBUTE_UNUSED
529
541
  #define ABSL_ATTRIBUTE_UNUSED __attribute__((__unused__))
@@ -544,13 +556,19 @@
544
556
  // ABSL_ATTRIBUTE_PACKED
545
557
  //
546
558
  // Instructs the compiler not to use natural alignment for a tagged data
547
- // structure, but instead to reduce its alignment to 1. This attribute can
548
- // either be applied to members of a structure or to a structure in its
549
- // entirety. Applying this attribute (judiciously) to a structure in its
550
- // entirety to optimize the memory footprint of very commonly-used structs is
551
- // fine. Do not apply this attribute to a structure in its entirety if the
552
- // purpose is to control the offsets of the members in the structure. Instead,
553
- // apply this attribute only to structure members that need it.
559
+ // structure, but instead to reduce its alignment to 1.
560
+ //
561
+ // Therefore, DO NOT APPLY THIS ATTRIBUTE TO STRUCTS CONTAINING ATOMICS. Doing
562
+ // so can cause atomic variables to be mis-aligned and silently violate
563
+ // atomicity on x86.
564
+ //
565
+ // This attribute can either be applied to members of a structure or to a
566
+ // structure in its entirety. Applying this attribute (judiciously) to a
567
+ // structure in its entirety to optimize the memory footprint of very
568
+ // commonly-used structs is fine. Do not apply this attribute to a structure in
569
+ // its entirety if the purpose is to control the offsets of the members in the
570
+ // structure. Instead, apply this attribute only to structure members that need
571
+ // it.
554
572
  //
555
573
  // When applying ABSL_ATTRIBUTE_PACKED only to specific structure members the
556
574
  // natural alignment of structure members not annotated is preserved. Aligned
@@ -595,31 +613,24 @@
595
613
  // case 42:
596
614
  // ...
597
615
  //
598
- // Notes: when compiled with clang in C++11 mode, the ABSL_FALLTHROUGH_INTENDED
599
- // macro is expanded to the [[clang::fallthrough]] attribute, which is analysed
600
- // when performing switch labels fall-through diagnostic
601
- // (`-Wimplicit-fallthrough`). See clang documentation on language extensions
602
- // for details:
616
+ // Notes: When supported, GCC and Clang can issue a warning on switch labels
617
+ // with unannotated fallthrough using the warning `-Wimplicit-fallthrough`. See
618
+ // clang documentation on language extensions for details:
603
619
  // https://clang.llvm.org/docs/AttributeReference.html#fallthrough-clang-fallthrough
604
620
  //
605
- // When used with unsupported compilers, the ABSL_FALLTHROUGH_INTENDED macro
606
- // has no effect on diagnostics. In any case this macro has no effect on runtime
621
+ // When used with unsupported compilers, the ABSL_FALLTHROUGH_INTENDED macro has
622
+ // no effect on diagnostics. In any case this macro has no effect on runtime
607
623
  // behavior and performance of code.
608
624
 
609
625
  #ifdef ABSL_FALLTHROUGH_INTENDED
610
626
  #error "ABSL_FALLTHROUGH_INTENDED should not be defined."
611
- #endif
612
-
613
- // TODO(zhangxy): Use c++17 standard [[fallthrough]] macro, when supported.
614
- #if defined(__clang__) && defined(__has_warning)
615
- #if __has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough")
627
+ #elif ABSL_HAVE_CPP_ATTRIBUTE(fallthrough)
628
+ #define ABSL_FALLTHROUGH_INTENDED [[fallthrough]]
629
+ #elif ABSL_HAVE_CPP_ATTRIBUTE(clang::fallthrough)
616
630
  #define ABSL_FALLTHROUGH_INTENDED [[clang::fallthrough]]
617
- #endif
618
- #elif defined(__GNUC__) && __GNUC__ >= 7
631
+ #elif ABSL_HAVE_CPP_ATTRIBUTE(gnu::fallthrough)
619
632
  #define ABSL_FALLTHROUGH_INTENDED [[gnu::fallthrough]]
620
- #endif
621
-
622
- #ifndef ABSL_FALLTHROUGH_INTENDED
633
+ #else
623
634
  #define ABSL_FALLTHROUGH_INTENDED \
624
635
  do { \
625
636
  } while (0)
@@ -699,4 +710,26 @@
699
710
  #define ABSL_ATTRIBUTE_PURE_FUNCTION
700
711
  #endif
701
712
 
713
+ // ABSL_ATTRIBUTE_LIFETIME_BOUND indicates that a resource owned by a function
714
+ // parameter or implicit object parameter is retained by the return value of the
715
+ // annotated function (or, for a parameter of a constructor, in the value of the
716
+ // constructed object). This attribute causes warnings to be produced if a
717
+ // temporary object does not live long enough.
718
+ //
719
+ // When applied to a reference parameter, the referenced object is assumed to be
720
+ // retained by the return value of the function. When applied to a non-reference
721
+ // parameter (for example, a pointer or a class type), all temporaries
722
+ // referenced by the parameter are assumed to be retained by the return value of
723
+ // the function.
724
+ //
725
+ // See also the upstream documentation:
726
+ // https://clang.llvm.org/docs/AttributeReference.html#lifetimebound
727
+ #if ABSL_HAVE_CPP_ATTRIBUTE(clang::lifetimebound)
728
+ #define ABSL_ATTRIBUTE_LIFETIME_BOUND [[clang::lifetimebound]]
729
+ #elif ABSL_HAVE_ATTRIBUTE(lifetimebound)
730
+ #define ABSL_ATTRIBUTE_LIFETIME_BOUND __attribute__((lifetimebound))
731
+ #else
732
+ #define ABSL_ATTRIBUTE_LIFETIME_BOUND
733
+ #endif
734
+
702
735
  #endif // ABSL_BASE_ATTRIBUTES_H_
@@ -66,6 +66,35 @@
66
66
  #include "absl/base/options.h"
67
67
  #include "absl/base/policy_checks.h"
68
68
 
69
+ // Abseil long-term support (LTS) releases will define
70
+ // `ABSL_LTS_RELEASE_VERSION` to the integer representing the date string of the
71
+ // LTS release version, and will define `ABSL_LTS_RELEASE_PATCH_LEVEL` to the
72
+ // integer representing the patch-level for that release.
73
+ //
74
+ // For example, for LTS release version "20300401.2", this would give us
75
+ // ABSL_LTS_RELEASE_VERSION == 20300401 && ABSL_LTS_RELEASE_PATCH_LEVEL == 2
76
+ //
77
+ // These symbols will not be defined in non-LTS code.
78
+ //
79
+ // Abseil recommends that clients live-at-head. Therefore, if you are using
80
+ // these symbols to assert a minimum version requirement, we recommend you do it
81
+ // as
82
+ //
83
+ // #if defined(ABSL_LTS_RELEASE_VERSION) && ABSL_LTS_RELEASE_VERSION < 20300401
84
+ // #error Project foo requires Abseil LTS version >= 20300401
85
+ // #endif
86
+ //
87
+ // The `defined(ABSL_LTS_RELEASE_VERSION)` part of the check excludes
88
+ // live-at-head clients from the minimum version assertion.
89
+ //
90
+ // See https://abseil.io/about/releases for more information on Abseil release
91
+ // management.
92
+ //
93
+ // LTS releases can be obtained from
94
+ // https://github.com/abseil/abseil-cpp/releases.
95
+ #define ABSL_LTS_RELEASE_VERSION 20211102
96
+ #define ABSL_LTS_RELEASE_PATCH_LEVEL 0
97
+
69
98
  // Helper macro to convert a CPP variable to a string literal.
70
99
  #define ABSL_INTERNAL_DO_TOKEN_STR(x) #x
71
100
  #define ABSL_INTERNAL_TOKEN_STR(x) ABSL_INTERNAL_DO_TOKEN_STR(x)
@@ -166,6 +195,22 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
166
195
  #define ABSL_HAVE_FEATURE(f) 0
167
196
  #endif
168
197
 
198
+ // Portable check for GCC minimum version:
199
+ // https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html
200
+ #if defined(__GNUC__) && defined(__GNUC_MINOR__)
201
+ #define ABSL_INTERNAL_HAVE_MIN_GNUC_VERSION(x, y) \
202
+ (__GNUC__ > (x) || __GNUC__ == (x) && __GNUC_MINOR__ >= (y))
203
+ #else
204
+ #define ABSL_INTERNAL_HAVE_MIN_GNUC_VERSION(x, y) 0
205
+ #endif
206
+
207
+ #if defined(__clang__) && defined(__clang_major__) && defined(__clang_minor__)
208
+ #define ABSL_INTERNAL_HAVE_MIN_CLANG_VERSION(x, y) \
209
+ (__clang_major__ > (x) || __clang_major__ == (x) && __clang_minor__ >= (y))
210
+ #else
211
+ #define ABSL_INTERNAL_HAVE_MIN_CLANG_VERSION(x, y) 0
212
+ #endif
213
+
169
214
  // ABSL_HAVE_TLS is defined to 1 when __thread should be supported.
170
215
  // We assume __thread is supported on Linux when compiled with Clang or compiled
171
216
  // against libstdc++ with _GLIBCXX_HAVE_TLS defined.
@@ -183,10 +228,9 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
183
228
  // gcc >= 4.8.1 using libstdc++, and Visual Studio.
184
229
  #ifdef ABSL_HAVE_STD_IS_TRIVIALLY_DESTRUCTIBLE
185
230
  #error ABSL_HAVE_STD_IS_TRIVIALLY_DESTRUCTIBLE cannot be directly set
186
- #elif defined(_LIBCPP_VERSION) || \
187
- (!defined(__clang__) && defined(__GNUC__) && defined(__GLIBCXX__) && \
188
- (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8))) || \
189
- defined(_MSC_VER)
231
+ #elif defined(_LIBCPP_VERSION) || defined(_MSC_VER) || \
232
+ (!defined(__clang__) && defined(__GLIBCXX__) && \
233
+ ABSL_INTERNAL_HAVE_MIN_GNUC_VERSION(4, 8))
190
234
  #define ABSL_HAVE_STD_IS_TRIVIALLY_DESTRUCTIBLE 1
191
235
  #endif
192
236
 
@@ -199,16 +243,17 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
199
243
  //
200
244
  // Checks whether `std::is_trivially_copy_assignable<T>` is supported.
201
245
 
202
- // Notes: Clang with libc++ supports these features, as does gcc >= 5.1 with
203
- // either libc++ or libstdc++, and Visual Studio (but not NVCC).
246
+ // Notes: Clang with libc++ supports these features, as does gcc >= 7.4 with
247
+ // libstdc++, or gcc >= 8.2 with libc++, and Visual Studio (but not NVCC).
204
248
  #if defined(ABSL_HAVE_STD_IS_TRIVIALLY_CONSTRUCTIBLE)
205
249
  #error ABSL_HAVE_STD_IS_TRIVIALLY_CONSTRUCTIBLE cannot be directly set
206
250
  #elif defined(ABSL_HAVE_STD_IS_TRIVIALLY_ASSIGNABLE)
207
251
  #error ABSL_HAVE_STD_IS_TRIVIALLY_ASSIGNABLE cannot directly set
208
- #elif (defined(__clang__) && defined(_LIBCPP_VERSION)) || \
209
- (!defined(__clang__) && defined(__GNUC__) && \
210
- (__GNUC__ > 7 || (__GNUC__ == 7 && __GNUC_MINOR__ >= 4)) && \
211
- (defined(_LIBCPP_VERSION) || defined(__GLIBCXX__))) || \
252
+ #elif (defined(__clang__) && defined(_LIBCPP_VERSION)) || \
253
+ (!defined(__clang__) && \
254
+ ((ABSL_INTERNAL_HAVE_MIN_GNUC_VERSION(7, 4) && defined(__GLIBCXX__)) || \
255
+ (ABSL_INTERNAL_HAVE_MIN_GNUC_VERSION(8, 2) && \
256
+ defined(_LIBCPP_VERSION)))) || \
212
257
  (defined(_MSC_VER) && !defined(__NVCC__))
213
258
  #define ABSL_HAVE_STD_IS_TRIVIALLY_CONSTRUCTIBLE 1
214
259
  #define ABSL_HAVE_STD_IS_TRIVIALLY_ASSIGNABLE 1
@@ -222,7 +267,7 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
222
267
  #if ABSL_INTERNAL_HAS_KEYWORD(__builtin_LINE) && \
223
268
  ABSL_INTERNAL_HAS_KEYWORD(__builtin_FILE)
224
269
  #define ABSL_HAVE_SOURCE_LOCATION_CURRENT 1
225
- #elif defined(__GNUC__) && __GNUC__ >= 5
270
+ #elif ABSL_INTERNAL_HAVE_MIN_GNUC_VERSION(5, 0)
226
271
  #define ABSL_HAVE_SOURCE_LOCATION_CURRENT 1
227
272
  #endif
228
273
  #endif
@@ -319,25 +364,21 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
319
364
  // For further details, consult the compiler's documentation.
320
365
  #ifdef ABSL_HAVE_EXCEPTIONS
321
366
  #error ABSL_HAVE_EXCEPTIONS cannot be directly set.
322
-
323
- #elif defined(__clang__)
324
-
325
- #if __clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 6)
367
+ #elif ABSL_INTERNAL_HAVE_MIN_CLANG_VERSION(3, 6)
326
368
  // Clang >= 3.6
327
369
  #if ABSL_HAVE_FEATURE(cxx_exceptions)
328
370
  #define ABSL_HAVE_EXCEPTIONS 1
329
371
  #endif // ABSL_HAVE_FEATURE(cxx_exceptions)
330
- #else
372
+ #elif defined(__clang__)
331
373
  // Clang < 3.6
332
374
  // http://releases.llvm.org/3.6.0/tools/clang/docs/ReleaseNotes.html#the-exceptions-macro
333
375
  #if defined(__EXCEPTIONS) && ABSL_HAVE_FEATURE(cxx_exceptions)
334
376
  #define ABSL_HAVE_EXCEPTIONS 1
335
377
  #endif // defined(__EXCEPTIONS) && ABSL_HAVE_FEATURE(cxx_exceptions)
336
- #endif // __clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 6)
337
-
338
378
  // Handle remaining special cases and default to exceptions being supported.
339
- #elif !(defined(__GNUC__) && (__GNUC__ < 5) && !defined(__EXCEPTIONS)) && \
340
- !(defined(__GNUC__) && (__GNUC__ >= 5) && !defined(__cpp_exceptions)) && \
379
+ #elif !(defined(__GNUC__) && (__GNUC__ < 5) && !defined(__EXCEPTIONS)) && \
380
+ !(ABSL_INTERNAL_HAVE_MIN_GNUC_VERSION(5, 0) && \
381
+ !defined(__cpp_exceptions)) && \
341
382
  !(defined(_MSC_VER) && !defined(_CPPUNWIND))
342
383
  #define ABSL_HAVE_EXCEPTIONS 1
343
384
  #endif
@@ -369,10 +410,11 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
369
410
  // POSIX.1-2001.
370
411
  #ifdef ABSL_HAVE_MMAP
371
412
  #error ABSL_HAVE_MMAP cannot be directly set
372
- #elif defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) || \
373
- defined(__ros__) || defined(__native_client__) || defined(__asmjs__) || \
374
- defined(__wasm__) || defined(__Fuchsia__) || defined(__sun) || \
375
- defined(__ASYLO__) || defined(__myriad2__)
413
+ #elif defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) || \
414
+ defined(_AIX) || defined(__ros__) || defined(__native_client__) || \
415
+ defined(__asmjs__) || defined(__wasm__) || defined(__Fuchsia__) || \
416
+ defined(__sun) || defined(__ASYLO__) || defined(__myriad2__) || \
417
+ defined(__HAIKU__)
376
418
  #define ABSL_HAVE_MMAP 1
377
419
  #endif
378
420
 
@@ -383,7 +425,7 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
383
425
  #ifdef ABSL_HAVE_PTHREAD_GETSCHEDPARAM
384
426
  #error ABSL_HAVE_PTHREAD_GETSCHEDPARAM cannot be directly set
385
427
  #elif defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) || \
386
- defined(__ros__)
428
+ defined(_AIX) || defined(__ros__)
387
429
  #define ABSL_HAVE_PTHREAD_GETSCHEDPARAM 1
388
430
  #endif
389
431
 
@@ -690,10 +732,6 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
690
732
  // a compiler instrumentation module and a run-time library.
691
733
  #ifdef ABSL_HAVE_MEMORY_SANITIZER
692
734
  #error "ABSL_HAVE_MEMORY_SANITIZER cannot be directly set."
693
- #elif defined(MEMORY_SANITIZER)
694
- // The MEMORY_SANITIZER macro is deprecated but we will continue to honor it
695
- // for now.
696
- #define ABSL_HAVE_MEMORY_SANITIZER 1
697
735
  #elif defined(__SANITIZE_MEMORY__)
698
736
  #define ABSL_HAVE_MEMORY_SANITIZER 1
699
737
  #elif !defined(__native_client__) && ABSL_HAVE_FEATURE(memory_sanitizer)
@@ -705,10 +743,6 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
705
743
  // ThreadSanitizer (TSan) is a fast data race detector.
706
744
  #ifdef ABSL_HAVE_THREAD_SANITIZER
707
745
  #error "ABSL_HAVE_THREAD_SANITIZER cannot be directly set."
708
- #elif defined(THREAD_SANITIZER)
709
- // The THREAD_SANITIZER macro is deprecated but we will continue to honor it
710
- // for now.
711
- #define ABSL_HAVE_THREAD_SANITIZER 1
712
746
  #elif defined(__SANITIZE_THREAD__)
713
747
  #define ABSL_HAVE_THREAD_SANITIZER 1
714
748
  #elif ABSL_HAVE_FEATURE(thread_sanitizer)
@@ -720,10 +754,6 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
720
754
  // AddressSanitizer (ASan) is a fast memory error detector.
721
755
  #ifdef ABSL_HAVE_ADDRESS_SANITIZER
722
756
  #error "ABSL_HAVE_ADDRESS_SANITIZER cannot be directly set."
723
- #elif defined(ADDRESS_SANITIZER)
724
- // The ADDRESS_SANITIZER macro is deprecated but we will continue to honor it
725
- // for now.
726
- #define ABSL_HAVE_ADDRESS_SANITIZER 1
727
757
  #elif defined(__SANITIZE_ADDRESS__)
728
758
  #define ABSL_HAVE_ADDRESS_SANITIZER 1
729
759
  #elif ABSL_HAVE_FEATURE(address_sanitizer)
@@ -433,31 +433,6 @@ ABSL_NAMESPACE_END
433
433
 
434
434
  #endif
435
435
 
436
- #ifdef __cplusplus
437
- #ifdef ABSL_HAVE_THREAD_SANITIZER
438
- ABSL_INTERNAL_BEGIN_EXTERN_C
439
- int RunningOnValgrind();
440
- double ValgrindSlowdown();
441
- ABSL_INTERNAL_END_EXTERN_C
442
- #else
443
- namespace absl {
444
- ABSL_NAMESPACE_BEGIN
445
- namespace base_internal {
446
- ABSL_DEPRECATED(
447
- "Don't use this interface. It is misleading and is being deleted.")
448
- ABSL_ATTRIBUTE_ALWAYS_INLINE inline int RunningOnValgrind() { return 0; }
449
- ABSL_DEPRECATED(
450
- "Don't use this interface. It is misleading and is being deleted.")
451
- ABSL_ATTRIBUTE_ALWAYS_INLINE inline double ValgrindSlowdown() { return 1.0; }
452
- } // namespace base_internal
453
- ABSL_NAMESPACE_END
454
- } // namespace absl
455
-
456
- using absl::base_internal::RunningOnValgrind;
457
- using absl::base_internal::ValgrindSlowdown;
458
- #endif
459
- #endif
460
-
461
436
  // -------------------------------------------------------------------------
462
437
  // Address sanitizer annotations
463
438
 
@@ -471,7 +446,7 @@ using absl::base_internal::ValgrindSlowdown;
471
446
  __sanitizer_annotate_contiguous_container(beg, end, old_mid, new_mid)
472
447
  #define ABSL_ADDRESS_SANITIZER_REDZONE(name) \
473
448
  struct { \
474
- char x[8] __attribute__((aligned(8))); \
449
+ alignas(8) char x[8]; \
475
450
  } name
476
451
 
477
452
  #else
@@ -0,0 +1,48 @@
1
+ //
2
+ // Copyright 2020 The Abseil Authors.
3
+ //
4
+ // Licensed under the Apache License, Version 2.0 (the "License");
5
+ // you may not use this file except in compliance with the License.
6
+ // You may obtain a copy of the License at
7
+ //
8
+ // https://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+ //
16
+
17
+ #ifndef ABSL_BASE_INTERNAL_FAST_TYPE_ID_H_
18
+ #define ABSL_BASE_INTERNAL_FAST_TYPE_ID_H_
19
+
20
+ #include "absl/base/config.h"
21
+
22
+ namespace absl {
23
+ ABSL_NAMESPACE_BEGIN
24
+ namespace base_internal {
25
+
26
+ template <typename Type>
27
+ struct FastTypeTag {
28
+ constexpr static char dummy_var = 0;
29
+ };
30
+
31
+ template <typename Type>
32
+ constexpr char FastTypeTag<Type>::dummy_var;
33
+
34
+ // FastTypeId<Type>() evaluates at compile/link-time to a unique pointer for the
35
+ // passed-in type. These are meant to be good match for keys into maps or
36
+ // straight up comparisons.
37
+ using FastTypeIdType = const void*;
38
+
39
+ template <typename Type>
40
+ constexpr inline FastTypeIdType FastTypeId() {
41
+ return &FastTypeTag<Type>::dummy_var;
42
+ }
43
+
44
+ } // namespace base_internal
45
+ ABSL_NAMESPACE_END
46
+ } // namespace absl
47
+
48
+ #endif // ABSL_BASE_INTERNAL_FAST_TYPE_ID_H_
@@ -16,13 +16,15 @@
16
16
 
17
17
  // Most users requiring mutual exclusion should use Mutex.
18
18
  // SpinLock is provided for use in two situations:
19
- // - for use in code that Mutex itself depends on
19
+ // - for use by Abseil internal code that Mutex itself depends on
20
20
  // - for async signal safety (see below)
21
21
 
22
22
  // SpinLock is async signal safe. If a spinlock is used within a signal
23
23
  // handler, all code that acquires the lock must ensure that the signal cannot
24
24
  // arrive while they are holding the lock. Typically, this is done by blocking
25
25
  // the signal.
26
+ //
27
+ // Threads waiting on a SpinLock may be woken in an arbitrary order.
26
28
 
27
29
  #ifndef ABSL_BASE_INTERNAL_SPINLOCK_H_
28
30
  #define ABSL_BASE_INTERNAL_SPINLOCK_H_
@@ -39,6 +39,8 @@ struct SpinLockWaitTransition {
39
39
  // satisfying 0<=i<n && trans[i].done, atomically make the transition,
40
40
  // then return the old value of *w. Make any other atomic transitions
41
41
  // where !trans[i].done, but continue waiting.
42
+ //
43
+ // Wakeups for threads blocked on SpinLockWait do not respect priorities.
42
44
  uint32_t SpinLockWait(std::atomic<uint32_t> *w, int n,
43
45
  const SpinLockWaitTransition trans[],
44
46
  SchedulingMode scheduling_mode);
@@ -61,9 +61,78 @@ namespace absl {
61
61
  ABSL_NAMESPACE_BEGIN
62
62
  namespace base_internal {
63
63
 
64
+ namespace {
65
+
66
+ #if defined(_WIN32)
67
+
68
+ // Returns number of bits set in `bitMask`
69
+ DWORD Win32CountSetBits(ULONG_PTR bitMask) {
70
+ for (DWORD bitSetCount = 0; ; ++bitSetCount) {
71
+ if (bitMask == 0) return bitSetCount;
72
+ bitMask &= bitMask - 1;
73
+ }
74
+ }
75
+
76
+ // Returns the number of logical CPUs using GetLogicalProcessorInformation(), or
77
+ // 0 if the number of processors is not available or can not be computed.
78
+ // https://docs.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-getlogicalprocessorinformation
79
+ int Win32NumCPUs() {
80
+ #pragma comment(lib, "kernel32.lib")
81
+ using Info = SYSTEM_LOGICAL_PROCESSOR_INFORMATION;
82
+
83
+ DWORD info_size = sizeof(Info);
84
+ Info* info(static_cast<Info*>(malloc(info_size)));
85
+ if (info == nullptr) return 0;
86
+
87
+ bool success = GetLogicalProcessorInformation(info, &info_size);
88
+ if (!success && GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
89
+ free(info);
90
+ info = static_cast<Info*>(malloc(info_size));
91
+ if (info == nullptr) return 0;
92
+ success = GetLogicalProcessorInformation(info, &info_size);
93
+ }
94
+
95
+ DWORD logicalProcessorCount = 0;
96
+ if (success) {
97
+ Info* ptr = info;
98
+ DWORD byteOffset = 0;
99
+ while (byteOffset + sizeof(Info) <= info_size) {
100
+ switch (ptr->Relationship) {
101
+ case RelationProcessorCore:
102
+ logicalProcessorCount += Win32CountSetBits(ptr->ProcessorMask);
103
+ break;
104
+
105
+ case RelationNumaNode:
106
+ case RelationCache:
107
+ case RelationProcessorPackage:
108
+ // Ignore other entries
109
+ break;
110
+
111
+ default:
112
+ // Ignore unknown entries
113
+ break;
114
+ }
115
+ byteOffset += sizeof(Info);
116
+ ptr++;
117
+ }
118
+ }
119
+ free(info);
120
+ return logicalProcessorCount;
121
+ }
122
+
123
+ #endif
124
+
125
+ } // namespace
126
+
127
+
64
128
  static int GetNumCPUs() {
65
129
  #if defined(__myriad2__)
66
130
  return 1;
131
+ #elif defined(_WIN32)
132
+ const unsigned hardware_concurrency = Win32NumCPUs();
133
+ return hardware_concurrency ? hardware_concurrency : 1;
134
+ #elif defined(_AIX)
135
+ return sysconf(_SC_NPROCESSORS_ONLN);
67
136
  #else
68
137
  // Other possibilities:
69
138
  // - Read /sys/devices/system/cpu/online and use cpumask_parse()
@@ -120,10 +120,10 @@ void SetCurrentThreadIdentity(
120
120
  ABSL_THREAD_IDENTITY_MODE == ABSL_THREAD_IDENTITY_MODE_USE_CPP11
121
121
 
122
122
  // Please see the comment on `CurrentThreadIdentityIfPresent` in
123
- // thread_identity.h. Because DLLs cannot expose thread_local variables in
124
- // headers, we opt for the correct-but-slower option of placing the definition
125
- // of this function only in a translation unit inside DLL.
126
- #if defined(ABSL_BUILD_DLL) || defined(ABSL_CONSUME_DLL)
123
+ // thread_identity.h. When we cannot expose thread_local variables in
124
+ // headers, we opt for the correct-but-slower option of not inlining this
125
+ // function.
126
+ #ifndef ABSL_INTERNAL_INLINE_CURRENT_THREAD_IDENTITY_IF_PRESENT
127
127
  ThreadIdentity* CurrentThreadIdentityIfPresent() { return thread_identity_ptr; }
128
128
  #endif
129
129
  #endif
@@ -188,25 +188,25 @@ void ClearCurrentThreadIdentity();
188
188
  // May be chosen at compile time via: -DABSL_FORCE_THREAD_IDENTITY_MODE=<mode
189
189
  // index>
190
190
  #ifdef ABSL_THREAD_IDENTITY_MODE_USE_POSIX_SETSPECIFIC
191
- #error ABSL_THREAD_IDENTITY_MODE_USE_POSIX_SETSPECIFIC cannot be direcly set
191
+ #error ABSL_THREAD_IDENTITY_MODE_USE_POSIX_SETSPECIFIC cannot be directly set
192
192
  #else
193
193
  #define ABSL_THREAD_IDENTITY_MODE_USE_POSIX_SETSPECIFIC 0
194
194
  #endif
195
195
 
196
196
  #ifdef ABSL_THREAD_IDENTITY_MODE_USE_TLS
197
- #error ABSL_THREAD_IDENTITY_MODE_USE_TLS cannot be direcly set
197
+ #error ABSL_THREAD_IDENTITY_MODE_USE_TLS cannot be directly set
198
198
  #else
199
199
  #define ABSL_THREAD_IDENTITY_MODE_USE_TLS 1
200
200
  #endif
201
201
 
202
202
  #ifdef ABSL_THREAD_IDENTITY_MODE_USE_CPP11
203
- #error ABSL_THREAD_IDENTITY_MODE_USE_CPP11 cannot be direcly set
203
+ #error ABSL_THREAD_IDENTITY_MODE_USE_CPP11 cannot be directly set
204
204
  #else
205
205
  #define ABSL_THREAD_IDENTITY_MODE_USE_CPP11 2
206
206
  #endif
207
207
 
208
208
  #ifdef ABSL_THREAD_IDENTITY_MODE
209
- #error ABSL_THREAD_IDENTITY_MODE cannot be direcly set
209
+ #error ABSL_THREAD_IDENTITY_MODE cannot be directly set
210
210
  #elif defined(ABSL_FORCE_THREAD_IDENTITY_MODE)
211
211
  #define ABSL_THREAD_IDENTITY_MODE ABSL_FORCE_THREAD_IDENTITY_MODE
212
212
  #elif defined(_WIN32) && !defined(__MINGW32__)
@@ -236,13 +236,18 @@ ABSL_CONST_INIT extern thread_local ThreadIdentity* thread_identity_ptr;
236
236
  #error Thread-local storage not detected on this platform
237
237
  #endif
238
238
 
239
- // thread_local variables cannot be in headers exposed by DLLs. However, it is
240
- // important for performance reasons in general that
241
- // `CurrentThreadIdentityIfPresent` be inlined. This is not possible across a
242
- // DLL boundary so, with DLLs, we opt to have the function not be inlined. Note
239
+ // thread_local variables cannot be in headers exposed by DLLs or in certain
240
+ // build configurations on Apple platforms. However, it is important for
241
+ // performance reasons in general that `CurrentThreadIdentityIfPresent` be
242
+ // inlined. In the other cases we opt to have the function not be inlined. Note
243
243
  // that `CurrentThreadIdentityIfPresent` is declared above so we can exclude
244
- // this entire inline definition when compiling as a DLL.
245
- #if !defined(ABSL_BUILD_DLL) && !defined(ABSL_CONSUME_DLL)
244
+ // this entire inline definition.
245
+ #if !defined(__APPLE__) && !defined(ABSL_BUILD_DLL) && \
246
+ !defined(ABSL_CONSUME_DLL)
247
+ #define ABSL_INTERNAL_INLINE_CURRENT_THREAD_IDENTITY_IF_PRESENT 1
248
+ #endif
249
+
250
+ #ifdef ABSL_INTERNAL_INLINE_CURRENT_THREAD_IDENTITY_IF_PRESENT
246
251
  inline ThreadIdentity* CurrentThreadIdentityIfPresent() {
247
252
  return thread_identity_ptr;
248
253
  }
@@ -87,6 +87,10 @@ int64_t UnscaledCycleClock::Now() {
87
87
  double UnscaledCycleClock::Frequency() {
88
88
  #ifdef __GLIBC__
89
89
  return __ppc_get_timebase_freq();
90
+ #elif defined(_AIX)
91
+ // This is the same constant value as returned by
92
+ // __ppc_get_timebase_freq().
93
+ return static_cast<double>(512000000);
90
94
  #elif defined(__FreeBSD__)
91
95
  static once_flag init_timebase_frequency_once;
92
96
  static double timebase_frequency = 0.0;
@@ -119,6 +123,18 @@ double UnscaledCycleClock::Frequency() {
119
123
  return aarch64_timer_frequency;
120
124
  }
121
125
 
126
+ #elif defined(__riscv)
127
+
128
+ int64_t UnscaledCycleClock::Now() {
129
+ int64_t virtual_timer_value;
130
+ asm volatile("rdcycle %0" : "=r"(virtual_timer_value));
131
+ return virtual_timer_value;
132
+ }
133
+
134
+ double UnscaledCycleClock::Frequency() {
135
+ return base_internal::NominalCPUFrequency();
136
+ }
137
+
122
138
  #elif defined(_M_IX86) || defined(_M_X64)
123
139
 
124
140
  #pragma intrinsic(__rdtsc)