grpc 1.56.0 → 1.61.0

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.
Files changed (2616) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +1296 -928
  3. data/include/grpc/event_engine/event_engine.h +84 -52
  4. data/include/grpc/event_engine/internal/memory_allocator_impl.h +6 -0
  5. data/include/grpc/event_engine/internal/slice_cast.h +12 -0
  6. data/include/grpc/event_engine/memory_allocator.h +5 -3
  7. data/include/grpc/event_engine/slice.h +5 -0
  8. data/include/grpc/grpc_crl_provider.h +94 -0
  9. data/include/grpc/grpc_security.h +57 -1
  10. data/include/grpc/impl/call.h +29 -0
  11. data/include/grpc/impl/channel_arg_names.h +400 -0
  12. data/include/grpc/impl/grpc_types.h +1 -350
  13. data/include/grpc/impl/slice_type.h +1 -1
  14. data/include/grpc/module.modulemap +3 -0
  15. data/include/grpc/support/port_platform.h +103 -24
  16. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +55 -15
  17. data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +20 -6
  18. data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +49 -46
  19. data/src/core/ext/filters/channel_idle/channel_idle_filter.h +18 -10
  20. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +326 -0
  21. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h +143 -0
  22. data/src/core/ext/filters/client_channel/backend_metric.cc +2 -2
  23. data/src/core/ext/filters/client_channel/client_channel.cc +514 -82
  24. data/src/core/ext/filters/client_channel/client_channel.h +55 -14
  25. data/src/core/ext/filters/client_channel/client_channel_internal.h +2 -0
  26. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +21 -8
  27. data/src/core/ext/filters/client_channel/connector.h +2 -3
  28. data/src/core/ext/filters/client_channel/dynamic_filters.cc +0 -1
  29. data/src/core/ext/filters/client_channel/dynamic_filters.h +5 -3
  30. data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +1 -1
  31. data/src/core/ext/filters/client_channel/http_proxy_mapper.cc +305 -0
  32. data/src/core/ext/filters/client_channel/http_proxy_mapper.h +53 -0
  33. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +60 -52
  34. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.h +27 -12
  35. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +32 -40
  36. data/src/core/ext/filters/client_channel/lb_policy/endpoint_list.cc +187 -0
  37. data/src/core/ext/filters/client_channel/lb_policy/endpoint_list.h +220 -0
  38. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +0 -2
  39. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +246 -231
  40. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +20 -19
  41. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +4 -4
  42. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +4 -3
  43. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +3 -1
  44. data/src/core/ext/filters/client_channel/lb_policy/health_check_client.cc +90 -25
  45. data/src/core/ext/filters/client_channel/lb_policy/health_check_client.h +3 -5
  46. data/src/core/ext/filters/client_channel/lb_policy/health_check_client_internal.h +27 -9
  47. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc +13 -6
  48. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric_internal.h +2 -0
  49. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +257 -210
  50. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +0 -21
  51. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +898 -213
  52. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.h +36 -0
  53. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +19 -37
  54. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +488 -492
  55. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +3 -5
  56. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +63 -101
  57. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +416 -37
  58. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +37 -58
  59. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc +893 -76
  60. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +25 -51
  61. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +507 -523
  62. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +8 -0
  63. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +255 -185
  64. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +16 -58
  65. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc +807 -308
  66. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.h +2 -6
  67. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc +18 -81
  68. data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +5 -6
  69. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +12 -15
  70. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +102 -11
  71. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +105 -175
  72. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +46 -33
  73. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +11 -7
  74. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
  75. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_plugin.cc +6 -0
  76. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +112 -73
  77. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +3 -4
  78. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +76 -189
  79. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +46 -27
  80. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +2 -2
  81. data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +17 -13
  82. data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +1 -0
  83. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +31 -19
  84. data/src/core/ext/filters/client_channel/resolver/xds/xds_dependency_manager.cc +1031 -0
  85. data/src/core/ext/filters/client_channel/resolver/xds/xds_dependency_manager.h +277 -0
  86. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +474 -560
  87. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver_attributes.h +62 -0
  88. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver_trace.cc +25 -0
  89. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver_trace.h +30 -0
  90. data/src/core/ext/filters/client_channel/retry_filter.cc +40 -2499
  91. data/src/core/ext/filters/client_channel/retry_filter.h +92 -1
  92. data/src/core/ext/filters/client_channel/retry_filter_legacy_call_data.cc +2051 -0
  93. data/src/core/ext/filters/client_channel/retry_filter_legacy_call_data.h +442 -0
  94. data/src/core/ext/filters/client_channel/retry_service_config.cc +1 -1
  95. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +62 -70
  96. data/src/core/ext/filters/client_channel/subchannel.cc +47 -9
  97. data/src/core/ext/filters/client_channel/subchannel.h +20 -5
  98. data/src/core/ext/filters/client_channel/subchannel_interface_internal.h +3 -0
  99. data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +0 -1
  100. data/src/core/ext/filters/deadline/deadline_filter.cc +21 -24
  101. data/src/core/ext/filters/deadline/deadline_filter.h +0 -4
  102. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +18 -13
  103. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +13 -4
  104. data/src/core/ext/filters/http/client/http_client_filter.cc +30 -39
  105. data/src/core/ext/filters/http/client/http_client_filter.h +10 -5
  106. data/src/core/ext/filters/http/client_authority_filter.cc +23 -25
  107. data/src/core/ext/filters/http/client_authority_filter.h +12 -4
  108. data/src/core/ext/filters/http/http_filters_plugin.cc +58 -38
  109. data/src/core/ext/filters/http/message_compress/compression_filter.cc +56 -84
  110. data/src/core/ext/filters/http/message_compress/compression_filter.h +54 -12
  111. data/src/core/ext/filters/http/message_compress/legacy_compression_filter.cc +325 -0
  112. data/src/core/ext/filters/http/message_compress/legacy_compression_filter.h +139 -0
  113. data/src/core/ext/filters/http/server/http_server_filter.cc +55 -53
  114. data/src/core/ext/filters/http/server/http_server_filter.h +11 -4
  115. data/src/core/ext/filters/message_size/message_size_filter.cc +79 -108
  116. data/src/core/ext/filters/message_size/message_size_filter.h +35 -23
  117. data/src/core/ext/filters/rbac/rbac_filter.cc +46 -113
  118. data/src/core/ext/filters/rbac/rbac_filter.h +18 -29
  119. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +4 -7
  120. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +26 -13
  121. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +179 -108
  122. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +42 -14
  123. data/src/core/ext/gcp/metadata_query.cc +0 -1
  124. data/src/core/ext/transport/chttp2/alpn/alpn.cc +1 -1
  125. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +5 -7
  126. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +36 -36
  127. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +1118 -1059
  128. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +47 -4
  129. data/src/core/ext/transport/chttp2/transport/context_list_entry.h +12 -2
  130. data/src/core/ext/transport/chttp2/transport/decode_huff.cc +6569 -174
  131. data/src/core/ext/transport/chttp2/transport/decode_huff.h +2278 -441
  132. data/src/core/ext/transport/chttp2/transport/flow_control.cc +56 -88
  133. data/src/core/ext/transport/chttp2/transport/flow_control.h +85 -12
  134. data/src/core/ext/transport/chttp2/transport/frame.cc +506 -0
  135. data/src/core/ext/transport/chttp2/transport/frame.h +193 -22
  136. data/src/core/ext/transport/chttp2/transport/frame_data.cc +4 -3
  137. data/src/core/ext/transport/chttp2/transport/frame_data.h +1 -1
  138. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +0 -2
  139. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +1 -1
  140. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +23 -20
  141. data/src/core/ext/transport/chttp2/transport/frame_ping.h +1 -1
  142. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +10 -3
  143. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +1 -1
  144. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +34 -82
  145. data/src/core/ext/transport/chttp2/transport/frame_settings.h +5 -8
  146. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +1 -3
  147. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +1 -1
  148. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +16 -22
  149. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +7 -3
  150. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +3 -4
  151. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.cc +184 -0
  152. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +351 -0
  153. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +640 -547
  154. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +160 -12
  155. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +47 -33
  156. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +19 -5
  157. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +122 -32
  158. data/src/core/ext/transport/chttp2/transport/http2_settings.h +142 -37
  159. data/src/core/ext/transport/chttp2/transport/internal.h +227 -165
  160. data/src/core/ext/transport/chttp2/transport/legacy_frame.h +43 -0
  161. data/src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.cc +44 -0
  162. data/src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.h +67 -0
  163. data/src/core/ext/transport/chttp2/transport/parsing.cc +168 -60
  164. data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.cc +90 -0
  165. data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.h +59 -0
  166. data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +108 -0
  167. data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +115 -0
  168. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +120 -0
  169. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +88 -0
  170. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +1 -1
  171. data/src/core/ext/transport/chttp2/transport/write_size_policy.cc +60 -0
  172. data/src/core/ext/transport/chttp2/transport/write_size_policy.h +66 -0
  173. data/src/core/ext/transport/chttp2/transport/writing.cc +226 -178
  174. data/src/core/ext/transport/inproc/inproc_transport.cc +163 -1229
  175. data/src/core/ext/transport/inproc/inproc_transport.h +0 -4
  176. data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +1303 -0
  177. data/src/core/ext/transport/inproc/legacy_inproc_transport.h +30 -0
  178. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb.h +725 -0
  179. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.c +149 -0
  180. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.h +34 -0
  181. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb.h +827 -0
  182. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.c +180 -0
  183. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.h +33 -0
  184. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb.h +733 -0
  185. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.c +157 -0
  186. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.h +34 -0
  187. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb.h +2772 -0
  188. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.c +532 -0
  189. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.h +48 -0
  190. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb.h +248 -0
  191. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.c +66 -0
  192. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.h +31 -0
  193. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb.h +280 -0
  194. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.c +74 -0
  195. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.h +31 -0
  196. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb.h +162 -0
  197. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.c +56 -0
  198. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.h +30 -0
  199. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb.h +122 -0
  200. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.c +49 -0
  201. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.h +30 -0
  202. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb.h +117 -0
  203. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.c +49 -0
  204. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.h +30 -0
  205. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb.h +928 -0
  206. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.c +150 -0
  207. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.h +31 -0
  208. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb.h +117 -0
  209. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.c +54 -0
  210. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.h +30 -0
  211. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb.h +122 -0
  212. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.c +58 -0
  213. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.h +33 -0
  214. data/src/core/ext/upb-gen/envoy/annotations/resource.upb.h +109 -0
  215. data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.c +55 -0
  216. data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.h +31 -0
  217. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb.h +1753 -0
  218. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.c +375 -0
  219. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.h +45 -0
  220. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb.h +3420 -0
  221. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.c +612 -0
  222. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.h +49 -0
  223. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb.h +526 -0
  224. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.c +125 -0
  225. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.h +32 -0
  226. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +3890 -0
  227. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +729 -0
  228. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.h +53 -0
  229. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb.h +117 -0
  230. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.c +54 -0
  231. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.h +30 -0
  232. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb.h +659 -0
  233. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.c +123 -0
  234. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.h +30 -0
  235. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb.h +1830 -0
  236. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c +395 -0
  237. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.h +44 -0
  238. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb.h +1041 -0
  239. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c +224 -0
  240. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.h +37 -0
  241. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb.h +129 -0
  242. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.c +55 -0
  243. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.h +30 -0
  244. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +2420 -0
  245. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +577 -0
  246. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.h +53 -0
  247. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb.h +1130 -0
  248. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.c +225 -0
  249. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.h +36 -0
  250. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb.h +110 -0
  251. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.c +51 -0
  252. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.h +30 -0
  253. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb.h +116 -0
  254. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.c +53 -0
  255. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.h +30 -0
  256. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb.h +250 -0
  257. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.c +68 -0
  258. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.h +31 -0
  259. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb.h +1688 -0
  260. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +378 -0
  261. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.h +43 -0
  262. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb.h +1938 -0
  263. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.c +315 -0
  264. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.h +38 -0
  265. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb.h +144 -0
  266. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.c +55 -0
  267. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.h +30 -0
  268. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +2245 -0
  269. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +481 -0
  270. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.h +45 -0
  271. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb.h +238 -0
  272. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.c +70 -0
  273. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.h +31 -0
  274. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb.h +232 -0
  275. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.c +72 -0
  276. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.h +31 -0
  277. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +287 -0
  278. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +76 -0
  279. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.h +31 -0
  280. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb.h +255 -0
  281. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.c +66 -0
  282. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.h +30 -0
  283. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb.h +129 -0
  284. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.c +54 -0
  285. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.h +30 -0
  286. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb.h +489 -0
  287. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.c +138 -0
  288. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.h +33 -0
  289. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb.h +993 -0
  290. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.c +229 -0
  291. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.h +36 -0
  292. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb.h +911 -0
  293. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.c +179 -0
  294. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.h +34 -0
  295. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb.h +101 -0
  296. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.c +50 -0
  297. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.h +30 -0
  298. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb.h +1613 -0
  299. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.c +268 -0
  300. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.h +39 -0
  301. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +1447 -0
  302. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +260 -0
  303. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.h +36 -0
  304. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +327 -0
  305. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +86 -0
  306. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.h +30 -0
  307. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb.h +197 -0
  308. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.c +77 -0
  309. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.h +31 -0
  310. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb.h +183 -0
  311. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.c +64 -0
  312. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.h +30 -0
  313. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb.h +974 -0
  314. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.c +219 -0
  315. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.h +37 -0
  316. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +1183 -0
  317. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.c +250 -0
  318. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.h +39 -0
  319. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +1704 -0
  320. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +348 -0
  321. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.h +40 -0
  322. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb.h +857 -0
  323. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.c +133 -0
  324. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.h +32 -0
  325. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +9666 -0
  326. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +1667 -0
  327. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.h +87 -0
  328. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb.h +341 -0
  329. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.c +97 -0
  330. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.h +32 -0
  331. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb.h +1515 -0
  332. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.c +325 -0
  333. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.h +41 -0
  334. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb.h +119 -0
  335. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.c +51 -0
  336. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.h +30 -0
  337. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb.h +118 -0
  338. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.c +55 -0
  339. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.h +30 -0
  340. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb.h +190 -0
  341. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.c +73 -0
  342. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.h +31 -0
  343. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb.h +202 -0
  344. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.c +62 -0
  345. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.h +30 -0
  346. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb.h +409 -0
  347. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.c +81 -0
  348. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.h +30 -0
  349. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb.h +115 -0
  350. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.c +52 -0
  351. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.h +30 -0
  352. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb.h +102 -0
  353. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.c +51 -0
  354. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.h +30 -0
  355. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb.h +254 -0
  356. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.c +85 -0
  357. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.h +31 -0
  358. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb.h +49 -0
  359. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.c +33 -0
  360. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.h +39 -0
  361. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb.h +256 -0
  362. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.c +87 -0
  363. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.h +31 -0
  364. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb.h +201 -0
  365. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.c +65 -0
  366. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.h +30 -0
  367. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb.h +2691 -0
  368. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.c +555 -0
  369. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.h +45 -0
  370. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +134 -0
  371. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.c +46 -0
  372. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.h +30 -0
  373. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb.h +428 -0
  374. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.c +116 -0
  375. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.h +34 -0
  376. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb.h +656 -0
  377. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.c +141 -0
  378. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.h +32 -0
  379. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +266 -0
  380. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c +87 -0
  381. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.h +31 -0
  382. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb.h +462 -0
  383. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.c +101 -0
  384. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.h +31 -0
  385. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +194 -0
  386. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c +72 -0
  387. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.h +31 -0
  388. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +3943 -0
  389. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +679 -0
  390. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.h +50 -0
  391. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +101 -0
  392. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.c +50 -0
  393. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.h +30 -0
  394. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +239 -0
  395. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.c +67 -0
  396. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.h +30 -0
  397. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +488 -0
  398. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c +135 -0
  399. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.h +34 -0
  400. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.h +86 -0
  401. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.c +44 -0
  402. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.h +30 -0
  403. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +250 -0
  404. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.c +68 -0
  405. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.h +30 -0
  406. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +101 -0
  407. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.c +50 -0
  408. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.h +30 -0
  409. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +39 -0
  410. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.c +28 -0
  411. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.h +34 -0
  412. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb.h +1469 -0
  413. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c +262 -0
  414. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.h +36 -0
  415. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +361 -0
  416. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.c +108 -0
  417. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.h +32 -0
  418. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +1467 -0
  419. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +267 -0
  420. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.h +36 -0
  421. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +217 -0
  422. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.c +72 -0
  423. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.h +31 -0
  424. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb.h +712 -0
  425. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.c +151 -0
  426. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.h +33 -0
  427. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb.h +73 -0
  428. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.c +38 -0
  429. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.h +30 -0
  430. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +2141 -0
  431. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +402 -0
  432. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.h +43 -0
  433. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb.h +324 -0
  434. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.c +84 -0
  435. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.h +31 -0
  436. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +925 -0
  437. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.c +183 -0
  438. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.h +34 -0
  439. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb.h +131 -0
  440. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.c +54 -0
  441. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.h +30 -0
  442. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb.h +312 -0
  443. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.c +86 -0
  444. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.h +33 -0
  445. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb.h +124 -0
  446. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.c +53 -0
  447. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.h +30 -0
  448. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb.h +299 -0
  449. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.c +105 -0
  450. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.h +34 -0
  451. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb.h +260 -0
  452. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.c +76 -0
  453. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.h +31 -0
  454. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb.h +166 -0
  455. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.c +55 -0
  456. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.h +30 -0
  457. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb.h +130 -0
  458. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.c +54 -0
  459. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.h +30 -0
  460. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb.h +110 -0
  461. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.c +51 -0
  462. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.h +30 -0
  463. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb.h +271 -0
  464. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.c +96 -0
  465. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.h +32 -0
  466. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb.h +109 -0
  467. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.c +43 -0
  468. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.h +31 -0
  469. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb.h +306 -0
  470. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.c +81 -0
  471. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.h +31 -0
  472. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb.h +230 -0
  473. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.c +70 -0
  474. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.h +31 -0
  475. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb.h +347 -0
  476. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.c +92 -0
  477. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.h +32 -0
  478. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb.h +525 -0
  479. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.c +127 -0
  480. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.h +36 -0
  481. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb.h +506 -0
  482. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.c +139 -0
  483. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.h +34 -0
  484. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb.h +227 -0
  485. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.c +76 -0
  486. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.h +32 -0
  487. data/src/core/ext/upb-gen/envoy/type/v3/http.upb.h +38 -0
  488. data/src/core/ext/upb-gen/envoy/type/v3/http.upb_minitable.c +26 -0
  489. data/src/core/ext/upb-gen/envoy/type/v3/http.upb_minitable.h +29 -0
  490. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb.h +148 -0
  491. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.c +46 -0
  492. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.h +30 -0
  493. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb.h +162 -0
  494. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.c +64 -0
  495. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.h +31 -0
  496. data/src/core/ext/upb-gen/envoy/type/v3/range.upb.h +238 -0
  497. data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.c +84 -0
  498. data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.h +32 -0
  499. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb.h +232 -0
  500. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.c +75 -0
  501. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.h +31 -0
  502. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb.h +42 -0
  503. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb_minitable.c +26 -0
  504. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb_minitable.h +29 -0
  505. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb.h +117 -0
  506. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.c +49 -0
  507. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.h +30 -0
  508. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb.h +146 -0
  509. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.c +57 -0
  510. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.h +30 -0
  511. data/src/core/ext/upb-gen/google/api/annotations.upb.h +56 -0
  512. data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.c +38 -0
  513. data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.h +30 -0
  514. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h +1743 -0
  515. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c +369 -0
  516. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.h +42 -0
  517. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h +1829 -0
  518. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c +399 -0
  519. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.h +43 -0
  520. data/src/core/ext/upb-gen/google/api/http.upb.h +496 -0
  521. data/src/core/ext/upb-gen/google/api/http.upb_minitable.c +111 -0
  522. data/src/core/ext/upb-gen/google/api/http.upb_minitable.h +32 -0
  523. data/src/core/ext/upb-gen/google/api/httpbody.upb.h +165 -0
  524. data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.c +52 -0
  525. data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.h +30 -0
  526. data/src/core/ext/upb-gen/google/protobuf/any.upb.h +99 -0
  527. data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.c +46 -0
  528. data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.h +30 -0
  529. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb.h +6397 -0
  530. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c +1357 -0
  531. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.h +78 -0
  532. data/src/core/ext/upb-gen/google/protobuf/duration.upb.h +99 -0
  533. data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.c +46 -0
  534. data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.h +30 -0
  535. data/src/core/ext/upb-gen/google/protobuf/empty.upb.h +69 -0
  536. data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.c +35 -0
  537. data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.h +30 -0
  538. data/src/core/ext/upb-gen/google/protobuf/struct.upb.h +422 -0
  539. data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.c +115 -0
  540. data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.h +33 -0
  541. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb.h +99 -0
  542. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.c +46 -0
  543. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.h +30 -0
  544. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb.h +508 -0
  545. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.c +163 -0
  546. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.h +38 -0
  547. data/src/core/ext/upb-gen/google/rpc/status.upb.h +165 -0
  548. data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.c +52 -0
  549. data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.h +30 -0
  550. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb.h +385 -0
  551. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.c +106 -0
  552. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.h +33 -0
  553. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb.h +237 -0
  554. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.c +79 -0
  555. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.h +31 -0
  556. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +1658 -0
  557. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +342 -0
  558. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.h +41 -0
  559. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb.h +197 -0
  560. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c +69 -0
  561. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.h +31 -0
  562. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb.h +144 -0
  563. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.c +58 -0
  564. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.h +31 -0
  565. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb.h +877 -0
  566. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.c +221 -0
  567. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.h +38 -0
  568. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb.h +297 -0
  569. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.c +92 -0
  570. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.h +32 -0
  571. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb.h +1333 -0
  572. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.c +243 -0
  573. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.h +38 -0
  574. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb.h +322 -0
  575. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.c +118 -0
  576. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.h +37 -0
  577. data/src/core/ext/upb-gen/udpa/annotations/security.upb.h +125 -0
  578. data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.c +59 -0
  579. data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.h +31 -0
  580. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb.h +55 -0
  581. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.c +37 -0
  582. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.h +30 -0
  583. data/src/core/ext/upb-gen/udpa/annotations/status.upb.h +131 -0
  584. data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.c +58 -0
  585. data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.h +31 -0
  586. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb.h +109 -0
  587. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.c +55 -0
  588. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.h +31 -0
  589. data/src/core/ext/upb-gen/validate/validate.upb.h +6507 -0
  590. data/src/core/ext/upb-gen/validate/validate.upb_minitable.c +943 -0
  591. data/src/core/ext/upb-gen/validate/validate.upb_minitable.h +57 -0
  592. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb.h +322 -0
  593. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.c +118 -0
  594. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.h +37 -0
  595. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb.h +125 -0
  596. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.c +59 -0
  597. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.h +31 -0
  598. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb.h +55 -0
  599. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.c +37 -0
  600. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.h +30 -0
  601. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb.h +336 -0
  602. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.c +117 -0
  603. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.h +36 -0
  604. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb.h +109 -0
  605. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.c +55 -0
  606. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.h +31 -0
  607. data/src/core/ext/upb-gen/xds/core/v3/authority.upb.h +87 -0
  608. data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.c +45 -0
  609. data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.h +30 -0
  610. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb.h +116 -0
  611. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.c +53 -0
  612. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.h +30 -0
  613. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb.h +234 -0
  614. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.c +78 -0
  615. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.h +31 -0
  616. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb.h +134 -0
  617. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.c +62 -0
  618. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.h +31 -0
  619. data/src/core/ext/upb-gen/xds/core/v3/extension.upb.h +115 -0
  620. data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.c +52 -0
  621. data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.h +30 -0
  622. data/src/core/ext/upb-gen/xds/core/v3/resource.upb.h +144 -0
  623. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.c +55 -0
  624. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.h +30 -0
  625. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb.h +331 -0
  626. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.c +84 -0
  627. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.h +31 -0
  628. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb.h +146 -0
  629. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.c +59 -0
  630. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.h +30 -0
  631. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb.h +350 -0
  632. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.c +126 -0
  633. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.h +33 -0
  634. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb.h +161 -0
  635. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.c +52 -0
  636. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.h +30 -0
  637. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb.h +101 -0
  638. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.c +50 -0
  639. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.h +30 -0
  640. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb.h +263 -0
  641. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.c +72 -0
  642. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.h +31 -0
  643. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb.h +71 -0
  644. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.c +36 -0
  645. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.h +30 -0
  646. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb.h +282 -0
  647. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.c +75 -0
  648. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.h +31 -0
  649. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb.h +1107 -0
  650. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.c +265 -0
  651. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.h +39 -0
  652. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb.h +726 -0
  653. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.c +157 -0
  654. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.h +35 -0
  655. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb.h +159 -0
  656. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.c +58 -0
  657. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.h +31 -0
  658. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb.h +304 -0
  659. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.c +79 -0
  660. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.h +31 -0
  661. data/src/core/ext/upb-gen/xds/type/v3/cel.upb.h +233 -0
  662. data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.c +79 -0
  663. data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.h +31 -0
  664. data/src/core/ext/upb-gen/xds/type/v3/range.upb.h +235 -0
  665. data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.c +82 -0
  666. data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.h +32 -0
  667. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb.h +114 -0
  668. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.c +51 -0
  669. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.h +30 -0
  670. data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.c +83 -0
  671. data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.h +55 -0
  672. data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.c +127 -0
  673. data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.h +50 -0
  674. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.c +101 -0
  675. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.h +55 -0
  676. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.c +276 -0
  677. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.h +125 -0
  678. data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.c +42 -0
  679. data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.h +40 -0
  680. data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.c +55 -0
  681. data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.h +40 -0
  682. data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.c +48 -0
  683. data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.h +35 -0
  684. data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.c +45 -0
  685. data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.h +35 -0
  686. data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.c +45 -0
  687. data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.h +35 -0
  688. data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.c +141 -0
  689. data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.h +40 -0
  690. data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.c +50 -0
  691. data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.h +35 -0
  692. data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.c +47 -0
  693. data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.h +30 -0
  694. data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.c +37 -0
  695. data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.h +35 -0
  696. data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.c +233 -0
  697. data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.h +110 -0
  698. data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +422 -0
  699. data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +130 -0
  700. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +97 -0
  701. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +45 -0
  702. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.c +566 -0
  703. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.h +150 -0
  704. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.c +50 -0
  705. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.h +35 -0
  706. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.c +137 -0
  707. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.h +35 -0
  708. data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.c +205 -0
  709. data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.h +105 -0
  710. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.c +131 -0
  711. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.h +70 -0
  712. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.c +53 -0
  713. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.h +35 -0
  714. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.c +270 -0
  715. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.h +150 -0
  716. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.c +167 -0
  717. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.h +65 -0
  718. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.c +52 -0
  719. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.h +35 -0
  720. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.c +46 -0
  721. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.h +35 -0
  722. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.c +52 -0
  723. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.h +40 -0
  724. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.c +236 -0
  725. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.h +100 -0
  726. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.c +244 -0
  727. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.h +75 -0
  728. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.c +52 -0
  729. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.h +35 -0
  730. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.c +310 -0
  731. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.h +110 -0
  732. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.c +56 -0
  733. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.h +40 -0
  734. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.c +54 -0
  735. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.h +40 -0
  736. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.c +60 -0
  737. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.h +40 -0
  738. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.c +69 -0
  739. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.h +35 -0
  740. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.c +48 -0
  741. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.h +35 -0
  742. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.c +98 -0
  743. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.h +50 -0
  744. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +139 -0
  745. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +65 -0
  746. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.c +135 -0
  747. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.h +55 -0
  748. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.c +47 -0
  749. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.h +35 -0
  750. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.c +231 -0
  751. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.h +80 -0
  752. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.c +189 -0
  753. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.h +65 -0
  754. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.c +100 -0
  755. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.h +35 -0
  756. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.c +70 -0
  757. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.h +40 -0
  758. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.c +75 -0
  759. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.h +35 -0
  760. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.c +124 -0
  761. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.h +70 -0
  762. data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.c +141 -0
  763. data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.h +80 -0
  764. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.c +222 -0
  765. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.h +85 -0
  766. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.c +122 -0
  767. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.h +45 -0
  768. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.c +979 -0
  769. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.h +320 -0
  770. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.c +76 -0
  771. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.h +45 -0
  772. data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.c +198 -0
  773. data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.h +90 -0
  774. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.c +55 -0
  775. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.h +35 -0
  776. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.c +56 -0
  777. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.h +35 -0
  778. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.c +56 -0
  779. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.h +40 -0
  780. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.c +71 -0
  781. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.h +35 -0
  782. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.c +98 -0
  783. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.h +35 -0
  784. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.c +44 -0
  785. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.h +35 -0
  786. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.c +51 -0
  787. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.h +35 -0
  788. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.c +70 -0
  789. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.h +40 -0
  790. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.c +60 -0
  791. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.h +30 -0
  792. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.c +74 -0
  793. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.h +40 -0
  794. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.c +78 -0
  795. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.h +35 -0
  796. data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.c +401 -0
  797. data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.h +110 -0
  798. data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +49 -0
  799. data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +35 -0
  800. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +91 -0
  801. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +55 -0
  802. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +122 -0
  803. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +45 -0
  804. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +79 -0
  805. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +40 -0
  806. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.c +104 -0
  807. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.h +40 -0
  808. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +59 -0
  809. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +40 -0
  810. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +601 -0
  811. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +135 -0
  812. data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +49 -0
  813. data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +35 -0
  814. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +47 -0
  815. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +30 -0
  816. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +214 -0
  817. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +65 -0
  818. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +90 -0
  819. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +45 -0
  820. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +257 -0
  821. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +65 -0
  822. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +57 -0
  823. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +40 -0
  824. data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.c +133 -0
  825. data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.h +50 -0
  826. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.c +57 -0
  827. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.h +35 -0
  828. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.c +199 -0
  829. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.h +100 -0
  830. data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.c +75 -0
  831. data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.h +40 -0
  832. data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.c +154 -0
  833. data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.h +55 -0
  834. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.c +45 -0
  835. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.h +35 -0
  836. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.c +55 -0
  837. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.h +50 -0
  838. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.c +47 -0
  839. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.h +35 -0
  840. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.c +54 -0
  841. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.h +55 -0
  842. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.c +60 -0
  843. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.h +40 -0
  844. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.c +53 -0
  845. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.h +35 -0
  846. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.c +51 -0
  847. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.h +35 -0
  848. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.c +50 -0
  849. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.h +35 -0
  850. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.c +70 -0
  851. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.h +45 -0
  852. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.c +39 -0
  853. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.h +40 -0
  854. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.c +64 -0
  855. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.h +40 -0
  856. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.c +57 -0
  857. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.h +40 -0
  858. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.c +74 -0
  859. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.h +45 -0
  860. data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.c +77 -0
  861. data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.h +65 -0
  862. data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.c +84 -0
  863. data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.h +55 -0
  864. data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.c +52 -0
  865. data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.h +45 -0
  866. data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.c +35 -0
  867. data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.h +30 -0
  868. data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.c +93 -0
  869. data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.h +35 -0
  870. data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.c +53 -0
  871. data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.h +40 -0
  872. data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.c +47 -0
  873. data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.h +45 -0
  874. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.c +68 -0
  875. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.h +40 -0
  876. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.c +38 -0
  877. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.h +30 -0
  878. data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.c +43 -0
  879. data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.h +35 -0
  880. data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.c +56 -0
  881. data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.h +35 -0
  882. data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.c +39 -0
  883. data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.h +30 -0
  884. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.c +153 -0
  885. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.h +95 -0
  886. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.c +152 -0
  887. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.h +100 -0
  888. data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.c +51 -0
  889. data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.h +45 -0
  890. data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.c +38 -0
  891. data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.h +35 -0
  892. data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.c +33 -0
  893. data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.h +35 -0
  894. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.c +488 -0
  895. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.h +190 -0
  896. data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.c +34 -0
  897. data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.h +35 -0
  898. data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.c +31 -0
  899. data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.h +35 -0
  900. data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.c +53 -0
  901. data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.h +50 -0
  902. data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.c +34 -0
  903. data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.h +35 -0
  904. data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.c +44 -0
  905. data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.h +75 -0
  906. data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.c +36 -0
  907. data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.h +35 -0
  908. data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.c +66 -0
  909. data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.h +50 -0
  910. data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +98 -0
  911. data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +75 -0
  912. data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.c +61 -0
  913. data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.h +45 -0
  914. data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.c +46 -0
  915. data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.h +35 -0
  916. data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.c +33 -0
  917. data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.h +30 -0
  918. data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.c +45 -0
  919. data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.h +35 -0
  920. data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.c +38 -0
  921. data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.h +35 -0
  922. data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.c +282 -0
  923. data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.h +145 -0
  924. data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.c +62 -0
  925. data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.h +45 -0
  926. data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.c +46 -0
  927. data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.h +35 -0
  928. data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.c +34 -0
  929. data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.h +30 -0
  930. data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.c +63 -0
  931. data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.h +50 -0
  932. data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.c +39 -0
  933. data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.h +35 -0
  934. data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.c +37 -0
  935. data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.h +35 -0
  936. data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.c +44 -0
  937. data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.h +35 -0
  938. data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.c +55 -0
  939. data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.h +40 -0
  940. data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.c +38 -0
  941. data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.h +40 -0
  942. data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.c +40 -0
  943. data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.h +35 -0
  944. data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.c +44 -0
  945. data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.h +35 -0
  946. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.c +60 -0
  947. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.h +40 -0
  948. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.c +45 -0
  949. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.h +35 -0
  950. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.c +42 -0
  951. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.h +35 -0
  952. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.c +50 -0
  953. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.h +40 -0
  954. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.c +35 -0
  955. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.h +35 -0
  956. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.c +54 -0
  957. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.h +40 -0
  958. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.c +125 -0
  959. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.h +80 -0
  960. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.c +70 -0
  961. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.h +60 -0
  962. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.c +39 -0
  963. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.h +40 -0
  964. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.c +51 -0
  965. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.h +40 -0
  966. data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.c +59 -0
  967. data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.h +40 -0
  968. data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.c +35 -0
  969. data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h +45 -0
  970. data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.c +36 -0
  971. data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h +35 -0
  972. data/src/core/ext/xds/certificate_provider_store.cc +2 -1
  973. data/src/core/ext/xds/certificate_provider_store.h +0 -5
  974. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +0 -1
  975. data/src/core/ext/xds/xds_api.cc +31 -19
  976. data/src/core/ext/xds/xds_api.h +2 -2
  977. data/src/core/ext/xds/xds_bootstrap.h +3 -0
  978. data/src/core/ext/xds/xds_bootstrap_grpc.cc +33 -31
  979. data/src/core/ext/xds/xds_bootstrap_grpc.h +5 -13
  980. data/src/core/ext/xds/xds_certificate_provider.cc +88 -287
  981. data/src/core/ext/xds/xds_certificate_provider.h +44 -111
  982. data/src/core/ext/xds/xds_channel_stack_modifier.cc +17 -28
  983. data/src/core/ext/xds/xds_channel_stack_modifier.h +3 -5
  984. data/src/core/ext/xds/xds_client.cc +425 -421
  985. data/src/core/ext/xds/xds_client.h +32 -23
  986. data/src/core/ext/xds/xds_client_grpc.cc +15 -7
  987. data/src/core/ext/xds/xds_client_grpc.h +16 -2
  988. data/src/core/ext/xds/xds_client_stats.h +10 -1
  989. data/src/core/ext/xds/xds_cluster.cc +159 -68
  990. data/src/core/ext/xds/xds_cluster.h +11 -5
  991. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +9 -5
  992. data/src/core/ext/xds/xds_common_types.cc +14 -11
  993. data/src/core/ext/xds/xds_endpoint.cc +106 -70
  994. data/src/core/ext/xds/xds_endpoint.h +7 -4
  995. data/src/core/ext/xds/xds_health_status.cc +13 -18
  996. data/src/core/ext/xds/xds_health_status.h +10 -28
  997. data/src/core/ext/xds/xds_http_fault_filter.cc +1 -2
  998. data/src/core/ext/xds/xds_http_fault_filter.h +1 -2
  999. data/src/core/ext/xds/xds_http_filters.cc +1 -5
  1000. data/src/core/ext/xds/xds_http_filters.h +2 -4
  1001. data/src/core/ext/xds/xds_http_rbac_filter.cc +8 -11
  1002. data/src/core/ext/xds/xds_http_rbac_filter.h +1 -2
  1003. data/src/core/ext/xds/xds_http_stateful_session_filter.cc +2 -6
  1004. data/src/core/ext/xds/xds_http_stateful_session_filter.h +1 -2
  1005. data/src/core/ext/xds/xds_lb_policy_registry.cc +36 -0
  1006. data/src/core/ext/xds/xds_listener.cc +29 -25
  1007. data/src/core/ext/xds/xds_listener.h +13 -3
  1008. data/src/core/ext/xds/xds_resource_type.h +1 -7
  1009. data/src/core/ext/xds/xds_resource_type_impl.h +11 -11
  1010. data/src/core/ext/xds/xds_route_config.cc +48 -34
  1011. data/src/core/ext/xds/xds_route_config.h +2 -1
  1012. data/src/core/ext/xds/xds_routing.cc +2 -2
  1013. data/src/core/ext/xds/xds_server_config_fetcher.cc +110 -81
  1014. data/src/core/ext/xds/xds_transport.h +3 -0
  1015. data/src/core/ext/xds/xds_transport_grpc.cc +61 -54
  1016. data/src/core/ext/xds/xds_transport_grpc.h +4 -0
  1017. data/src/core/lib/address_utils/parse_address.cc +63 -1
  1018. data/src/core/lib/address_utils/parse_address.h +8 -0
  1019. data/src/core/lib/address_utils/sockaddr_utils.cc +46 -2
  1020. data/src/core/lib/address_utils/sockaddr_utils.h +2 -2
  1021. data/src/core/lib/avl/avl.h +11 -173
  1022. data/src/core/lib/backoff/random_early_detection.cc +4 -2
  1023. data/src/core/lib/backoff/random_early_detection.h +7 -4
  1024. data/src/core/lib/channel/call_tracer.cc +315 -1
  1025. data/src/core/lib/channel/call_tracer.h +63 -4
  1026. data/src/core/lib/channel/channel_args.cc +109 -84
  1027. data/src/core/lib/channel/channel_args.h +105 -29
  1028. data/src/core/lib/channel/channel_args_preconditioning.cc +0 -1
  1029. data/src/core/lib/channel/channel_stack.cc +36 -1
  1030. data/src/core/lib/channel/channel_stack.h +10 -10
  1031. data/src/core/lib/channel/channel_stack_builder.h +4 -15
  1032. data/src/core/lib/channel/channel_stack_builder_impl.cc +1 -19
  1033. data/src/core/lib/channel/channel_stack_trace.cc +19 -0
  1034. data/src/core/lib/channel/channel_stack_trace.h +24 -0
  1035. data/src/core/lib/channel/channel_trace.cc +1 -1
  1036. data/src/core/lib/channel/channelz_registry.h +4 -2
  1037. data/src/core/lib/channel/connected_channel.cc +144 -83
  1038. data/src/core/lib/channel/context.h +3 -0
  1039. data/src/core/lib/channel/promise_based_filter.cc +19 -7
  1040. data/src/core/lib/channel/promise_based_filter.h +1044 -3
  1041. data/src/core/lib/channel/server_call_tracer_filter.cc +43 -42
  1042. data/src/core/lib/channel/status_util.cc +0 -1
  1043. data/src/core/lib/channel/tcp_tracer.h +140 -0
  1044. data/src/core/lib/compression/compression_internal.cc +10 -7
  1045. data/src/core/lib/config/config_vars.cc +0 -1
  1046. data/src/core/lib/config/config_vars.h +1 -1
  1047. data/src/core/lib/config/config_vars_non_generated.cc +0 -2
  1048. data/src/core/lib/config/core_configuration.cc +2 -2
  1049. data/src/core/lib/config/core_configuration.h +5 -4
  1050. data/src/core/lib/debug/stats_data.cc +202 -35
  1051. data/src/core/lib/debug/stats_data.h +102 -0
  1052. data/src/core/lib/debug/trace.cc +1 -4
  1053. data/src/core/lib/event_engine/ares_resolver.cc +747 -0
  1054. data/src/core/lib/event_engine/ares_resolver.h +151 -0
  1055. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +13 -3
  1056. data/src/core/lib/event_engine/cf_engine/cf_engine.h +4 -1
  1057. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +5 -2
  1058. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +3 -0
  1059. data/src/core/lib/event_engine/cf_engine/cftype_unique_ref.h +3 -0
  1060. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +249 -0
  1061. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.h +120 -0
  1062. data/src/core/lib/event_engine/channel_args_endpoint_config.cc +2 -0
  1063. data/src/core/lib/event_engine/event_engine.cc +0 -14
  1064. data/src/core/lib/event_engine/forkable.cc +65 -65
  1065. data/src/core/lib/event_engine/forkable.h +46 -25
  1066. data/src/core/lib/event_engine/grpc_polled_fd.h +92 -0
  1067. data/src/core/lib/event_engine/handle_containers.h +0 -4
  1068. data/src/core/lib/event_engine/nameser.h +102 -0
  1069. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +10 -14
  1070. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +2 -3
  1071. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +39 -24
  1072. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +12 -10
  1073. data/src/core/lib/event_engine/posix_engine/event_poller.h +3 -1
  1074. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +23 -4
  1075. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h +3 -1
  1076. data/src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h +205 -0
  1077. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +0 -2
  1078. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +132 -0
  1079. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.h +61 -0
  1080. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +29 -16
  1081. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +3 -2
  1082. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +113 -27
  1083. data/src/core/lib/event_engine/posix_engine/posix_engine.h +36 -29
  1084. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +66 -27
  1085. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +5 -0
  1086. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +15 -5
  1087. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +53 -7
  1088. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +13 -0
  1089. data/src/core/lib/event_engine/posix_engine/timer.h +10 -37
  1090. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +17 -27
  1091. data/src/core/lib/event_engine/posix_engine/timer_manager.h +0 -3
  1092. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +2 -0
  1093. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +0 -1
  1094. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +0 -1
  1095. data/src/core/lib/event_engine/ref_counted_dns_resolver_interface.h +55 -0
  1096. data/src/core/lib/event_engine/shim.cc +4 -2
  1097. data/src/core/lib/event_engine/slice_buffer.cc +0 -1
  1098. data/src/core/lib/event_engine/tcp_socket_utils.cc +67 -8
  1099. data/src/core/lib/event_engine/tcp_socket_utils.h +3 -0
  1100. data/src/core/lib/event_engine/thread_pool/thread_count.cc +58 -0
  1101. data/src/core/lib/event_engine/thread_pool/thread_count.h +176 -0
  1102. data/src/core/lib/event_engine/thread_pool/thread_pool_factory.cc +19 -10
  1103. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +138 -100
  1104. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +22 -48
  1105. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +12 -21
  1106. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +8 -12
  1107. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +823 -0
  1108. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.h +75 -0
  1109. data/src/core/lib/event_engine/windows/native_windows_dns_resolver.cc +114 -0
  1110. data/src/core/lib/event_engine/windows/native_windows_dns_resolver.h +51 -0
  1111. data/src/core/lib/event_engine/windows/win_socket.cc +20 -13
  1112. data/src/core/lib/event_engine/windows/win_socket.h +19 -7
  1113. data/src/core/lib/event_engine/windows/windows_endpoint.cc +75 -76
  1114. data/src/core/lib/event_engine/windows/windows_endpoint.h +15 -12
  1115. data/src/core/lib/event_engine/windows/windows_engine.cc +85 -39
  1116. data/src/core/lib/event_engine/windows/windows_engine.h +24 -14
  1117. data/src/core/lib/event_engine/windows/windows_listener.cc +2 -3
  1118. data/src/core/lib/event_engine/work_queue/basic_work_queue.cc +2 -0
  1119. data/src/core/lib/event_engine/work_queue/basic_work_queue.h +4 -1
  1120. data/src/core/lib/event_engine/work_queue/work_queue.h +4 -0
  1121. data/src/core/lib/experiments/config.cc +96 -23
  1122. data/src/core/lib/experiments/config.h +23 -8
  1123. data/src/core/lib/experiments/experiments.cc +712 -60
  1124. data/src/core/lib/experiments/experiments.h +335 -46
  1125. data/src/core/lib/gpr/alloc.cc +1 -0
  1126. data/src/core/lib/gprpp/debug_location.h +13 -0
  1127. data/src/core/lib/gprpp/directory_reader.h +48 -0
  1128. data/src/core/lib/gprpp/dual_ref_counted.h +45 -16
  1129. data/src/core/lib/gprpp/fork.cc +8 -9
  1130. data/src/core/lib/gprpp/fork.h +7 -6
  1131. data/src/core/lib/gprpp/host_port.cc +0 -2
  1132. data/src/core/lib/gprpp/if_list.h +4530 -0
  1133. data/src/core/lib/gprpp/manual_constructor.h +1 -2
  1134. data/src/core/lib/gprpp/match.h +1 -1
  1135. data/src/core/lib/gprpp/no_destruct.h +1 -1
  1136. data/src/core/lib/gprpp/orphanable.h +30 -3
  1137. data/src/core/lib/gprpp/per_cpu.cc +2 -0
  1138. data/src/core/lib/gprpp/per_cpu.h +36 -7
  1139. data/src/core/lib/gprpp/posix/directory_reader.cc +82 -0
  1140. data/src/core/lib/gprpp/posix/stat.cc +0 -1
  1141. data/src/core/lib/gprpp/ref_counted.h +72 -29
  1142. data/src/core/lib/gprpp/ref_counted_ptr.h +133 -27
  1143. data/src/core/lib/gprpp/ref_counted_string.cc +44 -0
  1144. data/src/core/lib/gprpp/ref_counted_string.h +161 -0
  1145. data/src/core/lib/gprpp/sorted_pack.h +3 -12
  1146. data/src/core/lib/gprpp/status_helper.cc +1 -3
  1147. data/src/core/lib/gprpp/status_helper.h +16 -15
  1148. data/src/core/lib/gprpp/strerror.cc +0 -2
  1149. data/src/core/lib/gprpp/time.cc +0 -1
  1150. data/src/core/lib/gprpp/time.h +13 -1
  1151. data/src/core/lib/gprpp/type_list.h +32 -0
  1152. data/src/core/lib/gprpp/validation_errors.cc +0 -1
  1153. data/src/core/lib/gprpp/windows/directory_reader.cc +80 -0
  1154. data/src/core/lib/gprpp/work_serializer.cc +323 -12
  1155. data/src/core/lib/gprpp/work_serializer.h +30 -9
  1156. data/src/core/lib/gprpp/xxhash_inline.h +29 -0
  1157. data/src/core/lib/http/format_request.cc +0 -1
  1158. data/src/core/lib/http/httpcli.cc +0 -2
  1159. data/src/core/lib/http/httpcli.h +6 -9
  1160. data/src/core/lib/http/httpcli_security_connector.cc +1 -0
  1161. data/src/core/lib/iomgr/buffer_list.cc +2 -0
  1162. data/src/core/lib/iomgr/combiner.cc +24 -18
  1163. data/src/core/lib/iomgr/combiner.h +8 -3
  1164. data/src/core/lib/iomgr/error.cc +32 -2
  1165. data/src/core/lib/iomgr/error.h +9 -10
  1166. data/src/core/lib/iomgr/ev_epoll1_linux.cc +5 -7
  1167. data/src/core/lib/iomgr/ev_poll_posix.cc +6 -5
  1168. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +42 -26
  1169. data/src/core/lib/iomgr/event_engine_shims/endpoint.h +16 -0
  1170. data/src/core/lib/iomgr/event_engine_shims/tcp_client.cc +3 -2
  1171. data/src/core/lib/iomgr/exec_ctx.cc +12 -0
  1172. data/src/core/lib/iomgr/exec_ctx.h +66 -19
  1173. data/src/core/lib/iomgr/polling_entity.cc +10 -0
  1174. data/src/core/lib/iomgr/polling_entity.h +2 -0
  1175. data/src/core/lib/iomgr/pollset.h +4 -5
  1176. data/src/core/lib/iomgr/port.h +24 -0
  1177. data/src/core/lib/iomgr/resolve_address.cc +13 -1
  1178. data/src/core/lib/iomgr/resolve_address.h +17 -3
  1179. data/src/core/lib/iomgr/sockaddr_posix.h +7 -0
  1180. data/src/core/lib/iomgr/socket_utils_common_posix.cc +42 -0
  1181. data/src/core/lib/iomgr/socket_utils_posix.cc +2 -0
  1182. data/src/core/lib/iomgr/socket_utils_posix.h +6 -0
  1183. data/src/core/lib/iomgr/tcp_client_posix.cc +8 -4
  1184. data/src/core/lib/iomgr/tcp_posix.cc +48 -22
  1185. data/src/core/lib/iomgr/tcp_server_posix.cc +37 -14
  1186. data/src/core/lib/iomgr/tcp_server_utils_posix.h +12 -0
  1187. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +26 -2
  1188. data/src/core/lib/iomgr/tcp_windows.cc +1 -3
  1189. data/src/core/lib/iomgr/timer_manager.cc +7 -1
  1190. data/src/core/lib/iomgr/timer_manager.h +2 -0
  1191. data/src/core/lib/iomgr/vsock.cc +59 -0
  1192. data/src/core/lib/iomgr/vsock.h +38 -0
  1193. data/src/core/lib/iomgr/wakeup_fd_posix.h +3 -6
  1194. data/src/core/lib/json/json_object_loader.h +0 -1
  1195. data/src/core/lib/json/json_reader.cc +0 -1
  1196. data/src/core/lib/load_balancing/delegating_helper.h +116 -0
  1197. data/src/core/lib/load_balancing/lb_policy.h +38 -14
  1198. data/src/core/lib/load_balancing/lb_policy_registry.cc +0 -1
  1199. data/src/core/lib/load_balancing/subchannel_interface.h +6 -0
  1200. data/src/core/lib/matchers/matchers.cc +0 -1
  1201. data/src/core/lib/promise/activity.cc +17 -3
  1202. data/src/core/lib/promise/activity.h +5 -4
  1203. data/src/core/lib/promise/all_ok.h +80 -0
  1204. data/src/core/lib/promise/arena_promise.h +5 -1
  1205. data/src/core/lib/promise/cancel_callback.h +0 -2
  1206. data/src/core/lib/promise/context.h +0 -1
  1207. data/src/core/lib/promise/detail/basic_seq.h +1 -372
  1208. data/src/core/lib/promise/detail/join_state.h +2077 -0
  1209. data/src/core/lib/promise/detail/promise_like.h +8 -1
  1210. data/src/core/lib/promise/detail/seq_state.h +5801 -0
  1211. data/src/core/lib/promise/detail/status.h +42 -5
  1212. data/src/core/lib/promise/for_each.h +13 -3
  1213. data/src/core/lib/promise/if.h +4 -1
  1214. data/src/core/lib/promise/interceptor_list.h +0 -1
  1215. data/src/core/lib/promise/latch.h +7 -5
  1216. data/src/core/lib/promise/loop.h +9 -6
  1217. data/src/core/lib/promise/map.h +0 -1
  1218. data/src/core/lib/promise/party.cc +33 -33
  1219. data/src/core/lib/promise/party.h +143 -8
  1220. data/src/core/lib/promise/pipe.h +28 -27
  1221. data/src/core/lib/promise/poll.h +43 -19
  1222. data/src/core/lib/promise/prioritized_race.h +0 -1
  1223. data/src/core/lib/promise/promise.h +4 -1
  1224. data/src/core/lib/promise/race.h +0 -1
  1225. data/src/core/lib/promise/seq.h +124 -8
  1226. data/src/core/lib/promise/sleep.h +5 -10
  1227. data/src/core/lib/promise/status_flag.h +196 -0
  1228. data/src/core/lib/promise/try_join.h +71 -21
  1229. data/src/core/lib/promise/try_seq.h +161 -7
  1230. data/src/core/lib/resolver/endpoint_addresses.cc +147 -0
  1231. data/src/core/lib/resolver/endpoint_addresses.h +164 -0
  1232. data/src/core/lib/resolver/resolver.h +4 -3
  1233. data/src/core/lib/resolver/resolver_factory.h +3 -2
  1234. data/src/core/lib/resolver/resolver_registry.cc +0 -2
  1235. data/src/core/lib/resolver/server_address.h +5 -109
  1236. data/src/core/lib/resource_quota/api.cc +1 -0
  1237. data/src/core/lib/resource_quota/arena.cc +2 -0
  1238. data/src/core/lib/resource_quota/arena.h +44 -10
  1239. data/src/core/lib/resource_quota/memory_quota.cc +128 -21
  1240. data/src/core/lib/resource_quota/memory_quota.h +13 -13
  1241. data/src/core/lib/resource_quota/resource_quota.h +1 -0
  1242. data/src/core/lib/security/authorization/audit_logging.cc +0 -1
  1243. data/src/core/lib/security/authorization/authorization_policy_provider.h +1 -1
  1244. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +15 -12
  1245. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +14 -5
  1246. data/src/core/lib/security/authorization/matchers.cc +0 -1
  1247. data/src/core/lib/security/authorization/rbac_policy.cc +0 -2
  1248. data/src/core/lib/security/authorization/rbac_policy.h +1 -1
  1249. data/src/core/lib/security/authorization/stdout_logger.cc +0 -1
  1250. data/src/core/lib/security/credentials/alts/alts_credentials.cc +0 -2
  1251. data/src/core/lib/security/credentials/channel_creds_registry.h +51 -27
  1252. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +169 -9
  1253. data/src/core/lib/security/credentials/composite/composite_credentials.cc +2 -2
  1254. data/src/core/lib/security/credentials/composite/composite_credentials.h +4 -2
  1255. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +4 -1
  1256. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +4 -0
  1257. data/src/core/lib/security/credentials/external/aws_request_signer.cc +8 -2
  1258. data/src/core/lib/security/credentials/external/external_account_credentials.cc +68 -23
  1259. data/src/core/lib/security/credentials/external/external_account_credentials.h +10 -0
  1260. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +4 -0
  1261. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +4 -0
  1262. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +5 -3
  1263. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +4 -0
  1264. data/src/core/lib/security/credentials/fake/fake_credentials.cc +30 -38
  1265. data/src/core/lib/security/credentials/fake/fake_credentials.h +28 -0
  1266. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +1 -1
  1267. data/src/core/lib/security/credentials/iam/iam_credentials.cc +0 -1
  1268. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +0 -2
  1269. data/src/core/lib/security/credentials/jwt/json_token.cc +17 -0
  1270. data/src/core/lib/security/credentials/jwt/json_token.h +4 -0
  1271. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +0 -1
  1272. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +43 -2
  1273. data/src/core/lib/security/credentials/local/local_credentials.cc +0 -2
  1274. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +0 -1
  1275. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +2 -2
  1276. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +116 -10
  1277. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +14 -0
  1278. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +0 -2
  1279. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_match.cc +86 -0
  1280. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +0 -55
  1281. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +0 -3
  1282. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +2 -0
  1283. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +41 -0
  1284. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +28 -1
  1285. data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.cc +255 -0
  1286. data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.h +129 -0
  1287. data/src/core/lib/security/credentials/tls/tls_credentials.cc +27 -2
  1288. data/src/core/lib/security/credentials/tls/tls_credentials.h +3 -1
  1289. data/src/core/lib/security/credentials/tls/tls_utils.cc +2 -0
  1290. data/src/core/lib/security/credentials/xds/xds_credentials.cc +22 -29
  1291. data/src/core/lib/security/credentials/xds/xds_credentials.h +2 -4
  1292. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +1 -0
  1293. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +1 -1
  1294. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +7 -59
  1295. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +1 -1
  1296. data/src/core/lib/security/security_connector/ssl_utils.cc +11 -3
  1297. data/src/core/lib/security/security_connector/ssl_utils.h +5 -1
  1298. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +8 -19
  1299. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +2 -2
  1300. data/src/core/lib/security/transport/auth_filters.h +71 -4
  1301. data/src/core/lib/security/transport/client_auth_filter.cc +9 -9
  1302. data/src/core/lib/security/transport/legacy_server_auth_filter.cc +244 -0
  1303. data/src/core/lib/security/transport/secure_endpoint.cc +3 -6
  1304. data/src/core/lib/security/transport/security_handshaker.cc +2 -3
  1305. data/src/core/lib/security/transport/server_auth_filter.cc +70 -92
  1306. data/src/core/lib/service_config/service_config_call_data.h +5 -0
  1307. data/src/core/lib/slice/slice.h +27 -0
  1308. data/src/core/lib/slice/slice_buffer.cc +15 -0
  1309. data/src/core/lib/slice/slice_buffer.h +19 -4
  1310. data/src/core/lib/slice/slice_refcount.h +1 -1
  1311. data/src/core/lib/surface/builtins.cc +6 -25
  1312. data/src/core/lib/surface/call.cc +852 -247
  1313. data/src/core/lib/surface/call.h +30 -13
  1314. data/src/core/lib/surface/call_log_batch.cc +0 -2
  1315. data/src/core/lib/surface/call_trace.cc +42 -2
  1316. data/src/core/lib/surface/channel.cc +12 -10
  1317. data/src/core/lib/surface/channel.h +2 -8
  1318. data/src/core/lib/surface/channel_init.cc +367 -14
  1319. data/src/core/lib/surface/channel_init.h +177 -28
  1320. data/src/core/lib/surface/completion_queue.cc +4 -1
  1321. data/src/core/lib/surface/event_string.cc +0 -1
  1322. data/src/core/lib/surface/init.cc +21 -47
  1323. data/src/core/lib/surface/lame_client.cc +8 -1
  1324. data/src/core/lib/surface/server.cc +519 -300
  1325. data/src/core/lib/surface/server.h +68 -44
  1326. data/src/core/lib/surface/validate_metadata.cc +37 -22
  1327. data/src/core/lib/surface/validate_metadata.h +13 -3
  1328. data/src/core/lib/surface/version.cc +2 -2
  1329. data/src/core/lib/surface/wait_for_cq_end_op.h +94 -0
  1330. data/src/core/lib/transport/batch_builder.cc +7 -9
  1331. data/src/core/lib/transport/batch_builder.h +1 -3
  1332. data/src/core/lib/transport/bdp_estimator.cc +2 -2
  1333. data/src/core/lib/transport/bdp_estimator.h +2 -2
  1334. data/src/core/lib/transport/call_final_info.cc +38 -0
  1335. data/src/core/lib/transport/call_final_info.h +54 -0
  1336. data/src/core/lib/transport/connectivity_state.cc +3 -4
  1337. data/src/core/lib/transport/connectivity_state.h +4 -0
  1338. data/src/core/lib/transport/error_utils.cc +0 -2
  1339. data/src/core/lib/transport/handshaker.cc +0 -2
  1340. data/src/core/lib/transport/metadata_batch.cc +12 -7
  1341. data/src/core/lib/transport/metadata_batch.h +122 -50
  1342. data/src/core/lib/transport/parsed_metadata.h +32 -20
  1343. data/src/core/lib/transport/simple_slice_based_metadata.h +8 -2
  1344. data/src/core/lib/transport/tcp_connect_handshaker.cc +0 -1
  1345. data/src/core/lib/transport/timeout_encoding.h +2 -2
  1346. data/src/core/lib/transport/transport.cc +80 -67
  1347. data/src/core/lib/transport/transport.h +504 -91
  1348. data/src/core/lib/transport/transport_fwd.h +3 -1
  1349. data/src/core/lib/transport/transport_op_string.cc +0 -2
  1350. data/src/core/lib/uri/uri_parser.cc +0 -1
  1351. data/src/core/plugin_registry/grpc_plugin_registry.cc +5 -0
  1352. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +0 -3
  1353. data/src/core/tsi/alts/crypt/aes_gcm.cc +142 -89
  1354. data/src/core/tsi/alts/crypt/gsec.h +387 -319
  1355. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +11 -7
  1356. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +1 -1
  1357. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +5 -7
  1358. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +1 -1
  1359. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +4 -6
  1360. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +12 -13
  1361. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h +26 -25
  1362. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +9 -1
  1363. data/src/core/tsi/ssl_transport_security.cc +233 -69
  1364. data/src/core/tsi/ssl_transport_security.h +36 -2
  1365. data/src/ruby/bin/math_pb.rb +24 -18
  1366. data/src/ruby/ext/grpc/extconf.rb +73 -10
  1367. data/src/ruby/ext/grpc/rb_call.c +62 -39
  1368. data/src/ruby/ext/grpc/rb_call_credentials.c +0 -1
  1369. data/src/ruby/ext/grpc/rb_channel.c +109 -84
  1370. data/src/ruby/ext/grpc/rb_channel.h +1 -0
  1371. data/src/ruby/ext/grpc/rb_channel_args.c +21 -3
  1372. data/src/ruby/ext/grpc/rb_channel_args.h +4 -0
  1373. data/src/ruby/ext/grpc/rb_channel_credentials.c +0 -1
  1374. data/src/ruby/ext/grpc/rb_compression_options.c +0 -1
  1375. data/src/ruby/ext/grpc/rb_event_thread.c +22 -6
  1376. data/src/ruby/ext/grpc/rb_event_thread.h +1 -0
  1377. data/src/ruby/ext/grpc/rb_grpc.c +192 -31
  1378. data/src/ruby/ext/grpc/rb_grpc.h +8 -4
  1379. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +10 -0
  1380. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +15 -0
  1381. data/src/ruby/ext/grpc/rb_server.c +62 -45
  1382. data/src/ruby/ext/grpc/rb_server_credentials.c +0 -1
  1383. data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +0 -1
  1384. data/src/ruby/ext/grpc/rb_xds_server_credentials.c +0 -1
  1385. data/src/ruby/lib/grpc/generic/active_call.rb +9 -14
  1386. data/src/ruby/lib/grpc/generic/bidi_call.rb +2 -0
  1387. data/src/ruby/lib/grpc/version.rb +1 -1
  1388. data/src/ruby/pb/grpc/health/v1/health_pb.rb +24 -13
  1389. data/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb +24 -3
  1390. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +33 -111
  1391. data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +25 -2
  1392. data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +22 -0
  1393. data/src/ruby/pb/test/client.rb +16 -0
  1394. data/src/ruby/spec/generic/rpc_server_spec.rb +3 -3
  1395. data/third_party/abseil-cpp/absl/algorithm/container.h +3 -2
  1396. data/third_party/abseil-cpp/absl/base/attributes.h +58 -5
  1397. data/third_party/abseil-cpp/absl/base/call_once.h +1 -1
  1398. data/third_party/abseil-cpp/absl/base/casts.h +8 -8
  1399. data/third_party/abseil-cpp/absl/base/config.h +89 -106
  1400. data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +26 -1
  1401. data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +2 -2
  1402. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +50 -39
  1403. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.h +2 -1
  1404. data/third_party/abseil-cpp/absl/base/internal/prefetch.h +17 -18
  1405. data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +32 -3
  1406. data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +24 -4
  1407. data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +31 -73
  1408. data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +9 -8
  1409. data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +11 -11
  1410. data/third_party/abseil-cpp/absl/base/internal/throw_delegate.cc +23 -32
  1411. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +2 -3
  1412. data/third_party/abseil-cpp/absl/base/options.h +1 -1
  1413. data/third_party/abseil-cpp/absl/base/policy_checks.h +3 -3
  1414. data/third_party/abseil-cpp/absl/base/prefetch.h +198 -0
  1415. data/third_party/abseil-cpp/absl/container/fixed_array.h +54 -29
  1416. data/third_party/abseil-cpp/absl/container/flat_hash_map.h +5 -1
  1417. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +6 -2
  1418. data/third_party/abseil-cpp/absl/container/inlined_vector.h +167 -79
  1419. data/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h +1 -1
  1420. data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +3 -21
  1421. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +1 -1
  1422. data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +46 -0
  1423. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +2 -0
  1424. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +85 -26
  1425. data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +35 -18
  1426. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +70 -29
  1427. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +437 -236
  1428. data/third_party/abseil-cpp/absl/crc/crc32c.h +8 -1
  1429. data/third_party/abseil-cpp/absl/crc/internal/cpu_detect.cc +14 -8
  1430. data/third_party/abseil-cpp/absl/crc/internal/crc.cc +4 -35
  1431. data/third_party/abseil-cpp/absl/crc/internal/crc.h +2 -10
  1432. data/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +1 -1
  1433. data/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.cc +1 -1
  1434. data/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.h +4 -4
  1435. data/third_party/abseil-cpp/absl/crc/internal/crc_internal.h +8 -10
  1436. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_64.cc +17 -19
  1437. data/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +8 -8
  1438. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +2 -1
  1439. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +59 -23
  1440. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +1 -1
  1441. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +1 -1
  1442. data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +1 -1
  1443. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +43 -19
  1444. data/third_party/abseil-cpp/absl/debugging/symbolize_emscripten.inc +3 -0
  1445. data/third_party/abseil-cpp/absl/flags/commandlineflag.h +1 -1
  1446. data/third_party/abseil-cpp/absl/flags/internal/commandlineflag.cc +1 -1
  1447. data/third_party/abseil-cpp/absl/flags/internal/flag.cc +2 -2
  1448. data/third_party/abseil-cpp/absl/flags/internal/flag.h +16 -15
  1449. data/third_party/abseil-cpp/absl/flags/internal/flag_msvc.inc +1 -1
  1450. data/third_party/abseil-cpp/absl/flags/marshalling.cc +43 -2
  1451. data/third_party/abseil-cpp/absl/flags/marshalling.h +5 -0
  1452. data/third_party/abseil-cpp/absl/functional/any_invocable.h +9 -1
  1453. data/third_party/abseil-cpp/absl/functional/bind_front.h +1 -1
  1454. data/third_party/abseil-cpp/absl/functional/function_ref.h +3 -3
  1455. data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +37 -24
  1456. data/third_party/abseil-cpp/absl/functional/internal/function_ref.h +19 -9
  1457. data/third_party/abseil-cpp/absl/hash/hash.h +7 -4
  1458. data/third_party/abseil-cpp/absl/hash/internal/hash.h +38 -15
  1459. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc +6 -0
  1460. data/third_party/abseil-cpp/absl/meta/type_traits.h +48 -373
  1461. data/third_party/abseil-cpp/absl/numeric/bits.h +4 -4
  1462. data/third_party/abseil-cpp/absl/numeric/int128.cc +20 -8
  1463. data/third_party/abseil-cpp/absl/numeric/int128.h +36 -39
  1464. data/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +0 -3
  1465. data/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +47 -30
  1466. data/third_party/abseil-cpp/absl/random/bit_gen_ref.h +185 -0
  1467. data/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits.h +4 -3
  1468. data/third_party/abseil-cpp/absl/random/internal/generate_real.h +1 -1
  1469. data/third_party/abseil-cpp/absl/random/internal/platform.h +1 -1
  1470. data/third_party/abseil-cpp/absl/random/internal/randen_detect.cc +4 -0
  1471. data/third_party/abseil-cpp/absl/random/internal/randen_engine.h +1 -1
  1472. data/third_party/abseil-cpp/absl/random/internal/randen_hwaes.cc +1 -1
  1473. data/third_party/abseil-cpp/absl/random/internal/uniform_helper.h +1 -1
  1474. data/third_party/abseil-cpp/absl/status/internal/status_internal.h +4 -0
  1475. data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +12 -24
  1476. data/third_party/abseil-cpp/absl/status/status.cc +11 -7
  1477. data/third_party/abseil-cpp/absl/status/status.h +11 -2
  1478. data/third_party/abseil-cpp/absl/status/statusor.h +22 -8
  1479. data/third_party/abseil-cpp/absl/strings/ascii.cc +54 -6
  1480. data/third_party/abseil-cpp/absl/strings/charconv.cc +21 -4
  1481. data/third_party/abseil-cpp/absl/strings/charconv.h +2 -2
  1482. data/third_party/abseil-cpp/absl/strings/cord.cc +1 -2
  1483. data/third_party/abseil-cpp/absl/strings/cord.h +32 -5
  1484. data/third_party/abseil-cpp/absl/strings/cord_analysis.cc +23 -1
  1485. data/third_party/abseil-cpp/absl/strings/cord_analysis.h +18 -0
  1486. data/third_party/abseil-cpp/absl/strings/cord_buffer.h +2 -5
  1487. data/third_party/abseil-cpp/absl/strings/escaping.cc +10 -32
  1488. data/third_party/abseil-cpp/absl/strings/escaping.h +1 -1
  1489. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc +2 -4
  1490. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h +3 -3
  1491. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +0 -1
  1492. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +15 -13
  1493. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +13 -4
  1494. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h +8 -0
  1495. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.cc +5 -3
  1496. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.h +4 -7
  1497. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +8 -0
  1498. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.h +2 -2
  1499. data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc +46 -20
  1500. data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.h +1 -34
  1501. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +2 -1
  1502. data/third_party/abseil-cpp/absl/strings/internal/escaping.cc +23 -0
  1503. data/third_party/abseil-cpp/absl/strings/internal/escaping.h +1 -0
  1504. data/third_party/abseil-cpp/absl/strings/internal/memutil.cc +2 -77
  1505. data/third_party/abseil-cpp/absl/strings/internal/memutil.h +4 -112
  1506. data/third_party/abseil-cpp/absl/strings/internal/stl_type_traits.h +1 -1
  1507. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +10 -31
  1508. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +8 -8
  1509. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +5 -20
  1510. data/third_party/abseil-cpp/absl/strings/internal/str_format/constexpr_parser.h +1 -0
  1511. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +1 -1
  1512. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +9 -9
  1513. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +56 -6
  1514. data/third_party/abseil-cpp/absl/strings/match.cc +87 -0
  1515. data/third_party/abseil-cpp/absl/strings/match.h +19 -0
  1516. data/third_party/abseil-cpp/absl/strings/numbers.cc +154 -122
  1517. data/third_party/abseil-cpp/absl/strings/numbers.h +1 -6
  1518. data/third_party/abseil-cpp/absl/strings/str_cat.cc +7 -50
  1519. data/third_party/abseil-cpp/absl/strings/str_cat.h +83 -15
  1520. data/third_party/abseil-cpp/absl/strings/str_format.h +6 -3
  1521. data/third_party/abseil-cpp/absl/strings/str_split.cc +9 -6
  1522. data/third_party/abseil-cpp/absl/strings/string_view.cc +26 -4
  1523. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +5 -0
  1524. data/third_party/abseil-cpp/absl/synchronization/internal/futex.h +63 -43
  1525. data/third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.cc +111 -0
  1526. data/third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.h +63 -0
  1527. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +11 -7
  1528. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc +225 -0
  1529. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +122 -114
  1530. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +12 -8
  1531. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +10 -1
  1532. data/third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc +167 -0
  1533. data/third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.h +60 -0
  1534. data/third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.cc +122 -0
  1535. data/third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.h +65 -0
  1536. data/third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc +91 -0
  1537. data/third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.h +56 -0
  1538. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +19 -113
  1539. data/third_party/abseil-cpp/absl/synchronization/internal/waiter_base.cc +42 -0
  1540. data/third_party/abseil-cpp/absl/synchronization/internal/waiter_base.h +90 -0
  1541. data/third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.cc +151 -0
  1542. data/third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.h +70 -0
  1543. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +407 -411
  1544. data/third_party/abseil-cpp/absl/synchronization/mutex.h +152 -118
  1545. data/third_party/abseil-cpp/absl/time/clock.cc +6 -7
  1546. data/third_party/abseil-cpp/absl/time/duration.cc +24 -26
  1547. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +1 -0
  1548. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +1 -1
  1549. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +3 -3
  1550. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc +8 -6
  1551. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h +6 -3
  1552. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +4 -2
  1553. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h +4 -0
  1554. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +322 -295
  1555. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h +8 -17
  1556. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +51 -33
  1557. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h +7 -2
  1558. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +128 -2
  1559. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.h +1 -1
  1560. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +5 -1
  1561. data/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +34 -34
  1562. data/third_party/abseil-cpp/absl/time/time.cc +9 -2
  1563. data/third_party/abseil-cpp/absl/time/time.h +115 -15
  1564. data/third_party/abseil-cpp/absl/types/internal/optional.h +0 -52
  1565. data/third_party/abseil-cpp/absl/types/internal/span.h +2 -2
  1566. data/third_party/abseil-cpp/absl/types/internal/variant.h +2 -2
  1567. data/third_party/abseil-cpp/absl/types/optional.h +15 -13
  1568. data/third_party/abseil-cpp/absl/types/span.h +1 -2
  1569. data/third_party/boringssl-with-bazel/err_data.c +554 -553
  1570. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c +7 -3
  1571. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.c +7 -7
  1572. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +5 -5
  1573. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +34 -1
  1574. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +11 -4
  1575. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +3 -3
  1576. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +7 -8
  1577. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.c +7 -7
  1578. data/third_party/boringssl-with-bazel/src/crypto/bio/errno.c +92 -0
  1579. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +5 -49
  1580. data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +18 -13
  1581. data/third_party/boringssl-with-bazel/src/crypto/bio/internal.h +16 -6
  1582. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.c +4 -4
  1583. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +11 -2
  1584. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +1 -1
  1585. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +19 -1
  1586. data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +8 -1
  1587. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +31 -192
  1588. data/third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h +3 -7
  1589. data/third_party/boringssl-with-bazel/src/crypto/conf/internal.h +8 -0
  1590. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.c +3 -2
  1591. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.c +0 -1
  1592. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.c +0 -2
  1593. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.c +0 -1
  1594. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_sysreg.c +93 -0
  1595. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.c +1 -1
  1596. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c +0 -1
  1597. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.c +0 -2
  1598. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +49 -46
  1599. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_64_adx.c +18 -0
  1600. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +2809 -7417
  1601. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +27 -5
  1602. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c +4 -0
  1603. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c +5 -0
  1604. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +20 -0
  1605. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +110 -72
  1606. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_derive.c +4 -3
  1607. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +24 -28
  1608. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +4 -6
  1609. data/third_party/boringssl-with-bazel/src/crypto/err/err.c +23 -21
  1610. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +35 -12
  1611. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c +2 -4
  1612. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c +3 -7
  1613. data/third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.c +3 -3
  1614. data/third_party/boringssl-with-bazel/src/crypto/evp/print.c +7 -6
  1615. data/third_party/boringssl-with-bazel/src/crypto/ex_data.c +34 -72
  1616. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +1 -1
  1617. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +12 -5
  1618. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.c +5 -6
  1619. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +12 -6
  1620. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.c +17 -18
  1621. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.c +51 -15
  1622. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.c +7 -7
  1623. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h +5 -6
  1624. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.c +37 -8
  1625. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.c +38 -19
  1626. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/internal.h +9 -0
  1627. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/builtin_curves.h +277 -0
  1628. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +180 -404
  1629. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +3 -3
  1630. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c +24 -57
  1631. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.c +17 -13
  1632. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +33 -71
  1633. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c +18 -17
  1634. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +5 -7
  1635. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.c +15 -18
  1636. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +9 -11
  1637. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c +24 -24
  1638. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.c +11 -27
  1639. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +8 -8
  1640. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c +4 -4
  1641. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +9 -3
  1642. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/hkdf.c +1 -1
  1643. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.c +40 -26
  1644. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +21 -7
  1645. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +38 -19
  1646. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +2 -29
  1647. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +55 -0
  1648. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +33 -52
  1649. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +42 -24
  1650. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.c +4 -7
  1651. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +7 -0
  1652. data/third_party/boringssl-with-bazel/src/crypto/internal.h +211 -100
  1653. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +5 -4
  1654. data/third_party/boringssl-with-bazel/src/crypto/mem.c +7 -8
  1655. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +25 -46
  1656. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +3 -3
  1657. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.c +3 -3
  1658. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +7 -7
  1659. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +8 -5
  1660. data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +1 -0
  1661. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c +7 -6
  1662. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c +6 -12
  1663. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/getentropy.c +52 -0
  1664. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/ios.c +34 -0
  1665. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/trusty.c +38 -0
  1666. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c +41 -19
  1667. data/third_party/boringssl-with-bazel/src/crypto/refcount.c +59 -0
  1668. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +152 -72
  1669. data/third_party/boringssl-with-bazel/src/crypto/thread_none.c +0 -8
  1670. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +6 -35
  1671. data/third_party/boringssl-with-bazel/src/crypto/thread_win.c +5 -26
  1672. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +14 -18
  1673. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +54 -143
  1674. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +8 -19
  1675. data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.c +0 -3
  1676. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +1 -1
  1677. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +1 -1
  1678. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.c +1 -3
  1679. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +2 -4
  1680. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +2 -2
  1681. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +1 -1
  1682. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +8 -12
  1683. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +19 -20
  1684. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +11 -15
  1685. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +5 -5
  1686. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +1 -1
  1687. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +7 -7
  1688. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c +2 -3
  1689. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +2 -3
  1690. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +4 -6
  1691. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +4 -119
  1692. data/third_party/boringssl-with-bazel/src/include/openssl/asm_base.h +207 -0
  1693. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +5 -0
  1694. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +10 -116
  1695. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +11 -1
  1696. data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +0 -2
  1697. data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +6 -0
  1698. data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +5 -1
  1699. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +4 -1
  1700. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +0 -21
  1701. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +28 -11
  1702. data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +19 -6
  1703. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +11 -7
  1704. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +6 -2
  1705. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +13 -14
  1706. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +0 -61
  1707. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +22 -20
  1708. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +131 -81
  1709. data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +236 -213
  1710. data/third_party/boringssl-with-bazel/src/include/openssl/target.h +201 -0
  1711. data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +1 -29
  1712. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +4 -8
  1713. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +3 -2
  1714. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +9 -65
  1715. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +20 -20
  1716. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +1 -1
  1717. data/third_party/boringssl-with-bazel/src/ssl/internal.h +4 -11
  1718. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +26 -20
  1719. data/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc +4 -4
  1720. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +37 -30
  1721. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +127 -26
  1722. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +2 -3
  1723. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_adx.h +691 -0
  1724. data/third_party/upb/upb/base/descriptor_constants.h +7 -27
  1725. data/third_party/upb/upb/base/internal/log2.h +38 -0
  1726. data/third_party/upb/upb/base/status.c +6 -26
  1727. data/third_party/upb/upb/base/status.h +6 -26
  1728. data/third_party/upb/upb/base/status.hpp +50 -0
  1729. data/third_party/upb/upb/base/string_view.h +11 -28
  1730. data/third_party/upb/upb/generated_code_support.h +33 -0
  1731. data/third_party/upb/upb/hash/common.c +12 -44
  1732. data/third_party/upb/upb/hash/common.h +16 -41
  1733. data/third_party/upb/upb/hash/int_table.h +6 -26
  1734. data/third_party/upb/upb/hash/str_table.h +7 -26
  1735. data/third_party/upb/upb/json/decode.c +31 -28
  1736. data/third_party/upb/upb/json/decode.h +32 -29
  1737. data/third_party/upb/upb/json/encode.c +31 -28
  1738. data/third_party/upb/upb/json/encode.h +35 -32
  1739. data/third_party/upb/upb/lex/atoi.c +6 -26
  1740. data/third_party/upb/upb/lex/atoi.h +8 -26
  1741. data/third_party/upb/upb/lex/round_trip.c +6 -26
  1742. data/third_party/upb/upb/lex/round_trip.h +6 -26
  1743. data/third_party/upb/upb/lex/strtod.c +6 -26
  1744. data/third_party/upb/upb/lex/strtod.h +6 -26
  1745. data/third_party/upb/upb/lex/unicode.c +6 -26
  1746. data/third_party/upb/upb/lex/unicode.h +8 -26
  1747. data/third_party/upb/upb/mem/alloc.c +6 -26
  1748. data/third_party/upb/upb/mem/alloc.h +6 -26
  1749. data/third_party/upb/upb/mem/arena.c +30 -29
  1750. data/third_party/upb/upb/mem/arena.h +16 -44
  1751. data/third_party/upb/upb/mem/arena.hpp +54 -0
  1752. data/third_party/upb/upb/mem/internal/arena.h +94 -0
  1753. data/third_party/upb/upb/message/accessors.c +34 -31
  1754. data/third_party/upb/upb/message/accessors.h +58 -57
  1755. data/third_party/upb/upb/message/array.c +154 -0
  1756. data/third_party/upb/upb/message/array.h +98 -0
  1757. data/third_party/upb/upb/message/internal/accessors.h +367 -0
  1758. data/third_party/upb/upb/message/internal/array.h +138 -0
  1759. data/third_party/upb/upb/message/internal/extension.h +63 -0
  1760. data/third_party/upb/upb/message/internal/map.h +173 -0
  1761. data/third_party/upb/upb/message/internal/map_entry.h +66 -0
  1762. data/third_party/upb/upb/message/internal/map_sorter.h +112 -0
  1763. data/third_party/upb/upb/message/internal/message.h +106 -0
  1764. data/third_party/upb/upb/message/internal/types.h +23 -0
  1765. data/third_party/upb/upb/message/map.c +145 -0
  1766. data/third_party/upb/upb/message/map.h +147 -0
  1767. data/third_party/upb/upb/message/map_gencode_util.h +81 -0
  1768. data/third_party/upb/upb/message/map_sorter.c +170 -0
  1769. data/third_party/upb/upb/message/message.c +8 -34
  1770. data/third_party/upb/upb/message/message.h +10 -27
  1771. data/third_party/upb/upb/message/tagged_ptr.h +69 -0
  1772. data/third_party/upb/upb/message/types.h +15 -0
  1773. data/third_party/upb/upb/message/value.h +46 -0
  1774. data/third_party/upb/upb/mini_descriptor/build_enum.c +130 -0
  1775. data/third_party/upb/upb/mini_descriptor/build_enum.h +42 -0
  1776. data/third_party/upb/upb/mini_descriptor/decode.c +870 -0
  1777. data/third_party/upb/upb/mini_descriptor/decode.h +120 -0
  1778. data/third_party/upb/upb/mini_descriptor/internal/base92.c +26 -0
  1779. data/third_party/upb/upb/mini_descriptor/internal/base92.h +63 -0
  1780. data/third_party/upb/upb/mini_descriptor/internal/decoder.h +53 -0
  1781. data/third_party/upb/upb/mini_descriptor/internal/encode.c +323 -0
  1782. data/third_party/upb/upb/mini_descriptor/internal/encode.h +92 -0
  1783. data/third_party/upb/upb/mini_descriptor/internal/encode.hpp +118 -0
  1784. data/third_party/upb/upb/mini_descriptor/internal/modifiers.h +32 -0
  1785. data/third_party/upb/upb/mini_descriptor/internal/wire_constants.h +72 -0
  1786. data/third_party/upb/upb/mini_descriptor/link.c +122 -0
  1787. data/third_party/upb/upb/mini_descriptor/link.h +84 -0
  1788. data/third_party/upb/upb/mini_table/enum.h +38 -0
  1789. data/third_party/upb/upb/mini_table/extension.h +15 -0
  1790. data/third_party/upb/upb/mini_table/extension_registry.c +7 -27
  1791. data/third_party/upb/upb/mini_table/extension_registry.h +9 -28
  1792. data/third_party/upb/upb/mini_table/field.h +98 -0
  1793. data/third_party/upb/upb/mini_table/file.h +15 -0
  1794. data/third_party/upb/upb/mini_table/internal/enum.h +58 -0
  1795. data/third_party/upb/upb/mini_table/internal/extension.h +27 -0
  1796. data/third_party/upb/upb/mini_table/internal/field.h +114 -0
  1797. data/third_party/upb/upb/mini_table/internal/file.h +29 -0
  1798. data/third_party/upb/upb/mini_table/internal/message.c +19 -0
  1799. data/third_party/upb/upb/mini_table/internal/message.h +88 -0
  1800. data/third_party/upb/upb/mini_table/internal/sub.h +18 -0
  1801. data/third_party/upb/upb/mini_table/message.c +77 -0
  1802. data/third_party/upb/upb/mini_table/message.h +85 -0
  1803. data/third_party/upb/upb/mini_table/sub.h +15 -0
  1804. data/third_party/upb/upb/port/atomic.h +8 -26
  1805. data/third_party/upb/upb/port/def.inc +28 -29
  1806. data/third_party/upb/upb/port/undef.inc +8 -26
  1807. data/third_party/upb/upb/port/vsnprintf_compat.h +6 -26
  1808. data/third_party/upb/upb/reflection/common.h +11 -27
  1809. data/third_party/upb/upb/reflection/def.h +8 -26
  1810. data/third_party/upb/upb/reflection/def.hpp +26 -31
  1811. data/third_party/upb/upb/reflection/def_pool.c +16 -35
  1812. data/third_party/upb/upb/reflection/def_pool.h +17 -38
  1813. data/third_party/upb/upb/reflection/def_type.c +6 -26
  1814. data/third_party/upb/upb/reflection/def_type.h +6 -27
  1815. data/third_party/upb/upb/reflection/desc_state.c +7 -27
  1816. data/third_party/upb/upb/reflection/enum_def.c +19 -37
  1817. data/third_party/upb/upb/reflection/enum_def.h +13 -33
  1818. data/third_party/upb/upb/reflection/enum_reserved_range.c +9 -30
  1819. data/third_party/upb/upb/reflection/enum_reserved_range.h +6 -26
  1820. data/third_party/upb/upb/reflection/enum_value_def.c +13 -32
  1821. data/third_party/upb/upb/reflection/enum_value_def.h +8 -28
  1822. data/third_party/upb/upb/reflection/extension_range.c +9 -28
  1823. data/third_party/upb/upb/reflection/extension_range.h +6 -26
  1824. data/third_party/upb/upb/reflection/field_def.c +70 -52
  1825. data/third_party/upb/upb/reflection/field_def.h +25 -42
  1826. data/third_party/upb/upb/reflection/file_def.c +23 -48
  1827. data/third_party/upb/upb/reflection/file_def.h +10 -30
  1828. data/third_party/upb/upb/reflection/internal/def_builder.c +339 -0
  1829. data/third_party/upb/upb/reflection/internal/def_builder.h +137 -0
  1830. data/third_party/upb/upb/reflection/internal/def_pool.h +57 -0
  1831. data/third_party/upb/upb/reflection/internal/desc_state.h +44 -0
  1832. data/third_party/upb/upb/reflection/internal/enum_def.h +36 -0
  1833. data/third_party/upb/upb/reflection/internal/enum_reserved_range.h +35 -0
  1834. data/third_party/upb/upb/reflection/internal/enum_value_def.h +37 -0
  1835. data/third_party/upb/upb/reflection/internal/extension_range.h +34 -0
  1836. data/third_party/upb/upb/reflection/internal/field_def.h +56 -0
  1837. data/third_party/upb/upb/reflection/internal/file_def.h +37 -0
  1838. data/third_party/upb/upb/reflection/internal/message_def.h +43 -0
  1839. data/third_party/upb/upb/reflection/internal/message_reserved_range.h +35 -0
  1840. data/third_party/upb/upb/reflection/internal/method_def.h +33 -0
  1841. data/third_party/upb/upb/reflection/internal/oneof_def.h +37 -0
  1842. data/third_party/upb/upb/reflection/internal/service_def.h +33 -0
  1843. data/third_party/upb/upb/reflection/internal/strdup2.c +33 -0
  1844. data/third_party/upb/upb/reflection/internal/strdup2.h +32 -0
  1845. data/third_party/upb/upb/reflection/message.c +10 -30
  1846. data/third_party/upb/upb/reflection/message.h +27 -40
  1847. data/third_party/upb/upb/reflection/message.hpp +5 -23
  1848. data/third_party/upb/upb/reflection/message_def.c +73 -55
  1849. data/third_party/upb/upb/reflection/message_def.h +25 -43
  1850. data/third_party/upb/upb/reflection/message_reserved_range.c +8 -28
  1851. data/third_party/upb/upb/reflection/message_reserved_range.h +6 -26
  1852. data/third_party/upb/upb/reflection/method_def.c +10 -29
  1853. data/third_party/upb/upb/reflection/method_def.h +6 -26
  1854. data/third_party/upb/upb/reflection/oneof_def.c +15 -33
  1855. data/third_party/upb/upb/reflection/oneof_def.h +11 -30
  1856. data/third_party/upb/upb/reflection/service_def.c +12 -31
  1857. data/third_party/upb/upb/reflection/service_def.h +6 -26
  1858. data/third_party/upb/upb/text/encode.c +8 -28
  1859. data/third_party/upb/upb/text/encode.h +6 -26
  1860. data/third_party/upb/upb/wire/decode.c +106 -68
  1861. data/third_party/upb/upb/wire/decode.h +50 -26
  1862. data/third_party/upb/upb/wire/decode_fast.c +10 -28
  1863. data/third_party/upb/upb/wire/decode_fast.h +6 -26
  1864. data/third_party/upb/upb/wire/encode.c +52 -46
  1865. data/third_party/upb/upb/wire/encode.h +14 -30
  1866. data/third_party/upb/upb/wire/eps_copy_input_stream.c +6 -26
  1867. data/third_party/upb/upb/wire/eps_copy_input_stream.h +6 -26
  1868. data/third_party/upb/upb/wire/internal/constants.h +27 -0
  1869. data/third_party/upb/upb/wire/internal/decode.h +143 -0
  1870. data/third_party/upb/upb/wire/internal/swap.h +45 -0
  1871. data/third_party/upb/upb/wire/reader.c +6 -26
  1872. data/third_party/upb/upb/wire/reader.h +8 -28
  1873. data/third_party/upb/upb/wire/types.h +6 -26
  1874. data/third_party/zlib/adler32.c +5 -27
  1875. data/third_party/zlib/compress.c +5 -16
  1876. data/third_party/zlib/crc32.c +86 -162
  1877. data/third_party/zlib/deflate.c +233 -336
  1878. data/third_party/zlib/deflate.h +8 -8
  1879. data/third_party/zlib/gzguts.h +11 -12
  1880. data/third_party/zlib/infback.c +7 -23
  1881. data/third_party/zlib/inffast.c +1 -4
  1882. data/third_party/zlib/inffast.h +1 -1
  1883. data/third_party/zlib/inflate.c +30 -99
  1884. data/third_party/zlib/inftrees.c +6 -11
  1885. data/third_party/zlib/inftrees.h +3 -3
  1886. data/third_party/zlib/trees.c +224 -302
  1887. data/third_party/zlib/uncompr.c +4 -12
  1888. data/third_party/zlib/zconf.h +6 -2
  1889. data/third_party/zlib/zlib.h +191 -188
  1890. data/third_party/zlib/zutil.c +16 -44
  1891. data/third_party/zlib/zutil.h +10 -10
  1892. metadata +979 -741
  1893. data/src/core/ext/filters/client_channel/http_proxy.cc +0 -233
  1894. data/src/core/ext/filters/client_channel/http_proxy.h +0 -52
  1895. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.cc +0 -42
  1896. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.h +0 -64
  1897. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +0 -1226
  1898. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h +0 -45
  1899. data/src/core/ext/transport/chttp2/transport/stream_map.cc +0 -177
  1900. data/src/core/ext/transport/chttp2/transport/stream_map.h +0 -68
  1901. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +0 -152
  1902. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +0 -735
  1903. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +0 -183
  1904. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +0 -835
  1905. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +0 -160
  1906. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +0 -743
  1907. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.c +0 -535
  1908. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.h +0 -2796
  1909. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +0 -69
  1910. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +0 -256
  1911. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +0 -77
  1912. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +0 -287
  1913. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +0 -59
  1914. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +0 -168
  1915. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +0 -52
  1916. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +0 -128
  1917. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c +0 -52
  1918. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +0 -123
  1919. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c +0 -153
  1920. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +0 -935
  1921. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +0 -57
  1922. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +0 -122
  1923. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +0 -63
  1924. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +0 -134
  1925. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +0 -60
  1926. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +0 -118
  1927. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +0 -357
  1928. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +0 -1629
  1929. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +0 -572
  1930. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +0 -3257
  1931. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +0 -128
  1932. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +0 -532
  1933. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +0 -732
  1934. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +0 -3926
  1935. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +0 -57
  1936. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +0 -122
  1937. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +0 -126
  1938. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +0 -664
  1939. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +0 -398
  1940. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +0 -1849
  1941. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +0 -227
  1942. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +0 -1054
  1943. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +0 -58
  1944. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +0 -134
  1945. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +0 -580
  1946. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +0 -2448
  1947. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +0 -235
  1948. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +0 -1180
  1949. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +0 -54
  1950. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +0 -115
  1951. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +0 -56
  1952. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +0 -122
  1953. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +0 -71
  1954. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +0 -256
  1955. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +0 -376
  1956. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +0 -1678
  1957. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +0 -314
  1958. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +0 -1886
  1959. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +0 -58
  1960. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +0 -149
  1961. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +0 -465
  1962. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +0 -2222
  1963. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +0 -73
  1964. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +0 -245
  1965. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +0 -75
  1966. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +0 -239
  1967. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +0 -79
  1968. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +0 -293
  1969. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +0 -69
  1970. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +0 -260
  1971. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +0 -57
  1972. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +0 -136
  1973. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +0 -141
  1974. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +0 -498
  1975. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +0 -207
  1976. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +0 -875
  1977. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +0 -182
  1978. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +0 -920
  1979. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +0 -53
  1980. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +0 -107
  1981. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +0 -269
  1982. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +0 -1600
  1983. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +0 -263
  1984. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +0 -1459
  1985. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +0 -89
  1986. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +0 -331
  1987. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +0 -80
  1988. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +0 -204
  1989. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +0 -66
  1990. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +0 -166
  1991. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +0 -222
  1992. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +0 -988
  1993. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +0 -229
  1994. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +0 -1017
  1995. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +0 -351
  1996. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +0 -1717
  1997. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +0 -136
  1998. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +0 -867
  1999. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +0 -1646
  2000. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +0 -9598
  2001. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +0 -100
  2002. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +0 -347
  2003. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +0 -328
  2004. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +0 -1530
  2005. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +0 -54
  2006. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +0 -123
  2007. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +0 -58
  2008. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +0 -122
  2009. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +0 -76
  2010. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +0 -196
  2011. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +0 -65
  2012. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +0 -205
  2013. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +0 -84
  2014. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +0 -413
  2015. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.c +0 -55
  2016. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.h +0 -122
  2017. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +0 -54
  2018. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +0 -107
  2019. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +0 -88
  2020. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +0 -259
  2021. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +0 -36
  2022. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +0 -48
  2023. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +0 -90
  2024. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +0 -261
  2025. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +0 -68
  2026. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +0 -204
  2027. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +0 -49
  2028. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +0 -139
  2029. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +0 -119
  2030. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +0 -437
  2031. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +0 -125
  2032. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +0 -635
  2033. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +0 -90
  2034. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +0 -271
  2035. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +0 -79
  2036. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +0 -358
  2037. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c +0 -75
  2038. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +0 -201
  2039. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +0 -656
  2040. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +0 -3850
  2041. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c +0 -53
  2042. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +0 -107
  2043. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.c +0 -69
  2044. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +0 -246
  2045. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.c +0 -138
  2046. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +0 -499
  2047. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c +0 -71
  2048. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +0 -257
  2049. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c +0 -53
  2050. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +0 -107
  2051. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +0 -31
  2052. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +0 -43
  2053. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +0 -265
  2054. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +0 -1479
  2055. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +0 -111
  2056. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +0 -369
  2057. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +0 -270
  2058. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +0 -1482
  2059. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +0 -75
  2060. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +0 -224
  2061. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +0 -41
  2062. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +0 -78
  2063. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +0 -405
  2064. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +0 -2161
  2065. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +0 -87
  2066. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +0 -331
  2067. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +0 -185
  2068. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +0 -923
  2069. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +0 -57
  2070. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +0 -137
  2071. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +0 -89
  2072. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +0 -321
  2073. data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.c +0 -56
  2074. data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.h +0 -130
  2075. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +0 -108
  2076. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +0 -309
  2077. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +0 -79
  2078. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +0 -266
  2079. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +0 -58
  2080. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +0 -172
  2081. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +0 -57
  2082. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +0 -135
  2083. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +0 -54
  2084. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +0 -115
  2085. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +0 -99
  2086. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +0 -277
  2087. data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.c +0 -46
  2088. data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.h +0 -117
  2089. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +0 -84
  2090. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +0 -312
  2091. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +0 -73
  2092. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +0 -236
  2093. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +0 -95
  2094. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +0 -354
  2095. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +0 -130
  2096. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +0 -536
  2097. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +0 -142
  2098. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +0 -516
  2099. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +0 -79
  2100. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +0 -234
  2101. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +0 -29
  2102. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +0 -44
  2103. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +0 -49
  2104. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +0 -153
  2105. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +0 -67
  2106. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +0 -168
  2107. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +0 -87
  2108. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +0 -246
  2109. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.c +0 -78
  2110. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.h +0 -237
  2111. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.c +0 -29
  2112. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.h +0 -48
  2113. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +0 -52
  2114. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +0 -123
  2115. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c +0 -60
  2116. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +0 -151
  2117. data/src/core/ext/upb-generated/google/api/annotations.upb.c +0 -43
  2118. data/src/core/ext/upb-generated/google/api/annotations.upb.h +0 -63
  2119. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +0 -372
  2120. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +0 -1764
  2121. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +0 -402
  2122. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +0 -1849
  2123. data/src/core/ext/upb-generated/google/api/http.upb.c +0 -114
  2124. data/src/core/ext/upb-generated/google/api/http.upb.h +0 -507
  2125. data/src/core/ext/upb-generated/google/api/httpbody.upb.c +0 -55
  2126. data/src/core/ext/upb-generated/google/api/httpbody.upb.h +0 -173
  2127. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +0 -49
  2128. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +0 -108
  2129. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +0 -1172
  2130. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +0 -5656
  2131. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +0 -49
  2132. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +0 -108
  2133. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +0 -38
  2134. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +0 -78
  2135. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +0 -118
  2136. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +0 -434
  2137. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +0 -49
  2138. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +0 -108
  2139. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +0 -166
  2140. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +0 -525
  2141. data/src/core/ext/upb-generated/google/rpc/status.upb.c +0 -55
  2142. data/src/core/ext/upb-generated/google/rpc/status.upb.h +0 -173
  2143. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +0 -109
  2144. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +0 -397
  2145. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +0 -82
  2146. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +0 -246
  2147. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +0 -345
  2148. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +0 -1677
  2149. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +0 -72
  2150. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +0 -207
  2151. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +0 -61
  2152. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +0 -154
  2153. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +0 -224
  2154. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +0 -893
  2155. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +0 -95
  2156. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +0 -308
  2157. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +0 -246
  2158. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +0 -1349
  2159. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +0 -129
  2160. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +0 -341
  2161. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +0 -64
  2162. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +0 -133
  2163. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +0 -41
  2164. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +0 -63
  2165. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +0 -63
  2166. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +0 -140
  2167. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +0 -60
  2168. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +0 -118
  2169. data/src/core/ext/upb-generated/validate/validate.upb.c +0 -950
  2170. data/src/core/ext/upb-generated/validate/validate.upb.h +0 -6544
  2171. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +0 -129
  2172. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +0 -341
  2173. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +0 -64
  2174. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +0 -133
  2175. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c +0 -41
  2176. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h +0 -63
  2177. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +0 -126
  2178. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +0 -352
  2179. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +0 -60
  2180. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +0 -118
  2181. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +0 -48
  2182. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +0 -93
  2183. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.c +0 -56
  2184. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.h +0 -122
  2185. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +0 -81
  2186. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +0 -241
  2187. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +0 -65
  2188. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +0 -142
  2189. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +0 -55
  2190. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +0 -122
  2191. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +0 -58
  2192. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +0 -151
  2193. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +0 -87
  2194. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +0 -338
  2195. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +0 -62
  2196. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +0 -152
  2197. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +0 -129
  2198. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +0 -360
  2199. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c +0 -55
  2200. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h +0 -168
  2201. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.c +0 -53
  2202. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.h +0 -107
  2203. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.c +0 -75
  2204. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.h +0 -270
  2205. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.c +0 -39
  2206. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.h +0 -78
  2207. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.c +0 -78
  2208. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.h +0 -289
  2209. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +0 -268
  2210. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +0 -1122
  2211. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.c +0 -160
  2212. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.h +0 -740
  2213. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +0 -61
  2214. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +0 -167
  2215. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +0 -82
  2216. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +0 -312
  2217. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.c +0 -82
  2218. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.h +0 -240
  2219. data/src/core/ext/upb-generated/xds/type/v3/range.upb.c +0 -85
  2220. data/src/core/ext/upb-generated/xds/type/v3/range.upb.h +0 -246
  2221. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +0 -54
  2222. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +0 -122
  2223. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.c +0 -84
  2224. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.h +0 -56
  2225. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.c +0 -128
  2226. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.h +0 -51
  2227. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +0 -102
  2228. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +0 -56
  2229. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.c +0 -277
  2230. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.h +0 -126
  2231. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.c +0 -43
  2232. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.h +0 -41
  2233. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +0 -56
  2234. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.h +0 -41
  2235. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.c +0 -49
  2236. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.h +0 -36
  2237. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.c +0 -46
  2238. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.h +0 -36
  2239. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.c +0 -46
  2240. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.h +0 -36
  2241. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.c +0 -142
  2242. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.h +0 -41
  2243. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.c +0 -51
  2244. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.h +0 -36
  2245. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +0 -48
  2246. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h +0 -31
  2247. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +0 -38
  2248. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h +0 -36
  2249. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +0 -222
  2250. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +0 -106
  2251. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +0 -408
  2252. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +0 -121
  2253. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +0 -98
  2254. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +0 -46
  2255. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +0 -567
  2256. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +0 -151
  2257. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +0 -51
  2258. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h +0 -36
  2259. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +0 -138
  2260. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h +0 -36
  2261. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.c +0 -206
  2262. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.h +0 -106
  2263. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +0 -132
  2264. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +0 -71
  2265. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +0 -54
  2266. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h +0 -36
  2267. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +0 -271
  2268. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +0 -151
  2269. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +0 -169
  2270. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +0 -71
  2271. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +0 -53
  2272. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h +0 -36
  2273. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +0 -47
  2274. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +0 -36
  2275. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.c +0 -53
  2276. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.h +0 -41
  2277. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +0 -235
  2278. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h +0 -101
  2279. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +0 -234
  2280. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +0 -76
  2281. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +0 -53
  2282. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h +0 -36
  2283. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +0 -305
  2284. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +0 -111
  2285. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +0 -57
  2286. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +0 -41
  2287. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +0 -55
  2288. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h +0 -41
  2289. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +0 -61
  2290. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +0 -41
  2291. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +0 -70
  2292. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h +0 -36
  2293. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +0 -49
  2294. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h +0 -36
  2295. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +0 -99
  2296. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h +0 -51
  2297. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +0 -133
  2298. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +0 -61
  2299. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +0 -136
  2300. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h +0 -56
  2301. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +0 -48
  2302. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h +0 -36
  2303. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +0 -227
  2304. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +0 -81
  2305. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +0 -190
  2306. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h +0 -66
  2307. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +0 -101
  2308. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h +0 -36
  2309. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +0 -71
  2310. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h +0 -41
  2311. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c +0 -69
  2312. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.h +0 -36
  2313. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +0 -125
  2314. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +0 -71
  2315. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +0 -134
  2316. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +0 -76
  2317. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +0 -223
  2318. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +0 -86
  2319. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +0 -123
  2320. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +0 -46
  2321. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +0 -972
  2322. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +0 -316
  2323. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +0 -77
  2324. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h +0 -46
  2325. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +0 -199
  2326. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +0 -91
  2327. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.c +0 -56
  2328. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.h +0 -36
  2329. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.c +0 -57
  2330. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.h +0 -36
  2331. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +0 -57
  2332. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h +0 -41
  2333. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.c +0 -72
  2334. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.h +0 -36
  2335. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.c +0 -99
  2336. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.h +0 -36
  2337. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.c +0 -45
  2338. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.h +0 -36
  2339. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.c +0 -52
  2340. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.h +0 -36
  2341. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.c +0 -71
  2342. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.h +0 -41
  2343. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +0 -61
  2344. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.h +0 -31
  2345. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.c +0 -75
  2346. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.h +0 -41
  2347. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c +0 -79
  2348. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.h +0 -36
  2349. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +0 -50
  2350. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +0 -36
  2351. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +0 -92
  2352. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +0 -56
  2353. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +0 -117
  2354. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +0 -46
  2355. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +0 -80
  2356. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +0 -41
  2357. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +0 -89
  2358. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +0 -36
  2359. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +0 -60
  2360. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +0 -41
  2361. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +0 -580
  2362. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +0 -131
  2363. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +0 -50
  2364. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +0 -36
  2365. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +0 -48
  2366. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +0 -31
  2367. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +0 -215
  2368. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +0 -66
  2369. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +0 -91
  2370. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +0 -46
  2371. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +0 -258
  2372. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +0 -66
  2373. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +0 -58
  2374. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +0 -41
  2375. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +0 -58
  2376. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h +0 -36
  2377. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +0 -200
  2378. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +0 -101
  2379. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +0 -76
  2380. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h +0 -41
  2381. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +0 -152
  2382. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +0 -56
  2383. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.c +0 -46
  2384. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.h +0 -36
  2385. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +0 -56
  2386. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h +0 -51
  2387. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.c +0 -48
  2388. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.h +0 -36
  2389. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.c +0 -55
  2390. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.h +0 -56
  2391. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +0 -61
  2392. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h +0 -41
  2393. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +0 -54
  2394. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +0 -36
  2395. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +0 -52
  2396. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h +0 -36
  2397. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +0 -51
  2398. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h +0 -36
  2399. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +0 -71
  2400. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h +0 -46
  2401. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.c +0 -40
  2402. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.h +0 -41
  2403. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +0 -65
  2404. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h +0 -41
  2405. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +0 -58
  2406. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +0 -41
  2407. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +0 -75
  2408. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h +0 -46
  2409. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +0 -78
  2410. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h +0 -66
  2411. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +0 -85
  2412. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h +0 -56
  2413. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.c +0 -53
  2414. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.h +0 -46
  2415. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +0 -36
  2416. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h +0 -31
  2417. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.c +0 -94
  2418. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.h +0 -36
  2419. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +0 -54
  2420. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h +0 -41
  2421. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +0 -48
  2422. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h +0 -46
  2423. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.c +0 -69
  2424. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.h +0 -41
  2425. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.c +0 -39
  2426. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.h +0 -31
  2427. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +0 -44
  2428. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h +0 -36
  2429. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.c +0 -57
  2430. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.h +0 -36
  2431. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +0 -40
  2432. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h +0 -31
  2433. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.c +0 -154
  2434. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.h +0 -96
  2435. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.c +0 -153
  2436. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.h +0 -101
  2437. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +0 -52
  2438. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h +0 -46
  2439. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.c +0 -39
  2440. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.h +0 -36
  2441. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +0 -34
  2442. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h +0 -36
  2443. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +0 -387
  2444. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h +0 -171
  2445. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +0 -35
  2446. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h +0 -36
  2447. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +0 -32
  2448. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h +0 -36
  2449. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +0 -54
  2450. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h +0 -51
  2451. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +0 -35
  2452. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h +0 -36
  2453. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +0 -45
  2454. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h +0 -76
  2455. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +0 -37
  2456. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h +0 -36
  2457. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.c +0 -67
  2458. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.h +0 -51
  2459. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +0 -99
  2460. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +0 -76
  2461. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +0 -62
  2462. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h +0 -46
  2463. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +0 -47
  2464. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h +0 -36
  2465. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +0 -34
  2466. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h +0 -31
  2467. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +0 -46
  2468. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h +0 -36
  2469. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +0 -39
  2470. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h +0 -36
  2471. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +0 -283
  2472. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h +0 -146
  2473. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.c +0 -63
  2474. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.h +0 -46
  2475. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.c +0 -47
  2476. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.h +0 -36
  2477. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.c +0 -35
  2478. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.h +0 -31
  2479. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +0 -64
  2480. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +0 -51
  2481. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.c +0 -40
  2482. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.h +0 -36
  2483. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +0 -38
  2484. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +0 -36
  2485. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.c +0 -45
  2486. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.h +0 -36
  2487. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +0 -56
  2488. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +0 -41
  2489. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +0 -39
  2490. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +0 -41
  2491. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.c +0 -41
  2492. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.h +0 -36
  2493. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +0 -45
  2494. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +0 -36
  2495. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +0 -61
  2496. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +0 -41
  2497. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +0 -46
  2498. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +0 -36
  2499. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.c +0 -43
  2500. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.h +0 -36
  2501. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.c +0 -51
  2502. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.h +0 -41
  2503. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.c +0 -36
  2504. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.h +0 -36
  2505. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.c +0 -55
  2506. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.h +0 -41
  2507. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c +0 -126
  2508. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.h +0 -81
  2509. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.c +0 -71
  2510. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.h +0 -61
  2511. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.c +0 -40
  2512. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.h +0 -41
  2513. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.c +0 -52
  2514. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.h +0 -41
  2515. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.c +0 -60
  2516. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.h +0 -41
  2517. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.c +0 -36
  2518. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.h +0 -46
  2519. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +0 -37
  2520. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +0 -36
  2521. data/src/core/lib/event_engine/memory_allocator.cc +0 -74
  2522. data/src/core/lib/event_engine/thread_pool/original_thread_pool.cc +0 -256
  2523. data/src/core/lib/event_engine/thread_pool/original_thread_pool.h +0 -137
  2524. data/src/core/lib/promise/detail/basic_join.h +0 -197
  2525. data/src/core/lib/promise/detail/switch.h +0 -1455
  2526. data/src/core/lib/resolver/server_address.cc +0 -174
  2527. data/src/core/lib/transport/pid_controller.cc +0 -51
  2528. data/src/core/lib/transport/pid_controller.h +0 -116
  2529. data/src/core/lib/transport/transport_impl.h +0 -102
  2530. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +0 -403
  2531. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_freebsd.c +0 -62
  2532. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm.c +0 -38
  2533. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_openbsd.c +0 -31
  2534. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/fuchsia.c +0 -34
  2535. data/third_party/boringssl-with-bazel/src/crypto/refcount_c11.c +0 -65
  2536. data/third_party/boringssl-with-bazel/src/crypto/refcount_no_threads.c +0 -42
  2537. data/third_party/boringssl-with-bazel/src/crypto/refcount_win.c +0 -89
  2538. data/third_party/re2/util/benchmark.h +0 -156
  2539. data/third_party/re2/util/flags.h +0 -26
  2540. data/third_party/re2/util/malloc_counter.h +0 -19
  2541. data/third_party/re2/util/pcre.cc +0 -1025
  2542. data/third_party/re2/util/pcre.h +0 -681
  2543. data/third_party/re2/util/test.h +0 -50
  2544. data/third_party/upb/upb/alloc.h +0 -36
  2545. data/third_party/upb/upb/arena.h +0 -36
  2546. data/third_party/upb/upb/array.h +0 -36
  2547. data/third_party/upb/upb/base/log2.h +0 -57
  2548. data/third_party/upb/upb/collections/array.c +0 -145
  2549. data/third_party/upb/upb/collections/array.h +0 -85
  2550. data/third_party/upb/upb/collections/array_internal.h +0 -135
  2551. data/third_party/upb/upb/collections/map.c +0 -135
  2552. data/third_party/upb/upb/collections/map.h +0 -135
  2553. data/third_party/upb/upb/collections/map_gencode_util.h +0 -78
  2554. data/third_party/upb/upb/collections/map_internal.h +0 -170
  2555. data/third_party/upb/upb/collections/map_sorter.c +0 -166
  2556. data/third_party/upb/upb/collections/map_sorter_internal.h +0 -109
  2557. data/third_party/upb/upb/collections/message_value.h +0 -65
  2558. data/third_party/upb/upb/decode.h +0 -36
  2559. data/third_party/upb/upb/def.h +0 -36
  2560. data/third_party/upb/upb/def.hpp +0 -33
  2561. data/third_party/upb/upb/encode.h +0 -36
  2562. data/third_party/upb/upb/extension_registry.h +0 -35
  2563. data/third_party/upb/upb/json_decode.h +0 -36
  2564. data/third_party/upb/upb/json_encode.h +0 -36
  2565. data/third_party/upb/upb/map.h +0 -36
  2566. data/third_party/upb/upb/mem/arena_internal.h +0 -114
  2567. data/third_party/upb/upb/message/accessors_internal.h +0 -325
  2568. data/third_party/upb/upb/message/extension_internal.h +0 -83
  2569. data/third_party/upb/upb/message/internal.h +0 -135
  2570. data/third_party/upb/upb/mini_table/common.c +0 -128
  2571. data/third_party/upb/upb/mini_table/common.h +0 -170
  2572. data/third_party/upb/upb/mini_table/common_internal.h +0 -111
  2573. data/third_party/upb/upb/mini_table/decode.c +0 -1127
  2574. data/third_party/upb/upb/mini_table/decode.h +0 -179
  2575. data/third_party/upb/upb/mini_table/encode.c +0 -300
  2576. data/third_party/upb/upb/mini_table/encode_internal.h +0 -111
  2577. data/third_party/upb/upb/mini_table/encode_internal.hpp +0 -136
  2578. data/third_party/upb/upb/mini_table/enum_internal.h +0 -88
  2579. data/third_party/upb/upb/mini_table/extension_internal.h +0 -47
  2580. data/third_party/upb/upb/mini_table/field_internal.h +0 -192
  2581. data/third_party/upb/upb/mini_table/file_internal.h +0 -47
  2582. data/third_party/upb/upb/mini_table/message_internal.h +0 -136
  2583. data/third_party/upb/upb/mini_table/sub_internal.h +0 -38
  2584. data/third_party/upb/upb/mini_table/types.h +0 -40
  2585. data/third_party/upb/upb/mini_table.h +0 -36
  2586. data/third_party/upb/upb/msg.h +0 -36
  2587. data/third_party/upb/upb/reflection/def_builder.c +0 -357
  2588. data/third_party/upb/upb/reflection/def_builder_internal.h +0 -157
  2589. data/third_party/upb/upb/reflection/def_pool_internal.h +0 -77
  2590. data/third_party/upb/upb/reflection/desc_state_internal.h +0 -64
  2591. data/third_party/upb/upb/reflection/enum_def_internal.h +0 -56
  2592. data/third_party/upb/upb/reflection/enum_reserved_range_internal.h +0 -55
  2593. data/third_party/upb/upb/reflection/enum_value_def_internal.h +0 -57
  2594. data/third_party/upb/upb/reflection/extension_range_internal.h +0 -54
  2595. data/third_party/upb/upb/reflection/field_def_internal.h +0 -76
  2596. data/third_party/upb/upb/reflection/file_def_internal.h +0 -57
  2597. data/third_party/upb/upb/reflection/message_def_internal.h +0 -63
  2598. data/third_party/upb/upb/reflection/message_reserved_range_internal.h +0 -55
  2599. data/third_party/upb/upb/reflection/method_def_internal.h +0 -53
  2600. data/third_party/upb/upb/reflection/oneof_def_internal.h +0 -57
  2601. data/third_party/upb/upb/reflection/service_def_internal.h +0 -53
  2602. data/third_party/upb/upb/reflection.h +0 -36
  2603. data/third_party/upb/upb/reflection.hpp +0 -33
  2604. data/third_party/upb/upb/status.h +0 -36
  2605. data/third_party/upb/upb/string_view.h +0 -36
  2606. data/third_party/upb/upb/text_encode.h +0 -36
  2607. data/third_party/upb/upb/upb.h +0 -39
  2608. data/third_party/upb/upb/upb.hpp +0 -107
  2609. data/third_party/upb/upb/wire/common.h +0 -44
  2610. data/third_party/upb/upb/wire/common_internal.h +0 -50
  2611. data/third_party/upb/upb/wire/decode_internal.h +0 -163
  2612. data/third_party/upb/upb/wire/swap_internal.h +0 -63
  2613. data/third_party/zlib/gzclose.c +0 -25
  2614. data/third_party/zlib/gzlib.c +0 -639
  2615. data/third_party/zlib/gzread.c +0 -650
  2616. data/third_party/zlib/gzwrite.c +0 -677
@@ -35,10 +35,9 @@
35
35
 
36
36
  #include <algorithm>
37
37
  #include <atomic>
38
- #include <cinttypes>
39
38
  #include <cstddef>
39
+ #include <cstdlib>
40
40
  #include <cstring>
41
- #include <iterator>
42
41
  #include <thread> // NOLINT(build/c++11)
43
42
 
44
43
  #include "absl/base/attributes.h"
@@ -55,7 +54,6 @@
55
54
  #include "absl/base/internal/thread_identity.h"
56
55
  #include "absl/base/internal/tsan_mutex_interface.h"
57
56
  #include "absl/base/optimization.h"
58
- #include "absl/base/port.h"
59
57
  #include "absl/debugging/stacktrace.h"
60
58
  #include "absl/debugging/symbolize.h"
61
59
  #include "absl/synchronization/internal/graphcycles.h"
@@ -63,6 +61,7 @@
63
61
  #include "absl/time/time.h"
64
62
 
65
63
  using absl::base_internal::CurrentThreadIdentityIfPresent;
64
+ using absl::base_internal::CycleClock;
66
65
  using absl::base_internal::PerThreadSynch;
67
66
  using absl::base_internal::SchedulingGuard;
68
67
  using absl::base_internal::ThreadIdentity;
@@ -98,18 +97,15 @@ ABSL_INTERNAL_ATOMIC_HOOK_ATTRIBUTES
98
97
  absl::base_internal::AtomicHook<void (*)(int64_t wait_cycles)>
99
98
  submit_profile_data;
100
99
  ABSL_INTERNAL_ATOMIC_HOOK_ATTRIBUTES absl::base_internal::AtomicHook<void (*)(
101
- const char *msg, const void *obj, int64_t wait_cycles)>
100
+ const char* msg, const void* obj, int64_t wait_cycles)>
102
101
  mutex_tracer;
103
102
  ABSL_INTERNAL_ATOMIC_HOOK_ATTRIBUTES
104
- absl::base_internal::AtomicHook<void (*)(const char *msg, const void *cv)>
105
- cond_var_tracer;
106
- ABSL_INTERNAL_ATOMIC_HOOK_ATTRIBUTES absl::base_internal::AtomicHook<
107
- bool (*)(const void *pc, char *out, int out_size)>
108
- symbolizer(absl::Symbolize);
103
+ absl::base_internal::AtomicHook<void (*)(const char* msg, const void* cv)>
104
+ cond_var_tracer;
109
105
 
110
106
  } // namespace
111
107
 
112
- static inline bool EvalConditionAnnotated(const Condition *cond, Mutex *mu,
108
+ static inline bool EvalConditionAnnotated(const Condition* cond, Mutex* mu,
113
109
  bool locking, bool trylock,
114
110
  bool read_lock);
115
111
 
@@ -117,19 +113,15 @@ void RegisterMutexProfiler(void (*fn)(int64_t wait_cycles)) {
117
113
  submit_profile_data.Store(fn);
118
114
  }
119
115
 
120
- void RegisterMutexTracer(void (*fn)(const char *msg, const void *obj,
116
+ void RegisterMutexTracer(void (*fn)(const char* msg, const void* obj,
121
117
  int64_t wait_cycles)) {
122
118
  mutex_tracer.Store(fn);
123
119
  }
124
120
 
125
- void RegisterCondVarTracer(void (*fn)(const char *msg, const void *cv)) {
121
+ void RegisterCondVarTracer(void (*fn)(const char* msg, const void* cv)) {
126
122
  cond_var_tracer.Store(fn);
127
123
  }
128
124
 
129
- void RegisterSymbolizer(bool (*fn)(const void *pc, char *out, int out_size)) {
130
- symbolizer.Store(fn);
131
- }
132
-
133
125
  namespace {
134
126
  // Represents the strategy for spin and yield.
135
127
  // See the comment in GetMutexGlobals() for more information.
@@ -148,25 +140,24 @@ absl::Duration MeasureTimeToYield() {
148
140
  return absl::Now() - before;
149
141
  }
150
142
 
151
- const MutexGlobals &GetMutexGlobals() {
143
+ const MutexGlobals& GetMutexGlobals() {
152
144
  ABSL_CONST_INIT static MutexGlobals data;
153
145
  absl::base_internal::LowLevelCallOnce(&data.once, [&]() {
154
- const int num_cpus = absl::base_internal::NumCPUs();
155
- data.spinloop_iterations = num_cpus > 1 ? 1500 : 0;
156
- // If this a uniprocessor, only yield/sleep.
157
- // Real-time threads are often unable to yield, so the sleep time needs
158
- // to be long enough to keep the calling thread asleep until scheduling
159
- // happens.
160
- // If this is multiprocessor, allow spinning. If the mode is
161
- // aggressive then spin many times before yielding. If the mode is
162
- // gentle then spin only a few times before yielding. Aggressive spinning
163
- // is used to ensure that an Unlock() call, which must get the spin lock
164
- // for any thread to make progress gets it without undue delay.
165
- if (num_cpus > 1) {
146
+ if (absl::base_internal::NumCPUs() > 1) {
147
+ // If this is multiprocessor, allow spinning. If the mode is
148
+ // aggressive then spin many times before yielding. If the mode is
149
+ // gentle then spin only a few times before yielding. Aggressive spinning
150
+ // is used to ensure that an Unlock() call, which must get the spin lock
151
+ // for any thread to make progress gets it without undue delay.
152
+ data.spinloop_iterations = 1500;
166
153
  data.mutex_sleep_spins[AGGRESSIVE] = 5000;
167
154
  data.mutex_sleep_spins[GENTLE] = 250;
168
155
  data.mutex_sleep_time = absl::Microseconds(10);
169
156
  } else {
157
+ // If this a uniprocessor, only yield/sleep. Real-time threads are often
158
+ // unable to yield, so the sleep time needs to be long enough to keep
159
+ // the calling thread asleep until scheduling happens.
160
+ data.spinloop_iterations = 0;
170
161
  data.mutex_sleep_spins[AGGRESSIVE] = 0;
171
162
  data.mutex_sleep_spins[GENTLE] = 0;
172
163
  data.mutex_sleep_time = MeasureTimeToYield() * 5;
@@ -219,8 +210,7 @@ static void AtomicSetBits(std::atomic<intptr_t>* pv, intptr_t bits,
219
210
  v = pv->load(std::memory_order_relaxed);
220
211
  } while ((v & bits) != bits &&
221
212
  ((v & wait_until_clear) != 0 ||
222
- !pv->compare_exchange_weak(v, v | bits,
223
- std::memory_order_release,
213
+ !pv->compare_exchange_weak(v, v | bits, std::memory_order_release,
224
214
  std::memory_order_relaxed)));
225
215
  }
226
216
 
@@ -235,8 +225,7 @@ static void AtomicClearBits(std::atomic<intptr_t>* pv, intptr_t bits,
235
225
  v = pv->load(std::memory_order_relaxed);
236
226
  } while ((v & bits) != 0 &&
237
227
  ((v & wait_until_clear) != 0 ||
238
- !pv->compare_exchange_weak(v, v & ~bits,
239
- std::memory_order_release,
228
+ !pv->compare_exchange_weak(v, v & ~bits, std::memory_order_release,
240
229
  std::memory_order_relaxed)));
241
230
  }
242
231
 
@@ -247,7 +236,7 @@ ABSL_CONST_INIT static absl::base_internal::SpinLock deadlock_graph_mu(
247
236
  absl::kConstInit, base_internal::SCHEDULE_KERNEL_ONLY);
248
237
 
249
238
  // Graph used to detect deadlocks.
250
- ABSL_CONST_INIT static GraphCycles *deadlock_graph
239
+ ABSL_CONST_INIT static GraphCycles* deadlock_graph
251
240
  ABSL_GUARDED_BY(deadlock_graph_mu) ABSL_PT_GUARDED_BY(deadlock_graph_mu);
252
241
 
253
242
  //------------------------------------------------------------------
@@ -291,7 +280,7 @@ enum { // Event flags
291
280
  // Properties of the events.
292
281
  static const struct {
293
282
  int flags;
294
- const char *msg;
283
+ const char* msg;
295
284
  } event_properties[] = {
296
285
  {SYNCH_F_LCK_W | SYNCH_F_TRY, "TryLock succeeded "},
297
286
  {0, "TryLock failed "},
@@ -316,12 +305,12 @@ ABSL_CONST_INIT static absl::base_internal::SpinLock synch_event_mu(
316
305
  // Can't be too small, as it's used for deadlock detection information.
317
306
  static constexpr uint32_t kNSynchEvent = 1031;
318
307
 
319
- static struct SynchEvent { // this is a trivial hash table for the events
308
+ static struct SynchEvent { // this is a trivial hash table for the events
320
309
  // struct is freed when refcount reaches 0
321
310
  int refcount ABSL_GUARDED_BY(synch_event_mu);
322
311
 
323
312
  // buckets have linear, 0-terminated chains
324
- SynchEvent *next ABSL_GUARDED_BY(synch_event_mu);
313
+ SynchEvent* next ABSL_GUARDED_BY(synch_event_mu);
325
314
 
326
315
  // Constant after initialization
327
316
  uintptr_t masked_addr; // object at this address is called "name"
@@ -329,13 +318,13 @@ static struct SynchEvent { // this is a trivial hash table for the events
329
318
  // No explicit synchronization used. Instead we assume that the
330
319
  // client who enables/disables invariants/logging on a Mutex does so
331
320
  // while the Mutex is not being concurrently accessed by others.
332
- void (*invariant)(void *arg); // called on each event
333
- void *arg; // first arg to (*invariant)()
334
- bool log; // logging turned on
321
+ void (*invariant)(void* arg); // called on each event
322
+ void* arg; // first arg to (*invariant)()
323
+ bool log; // logging turned on
335
324
 
336
325
  // Constant after initialization
337
- char name[1]; // actually longer---NUL-terminated string
338
- } * synch_event[kNSynchEvent] ABSL_GUARDED_BY(synch_event_mu);
326
+ char name[1]; // actually longer---NUL-terminated string
327
+ }* synch_event[kNSynchEvent] ABSL_GUARDED_BY(synch_event_mu);
339
328
 
340
329
  // Ensure that the object at "addr" has a SynchEvent struct associated with it,
341
330
  // set "bits" in the word there (waiting until lockbit is clear before doing
@@ -344,11 +333,11 @@ static struct SynchEvent { // this is a trivial hash table for the events
344
333
  // the string name is copied into it.
345
334
  // When used with a mutex, the caller should also ensure that kMuEvent
346
335
  // is set in the mutex word, and similarly for condition variables and kCVEvent.
347
- static SynchEvent *EnsureSynchEvent(std::atomic<intptr_t> *addr,
348
- const char *name, intptr_t bits,
336
+ static SynchEvent* EnsureSynchEvent(std::atomic<intptr_t>* addr,
337
+ const char* name, intptr_t bits,
349
338
  intptr_t lockbit) {
350
339
  uint32_t h = reinterpret_cast<uintptr_t>(addr) % kNSynchEvent;
351
- SynchEvent *e;
340
+ SynchEvent* e;
352
341
  // first look for existing SynchEvent struct..
353
342
  synch_event_mu.Lock();
354
343
  for (e = synch_event[h];
@@ -360,9 +349,9 @@ static SynchEvent *EnsureSynchEvent(std::atomic<intptr_t> *addr,
360
349
  name = "";
361
350
  }
362
351
  size_t l = strlen(name);
363
- e = reinterpret_cast<SynchEvent *>(
352
+ e = reinterpret_cast<SynchEvent*>(
364
353
  base_internal::LowLevelAlloc::Alloc(sizeof(*e) + l));
365
- e->refcount = 2; // one for return value, one for linked list
354
+ e->refcount = 2; // one for return value, one for linked list
366
355
  e->masked_addr = base_internal::HidePtr(addr);
367
356
  e->invariant = nullptr;
368
357
  e->arg = nullptr;
@@ -372,19 +361,19 @@ static SynchEvent *EnsureSynchEvent(std::atomic<intptr_t> *addr,
372
361
  AtomicSetBits(addr, bits, lockbit);
373
362
  synch_event[h] = e;
374
363
  } else {
375
- e->refcount++; // for return value
364
+ e->refcount++; // for return value
376
365
  }
377
366
  synch_event_mu.Unlock();
378
367
  return e;
379
368
  }
380
369
 
381
370
  // Deallocate the SynchEvent *e, whose refcount has fallen to zero.
382
- static void DeleteSynchEvent(SynchEvent *e) {
371
+ static void DeleteSynchEvent(SynchEvent* e) {
383
372
  base_internal::LowLevelAlloc::Free(e);
384
373
  }
385
374
 
386
375
  // Decrement the reference count of *e, or do nothing if e==null.
387
- static void UnrefSynchEvent(SynchEvent *e) {
376
+ static void UnrefSynchEvent(SynchEvent* e) {
388
377
  if (e != nullptr) {
389
378
  synch_event_mu.Lock();
390
379
  bool del = (--(e->refcount) == 0);
@@ -398,11 +387,11 @@ static void UnrefSynchEvent(SynchEvent *e) {
398
387
  // Forget the mapping from the object (Mutex or CondVar) at address addr
399
388
  // to SynchEvent object, and clear "bits" in its word (waiting until lockbit
400
389
  // is clear before doing so).
401
- static void ForgetSynchEvent(std::atomic<intptr_t> *addr, intptr_t bits,
390
+ static void ForgetSynchEvent(std::atomic<intptr_t>* addr, intptr_t bits,
402
391
  intptr_t lockbit) {
403
392
  uint32_t h = reinterpret_cast<uintptr_t>(addr) % kNSynchEvent;
404
- SynchEvent **pe;
405
- SynchEvent *e;
393
+ SynchEvent** pe;
394
+ SynchEvent* e;
406
395
  synch_event_mu.Lock();
407
396
  for (pe = &synch_event[h];
408
397
  (e = *pe) != nullptr && e->masked_addr != base_internal::HidePtr(addr);
@@ -423,9 +412,9 @@ static void ForgetSynchEvent(std::atomic<intptr_t> *addr, intptr_t bits,
423
412
  // Return a refcounted reference to the SynchEvent of the object at address
424
413
  // "addr", if any. The pointer returned is valid until the UnrefSynchEvent() is
425
414
  // called.
426
- static SynchEvent *GetSynchEvent(const void *addr) {
415
+ static SynchEvent* GetSynchEvent(const void* addr) {
427
416
  uint32_t h = reinterpret_cast<uintptr_t>(addr) % kNSynchEvent;
428
- SynchEvent *e;
417
+ SynchEvent* e;
429
418
  synch_event_mu.Lock();
430
419
  for (e = synch_event[h];
431
420
  e != nullptr && e->masked_addr != base_internal::HidePtr(addr);
@@ -440,17 +429,17 @@ static SynchEvent *GetSynchEvent(const void *addr) {
440
429
 
441
430
  // Called when an event "ev" occurs on a Mutex of CondVar "obj"
442
431
  // if event recording is on
443
- static void PostSynchEvent(void *obj, int ev) {
444
- SynchEvent *e = GetSynchEvent(obj);
432
+ static void PostSynchEvent(void* obj, int ev) {
433
+ SynchEvent* e = GetSynchEvent(obj);
445
434
  // logging is on if event recording is on and either there's no event struct,
446
435
  // or it explicitly says to log
447
436
  if (e == nullptr || e->log) {
448
- void *pcs[40];
437
+ void* pcs[40];
449
438
  int n = absl::GetStackTrace(pcs, ABSL_ARRAYSIZE(pcs), 1);
450
439
  // A buffer with enough space for the ASCII for all the PCs, even on a
451
440
  // 64-bit machine.
452
441
  char buffer[ABSL_ARRAYSIZE(pcs) * 24];
453
- int pos = snprintf(buffer, sizeof (buffer), " @");
442
+ int pos = snprintf(buffer, sizeof(buffer), " @");
454
443
  for (int i = 0; i != n; i++) {
455
444
  int b = snprintf(&buffer[pos], sizeof(buffer) - static_cast<size_t>(pos),
456
445
  " %p", pcs[i]);
@@ -472,13 +461,13 @@ static void PostSynchEvent(void *obj, int ev) {
472
461
  // get false positive race reports later.
473
462
  // Reuse EvalConditionAnnotated to properly call into user code.
474
463
  struct local {
475
- static bool pred(SynchEvent *ev) {
464
+ static bool pred(SynchEvent* ev) {
476
465
  (*ev->invariant)(ev->arg);
477
466
  return false;
478
467
  }
479
468
  };
480
469
  Condition cond(&local::pred, e);
481
- Mutex *mu = static_cast<Mutex *>(obj);
470
+ Mutex* mu = static_cast<Mutex*>(obj);
482
471
  const bool locking = (flags & SYNCH_F_UNLOCK) == 0;
483
472
  const bool trylock = (flags & SYNCH_F_TRY) != 0;
484
473
  const bool read_lock = (flags & SYNCH_F_R) != 0;
@@ -504,32 +493,32 @@ static void PostSynchEvent(void *obj, int ev) {
504
493
  // PerThreadSynch struct points at the most recent SynchWaitParams struct when
505
494
  // the thread is on a Mutex's waiter queue.
506
495
  struct SynchWaitParams {
507
- SynchWaitParams(Mutex::MuHow how_arg, const Condition *cond_arg,
508
- KernelTimeout timeout_arg, Mutex *cvmu_arg,
509
- PerThreadSynch *thread_arg,
510
- std::atomic<intptr_t> *cv_word_arg)
496
+ SynchWaitParams(Mutex::MuHow how_arg, const Condition* cond_arg,
497
+ KernelTimeout timeout_arg, Mutex* cvmu_arg,
498
+ PerThreadSynch* thread_arg,
499
+ std::atomic<intptr_t>* cv_word_arg)
511
500
  : how(how_arg),
512
501
  cond(cond_arg),
513
502
  timeout(timeout_arg),
514
503
  cvmu(cvmu_arg),
515
504
  thread(thread_arg),
516
505
  cv_word(cv_word_arg),
517
- contention_start_cycles(base_internal::CycleClock::Now()),
506
+ contention_start_cycles(CycleClock::Now()),
518
507
  should_submit_contention_data(false) {}
519
508
 
520
509
  const Mutex::MuHow how; // How this thread needs to wait.
521
- const Condition *cond; // The condition that this thread is waiting for.
522
- // In Mutex, this field is set to zero if a timeout
523
- // expires.
510
+ const Condition* cond; // The condition that this thread is waiting for.
511
+ // In Mutex, this field is set to zero if a timeout
512
+ // expires.
524
513
  KernelTimeout timeout; // timeout expiry---absolute time
525
514
  // In Mutex, this field is set to zero if a timeout
526
515
  // expires.
527
- Mutex *const cvmu; // used for transfer from cond var to mutex
528
- PerThreadSynch *const thread; // thread that is waiting
516
+ Mutex* const cvmu; // used for transfer from cond var to mutex
517
+ PerThreadSynch* const thread; // thread that is waiting
529
518
 
530
519
  // If not null, thread should be enqueued on the CondVar whose state
531
520
  // word is cv_word instead of queueing normally on the Mutex.
532
- std::atomic<intptr_t> *cv_word;
521
+ std::atomic<intptr_t>* cv_word;
533
522
 
534
523
  int64_t contention_start_cycles; // Time (in cycles) when this thread started
535
524
  // to contend for the mutex.
@@ -537,12 +526,12 @@ struct SynchWaitParams {
537
526
  };
538
527
 
539
528
  struct SynchLocksHeld {
540
- int n; // number of valid entries in locks[]
541
- bool overflow; // true iff we overflowed the array at some point
529
+ int n; // number of valid entries in locks[]
530
+ bool overflow; // true iff we overflowed the array at some point
542
531
  struct {
543
- Mutex *mu; // lock acquired
544
- int32_t count; // times acquired
545
- GraphId id; // deadlock_graph id of acquired lock
532
+ Mutex* mu; // lock acquired
533
+ int32_t count; // times acquired
534
+ GraphId id; // deadlock_graph id of acquired lock
546
535
  } locks[40];
547
536
  // If a thread overfills the array during deadlock detection, we
548
537
  // continue, discarding information as needed. If no overflow has
@@ -552,11 +541,11 @@ struct SynchLocksHeld {
552
541
 
553
542
  // A sentinel value in lists that is not 0.
554
543
  // A 0 value is used to mean "not on a list".
555
- static PerThreadSynch *const kPerThreadSynchNull =
556
- reinterpret_cast<PerThreadSynch *>(1);
544
+ static PerThreadSynch* const kPerThreadSynchNull =
545
+ reinterpret_cast<PerThreadSynch*>(1);
557
546
 
558
- static SynchLocksHeld *LocksHeldAlloc() {
559
- SynchLocksHeld *ret = reinterpret_cast<SynchLocksHeld *>(
547
+ static SynchLocksHeld* LocksHeldAlloc() {
548
+ SynchLocksHeld* ret = reinterpret_cast<SynchLocksHeld*>(
560
549
  base_internal::LowLevelAlloc::Alloc(sizeof(SynchLocksHeld)));
561
550
  ret->n = 0;
562
551
  ret->overflow = false;
@@ -564,24 +553,24 @@ static SynchLocksHeld *LocksHeldAlloc() {
564
553
  }
565
554
 
566
555
  // Return the PerThreadSynch-struct for this thread.
567
- static PerThreadSynch *Synch_GetPerThread() {
568
- ThreadIdentity *identity = GetOrCreateCurrentThreadIdentity();
556
+ static PerThreadSynch* Synch_GetPerThread() {
557
+ ThreadIdentity* identity = GetOrCreateCurrentThreadIdentity();
569
558
  return &identity->per_thread_synch;
570
559
  }
571
560
 
572
- static PerThreadSynch *Synch_GetPerThreadAnnotated(Mutex *mu) {
561
+ static PerThreadSynch* Synch_GetPerThreadAnnotated(Mutex* mu) {
573
562
  if (mu) {
574
563
  ABSL_TSAN_MUTEX_PRE_DIVERT(mu, 0);
575
564
  }
576
- PerThreadSynch *w = Synch_GetPerThread();
565
+ PerThreadSynch* w = Synch_GetPerThread();
577
566
  if (mu) {
578
567
  ABSL_TSAN_MUTEX_POST_DIVERT(mu, 0);
579
568
  }
580
569
  return w;
581
570
  }
582
571
 
583
- static SynchLocksHeld *Synch_GetAllLocks() {
584
- PerThreadSynch *s = Synch_GetPerThread();
572
+ static SynchLocksHeld* Synch_GetAllLocks() {
573
+ PerThreadSynch* s = Synch_GetPerThread();
585
574
  if (s->all_locks == nullptr) {
586
575
  s->all_locks = LocksHeldAlloc(); // Freed by ReclaimThreadIdentity.
587
576
  }
@@ -589,7 +578,7 @@ static SynchLocksHeld *Synch_GetAllLocks() {
589
578
  }
590
579
 
591
580
  // Post on "w"'s associated PerThreadSem.
592
- void Mutex::IncrementSynchSem(Mutex *mu, PerThreadSynch *w) {
581
+ void Mutex::IncrementSynchSem(Mutex* mu, PerThreadSynch* w) {
593
582
  if (mu) {
594
583
  ABSL_TSAN_MUTEX_PRE_DIVERT(mu, 0);
595
584
  // We miss synchronization around passing PerThreadSynch between threads
@@ -605,7 +594,7 @@ void Mutex::IncrementSynchSem(Mutex *mu, PerThreadSynch *w) {
605
594
  }
606
595
 
607
596
  // Wait on "w"'s associated PerThreadSem; returns false if timeout expired.
608
- bool Mutex::DecrementSynchSem(Mutex *mu, PerThreadSynch *w, KernelTimeout t) {
597
+ bool Mutex::DecrementSynchSem(Mutex* mu, PerThreadSynch* w, KernelTimeout t) {
609
598
  if (mu) {
610
599
  ABSL_TSAN_MUTEX_PRE_DIVERT(mu, 0);
611
600
  }
@@ -626,7 +615,7 @@ bool Mutex::DecrementSynchSem(Mutex *mu, PerThreadSynch *w, KernelTimeout t) {
626
615
  // Mutex code checking that the "waitp" field has not been reused.
627
616
  void Mutex::InternalAttemptToUseMutexInFatalSignalHandler() {
628
617
  // Fix the per-thread state only if it exists.
629
- ThreadIdentity *identity = CurrentThreadIdentityIfPresent();
618
+ ThreadIdentity* identity = CurrentThreadIdentityIfPresent();
630
619
  if (identity != nullptr) {
631
620
  identity->per_thread_synch.suppress_fatal_errors = true;
632
621
  }
@@ -635,21 +624,6 @@ void Mutex::InternalAttemptToUseMutexInFatalSignalHandler() {
635
624
  std::memory_order_release);
636
625
  }
637
626
 
638
- // --------------------------time support
639
-
640
- // Return the current time plus the timeout. Use the same clock as
641
- // PerThreadSem::Wait() for consistency. Unfortunately, we don't have
642
- // such a choice when a deadline is given directly.
643
- static absl::Time DeadlineFromTimeout(absl::Duration timeout) {
644
- #ifndef _WIN32
645
- struct timeval tv;
646
- gettimeofday(&tv, nullptr);
647
- return absl::TimeFromTimeval(tv) + timeout;
648
- #else
649
- return absl::Now() + timeout;
650
- #endif
651
- }
652
-
653
627
  // --------------------------Mutexes
654
628
 
655
629
  // In the layout below, the msb of the bottom byte is currently unused. Also,
@@ -660,24 +634,29 @@ static absl::Time DeadlineFromTimeout(absl::Duration timeout) {
660
634
  // bit-twiddling trick in Mutex::Unlock().
661
635
  // o kMuWriter / kMuReader == kMuWrWait / kMuWait,
662
636
  // to enable the bit-twiddling trick in CheckForMutexCorruption().
663
- static const intptr_t kMuReader = 0x0001L; // a reader holds the lock
664
- static const intptr_t kMuDesig = 0x0002L; // there's a designated waker
665
- static const intptr_t kMuWait = 0x0004L; // threads are waiting
666
- static const intptr_t kMuWriter = 0x0008L; // a writer holds the lock
667
- static const intptr_t kMuEvent = 0x0010L; // record this mutex's events
637
+ static const intptr_t kMuReader = 0x0001L; // a reader holds the lock
638
+ // There's a designated waker.
668
639
  // INVARIANT1: there's a thread that was blocked on the mutex, is
669
640
  // no longer, yet has not yet acquired the mutex. If there's a
670
641
  // designated waker, all threads can avoid taking the slow path in
671
642
  // unlock because the designated waker will subsequently acquire
672
643
  // the lock and wake someone. To maintain INVARIANT1 the bit is
673
644
  // set when a thread is unblocked(INV1a), and threads that were
674
- // unblocked reset the bit when they either acquire or re-block
675
- // (INV1b).
676
- static const intptr_t kMuWrWait = 0x0020L; // runnable writer is waiting
677
- // for a reader
678
- static const intptr_t kMuSpin = 0x0040L; // spinlock protects wait list
679
- static const intptr_t kMuLow = 0x00ffL; // mask all mutex bits
680
- static const intptr_t kMuHigh = ~kMuLow; // mask pointer/reader count
645
+ // unblocked reset the bit when they either acquire or re-block (INV1b).
646
+ static const intptr_t kMuDesig = 0x0002L;
647
+ static const intptr_t kMuWait = 0x0004L; // threads are waiting
648
+ static const intptr_t kMuWriter = 0x0008L; // a writer holds the lock
649
+ static const intptr_t kMuEvent = 0x0010L; // record this mutex's events
650
+ // Runnable writer is waiting for a reader.
651
+ // If set, new readers will not lock the mutex to avoid writer starvation.
652
+ // Note: if a reader has higher priority than the writer, it will still lock
653
+ // the mutex ahead of the waiting writer, but in a very inefficient manner:
654
+ // the reader will first queue itself and block, but then the last unlocking
655
+ // reader will wake it.
656
+ static const intptr_t kMuWrWait = 0x0020L;
657
+ static const intptr_t kMuSpin = 0x0040L; // spinlock protects wait list
658
+ static const intptr_t kMuLow = 0x00ffL; // mask all mutex bits
659
+ static const intptr_t kMuHigh = ~kMuLow; // mask pointer/reader count
681
660
 
682
661
  // Hack to make constant values available to gdb pretty printer
683
662
  enum {
@@ -773,8 +752,8 @@ Mutex::~Mutex() {
773
752
  ABSL_TSAN_MUTEX_DESTROY(this, __tsan_mutex_not_static);
774
753
  }
775
754
 
776
- void Mutex::EnableDebugLog(const char *name) {
777
- SynchEvent *e = EnsureSynchEvent(&this->mu_, name, kMuEvent, kMuSpin);
755
+ void Mutex::EnableDebugLog(const char* name) {
756
+ SynchEvent* e = EnsureSynchEvent(&this->mu_, name, kMuEvent, kMuSpin);
778
757
  e->log = true;
779
758
  UnrefSynchEvent(e);
780
759
  }
@@ -783,11 +762,10 @@ void EnableMutexInvariantDebugging(bool enabled) {
783
762
  synch_check_invariants.store(enabled, std::memory_order_release);
784
763
  }
785
764
 
786
- void Mutex::EnableInvariantDebugging(void (*invariant)(void *),
787
- void *arg) {
765
+ void Mutex::EnableInvariantDebugging(void (*invariant)(void*), void* arg) {
788
766
  if (synch_check_invariants.load(std::memory_order_acquire) &&
789
767
  invariant != nullptr) {
790
- SynchEvent *e = EnsureSynchEvent(&this->mu_, nullptr, kMuEvent, kMuSpin);
768
+ SynchEvent* e = EnsureSynchEvent(&this->mu_, nullptr, kMuEvent, kMuSpin);
791
769
  e->invariant = invariant;
792
770
  e->arg = arg;
793
771
  UnrefSynchEvent(e);
@@ -803,15 +781,15 @@ void SetMutexDeadlockDetectionMode(OnDeadlockCycle mode) {
803
781
  // waiters with the same condition, type of lock, and thread priority.
804
782
  //
805
783
  // Requires that x and y be waiting on the same Mutex queue.
806
- static bool MuEquivalentWaiter(PerThreadSynch *x, PerThreadSynch *y) {
784
+ static bool MuEquivalentWaiter(PerThreadSynch* x, PerThreadSynch* y) {
807
785
  return x->waitp->how == y->waitp->how && x->priority == y->priority &&
808
786
  Condition::GuaranteedEqual(x->waitp->cond, y->waitp->cond);
809
787
  }
810
788
 
811
789
  // Given the contents of a mutex word containing a PerThreadSynch pointer,
812
790
  // return the pointer.
813
- static inline PerThreadSynch *GetPerThreadSynch(intptr_t v) {
814
- return reinterpret_cast<PerThreadSynch *>(v & kMuHigh);
791
+ static inline PerThreadSynch* GetPerThreadSynch(intptr_t v) {
792
+ return reinterpret_cast<PerThreadSynch*>(v & kMuHigh);
815
793
  }
816
794
 
817
795
  // The next several routines maintain the per-thread next and skip fields
@@ -869,17 +847,17 @@ static inline PerThreadSynch *GetPerThreadSynch(intptr_t v) {
869
847
  // except those in the added node and the former "head" node. This implies
870
848
  // that the new node is added after head, and so must be the new head or the
871
849
  // new front of the queue.
872
- static PerThreadSynch *Skip(PerThreadSynch *x) {
873
- PerThreadSynch *x0 = nullptr;
874
- PerThreadSynch *x1 = x;
875
- PerThreadSynch *x2 = x->skip;
850
+ static PerThreadSynch* Skip(PerThreadSynch* x) {
851
+ PerThreadSynch* x0 = nullptr;
852
+ PerThreadSynch* x1 = x;
853
+ PerThreadSynch* x2 = x->skip;
876
854
  if (x2 != nullptr) {
877
855
  // Each iteration attempts to advance sequence (x0,x1,x2) to next sequence
878
856
  // such that x1 == x0->skip && x2 == x1->skip
879
857
  while ((x0 = x1, x1 = x2, x2 = x2->skip) != nullptr) {
880
- x0->skip = x2; // short-circuit skip from x0 to x2
858
+ x0->skip = x2; // short-circuit skip from x0 to x2
881
859
  }
882
- x->skip = x1; // short-circuit skip from x to result
860
+ x->skip = x1; // short-circuit skip from x to result
883
861
  }
884
862
  return x1;
885
863
  }
@@ -888,7 +866,7 @@ static PerThreadSynch *Skip(PerThreadSynch *x) {
888
866
  // The latter is going to be removed out of order, because of a timeout.
889
867
  // Check whether "ancestor" has a skip field pointing to "to_be_removed",
890
868
  // and fix it if it does.
891
- static void FixSkip(PerThreadSynch *ancestor, PerThreadSynch *to_be_removed) {
869
+ static void FixSkip(PerThreadSynch* ancestor, PerThreadSynch* to_be_removed) {
892
870
  if (ancestor->skip == to_be_removed) { // ancestor->skip left dangling
893
871
  if (to_be_removed->skip != nullptr) {
894
872
  ancestor->skip = to_be_removed->skip; // can skip past to_be_removed
@@ -900,7 +878,7 @@ static void FixSkip(PerThreadSynch *ancestor, PerThreadSynch *to_be_removed) {
900
878
  }
901
879
  }
902
880
 
903
- static void CondVarEnqueue(SynchWaitParams *waitp);
881
+ static void CondVarEnqueue(SynchWaitParams* waitp);
904
882
 
905
883
  // Enqueue thread "waitp->thread" on a waiter queue.
906
884
  // Called with mutex spinlock held if head != nullptr
@@ -921,8 +899,8 @@ static void CondVarEnqueue(SynchWaitParams *waitp);
921
899
  // returned. This mechanism is used by CondVar to queue a thread on the
922
900
  // condition variable queue instead of the mutex queue in implementing Wait().
923
901
  // In this case, Enqueue() can return nullptr (if head==nullptr).
924
- static PerThreadSynch *Enqueue(PerThreadSynch *head,
925
- SynchWaitParams *waitp, intptr_t mu, int flags) {
902
+ static PerThreadSynch* Enqueue(PerThreadSynch* head, SynchWaitParams* waitp,
903
+ intptr_t mu, int flags) {
926
904
  // If we have been given a cv_word, call CondVarEnqueue() and return
927
905
  // the previous head of the Mutex waiter queue.
928
906
  if (waitp->cv_word != nullptr) {
@@ -930,42 +908,43 @@ static PerThreadSynch *Enqueue(PerThreadSynch *head,
930
908
  return head;
931
909
  }
932
910
 
933
- PerThreadSynch *s = waitp->thread;
911
+ PerThreadSynch* s = waitp->thread;
934
912
  ABSL_RAW_CHECK(
935
913
  s->waitp == nullptr || // normal case
936
914
  s->waitp == waitp || // Fer()---transfer from condition variable
937
915
  s->suppress_fatal_errors,
938
916
  "detected illegal recursion into Mutex code");
939
917
  s->waitp = waitp;
940
- s->skip = nullptr; // maintain skip invariant (see above)
941
- s->may_skip = true; // always true on entering queue
942
- s->wake = false; // not being woken
918
+ s->skip = nullptr; // maintain skip invariant (see above)
919
+ s->may_skip = true; // always true on entering queue
920
+ s->wake = false; // not being woken
943
921
  s->cond_waiter = ((flags & kMuIsCond) != 0);
922
+ #ifdef ABSL_HAVE_PTHREAD_GETSCHEDPARAM
923
+ int64_t now_cycles = CycleClock::Now();
924
+ if (s->next_priority_read_cycles < now_cycles) {
925
+ // Every so often, update our idea of the thread's priority.
926
+ // pthread_getschedparam() is 5% of the block/wakeup time;
927
+ // CycleClock::Now() is 0.5%.
928
+ int policy;
929
+ struct sched_param param;
930
+ const int err = pthread_getschedparam(pthread_self(), &policy, &param);
931
+ if (err != 0) {
932
+ ABSL_RAW_LOG(ERROR, "pthread_getschedparam failed: %d", err);
933
+ } else {
934
+ s->priority = param.sched_priority;
935
+ s->next_priority_read_cycles =
936
+ now_cycles + static_cast<int64_t>(CycleClock::Frequency());
937
+ }
938
+ }
939
+ #endif
944
940
  if (head == nullptr) { // s is the only waiter
945
941
  s->next = s; // it's the only entry in the cycle
946
942
  s->readers = mu; // reader count is from mu word
947
943
  s->maybe_unlocking = false; // no one is searching an empty list
948
944
  head = s; // s is new head
949
945
  } else {
950
- PerThreadSynch *enqueue_after = nullptr; // we'll put s after this element
946
+ PerThreadSynch* enqueue_after = nullptr; // we'll put s after this element
951
947
  #ifdef ABSL_HAVE_PTHREAD_GETSCHEDPARAM
952
- int64_t now_cycles = base_internal::CycleClock::Now();
953
- if (s->next_priority_read_cycles < now_cycles) {
954
- // Every so often, update our idea of the thread's priority.
955
- // pthread_getschedparam() is 5% of the block/wakeup time;
956
- // base_internal::CycleClock::Now() is 0.5%.
957
- int policy;
958
- struct sched_param param;
959
- const int err = pthread_getschedparam(pthread_self(), &policy, &param);
960
- if (err != 0) {
961
- ABSL_RAW_LOG(ERROR, "pthread_getschedparam failed: %d", err);
962
- } else {
963
- s->priority = param.sched_priority;
964
- s->next_priority_read_cycles =
965
- now_cycles +
966
- static_cast<int64_t>(base_internal::CycleClock::Frequency());
967
- }
968
- }
969
948
  if (s->priority > head->priority) { // s's priority is above head's
970
949
  // try to put s in priority-fifo order, or failing that at the front.
971
950
  if (!head->maybe_unlocking) {
@@ -975,20 +954,20 @@ static PerThreadSynch *Enqueue(PerThreadSynch *head,
975
954
  // Within a skip chain, all waiters have the same priority, so we can
976
955
  // skip forward through the chains until we find one with a lower
977
956
  // priority than the waiter to be enqueued.
978
- PerThreadSynch *advance_to = head; // next value of enqueue_after
957
+ PerThreadSynch* advance_to = head; // next value of enqueue_after
979
958
  do {
980
959
  enqueue_after = advance_to;
981
960
  // (side-effect: optimizes skip chain)
982
961
  advance_to = Skip(enqueue_after->next);
983
962
  } while (s->priority <= advance_to->priority);
984
- // termination guaranteed because s->priority > head->priority
985
- // and head is the end of a skip chain
963
+ // termination guaranteed because s->priority > head->priority
964
+ // and head is the end of a skip chain
986
965
  } else if (waitp->how == kExclusive &&
987
966
  Condition::GuaranteedEqual(waitp->cond, nullptr)) {
988
967
  // An unlocker could be scanning the queue, but we know it will recheck
989
968
  // the queue front for writers that have no condition, which is what s
990
969
  // is, so an insert at front is safe.
991
- enqueue_after = head; // add after head, at front
970
+ enqueue_after = head; // add after head, at front
992
971
  }
993
972
  }
994
973
  #endif
@@ -1013,12 +992,12 @@ static PerThreadSynch *Enqueue(PerThreadSynch *head,
1013
992
  enqueue_after->skip = enqueue_after->next;
1014
993
  }
1015
994
  if (MuEquivalentWaiter(s, s->next)) { // s->may_skip is known to be true
1016
- s->skip = s->next; // s may skip to its successor
995
+ s->skip = s->next; // s may skip to its successor
1017
996
  }
1018
- } else { // enqueue not done any other way, so
1019
- // we're inserting s at the back
997
+ } else { // enqueue not done any other way, so
998
+ // we're inserting s at the back
1020
999
  // s will become new head; copy data from head into it
1021
- s->next = head->next; // add s after head
1000
+ s->next = head->next; // add s after head
1022
1001
  head->next = s;
1023
1002
  s->readers = head->readers; // reader count is from previous head
1024
1003
  s->maybe_unlocking = head->maybe_unlocking; // same for unlock hint
@@ -1037,17 +1016,17 @@ static PerThreadSynch *Enqueue(PerThreadSynch *head,
1037
1016
  // whose last element is head. The new head element is returned, or null
1038
1017
  // if the list is made empty.
1039
1018
  // Dequeue is called with both spinlock and Mutex held.
1040
- static PerThreadSynch *Dequeue(PerThreadSynch *head, PerThreadSynch *pw) {
1041
- PerThreadSynch *w = pw->next;
1042
- pw->next = w->next; // snip w out of list
1043
- if (head == w) { // we removed the head
1019
+ static PerThreadSynch* Dequeue(PerThreadSynch* head, PerThreadSynch* pw) {
1020
+ PerThreadSynch* w = pw->next;
1021
+ pw->next = w->next; // snip w out of list
1022
+ if (head == w) { // we removed the head
1044
1023
  head = (pw == w) ? nullptr : pw; // either emptied list, or pw is new head
1045
1024
  } else if (pw != head && MuEquivalentWaiter(pw, pw->next)) {
1046
1025
  // pw can skip to its new successor
1047
1026
  if (pw->next->skip !=
1048
1027
  nullptr) { // either skip to its successors skip target
1049
1028
  pw->skip = pw->next->skip;
1050
- } else { // or to pw's successor
1029
+ } else { // or to pw's successor
1051
1030
  pw->skip = pw->next;
1052
1031
  }
1053
1032
  }
@@ -1060,27 +1039,27 @@ static PerThreadSynch *Dequeue(PerThreadSynch *head, PerThreadSynch *pw) {
1060
1039
  // singly-linked list wake_list in the order found. Assumes that
1061
1040
  // there is only one such element if the element has how == kExclusive.
1062
1041
  // Return the new head.
1063
- static PerThreadSynch *DequeueAllWakeable(PerThreadSynch *head,
1064
- PerThreadSynch *pw,
1065
- PerThreadSynch **wake_tail) {
1066
- PerThreadSynch *orig_h = head;
1067
- PerThreadSynch *w = pw->next;
1042
+ static PerThreadSynch* DequeueAllWakeable(PerThreadSynch* head,
1043
+ PerThreadSynch* pw,
1044
+ PerThreadSynch** wake_tail) {
1045
+ PerThreadSynch* orig_h = head;
1046
+ PerThreadSynch* w = pw->next;
1068
1047
  bool skipped = false;
1069
1048
  do {
1070
- if (w->wake) { // remove this element
1049
+ if (w->wake) { // remove this element
1071
1050
  ABSL_RAW_CHECK(pw->skip == nullptr, "bad skip in DequeueAllWakeable");
1072
1051
  // we're removing pw's successor so either pw->skip is zero or we should
1073
1052
  // already have removed pw since if pw->skip!=null, pw has the same
1074
1053
  // condition as w.
1075
1054
  head = Dequeue(head, pw);
1076
- w->next = *wake_tail; // keep list terminated
1077
- *wake_tail = w; // add w to wake_list;
1078
- wake_tail = &w->next; // next addition to end
1055
+ w->next = *wake_tail; // keep list terminated
1056
+ *wake_tail = w; // add w to wake_list;
1057
+ wake_tail = &w->next; // next addition to end
1079
1058
  if (w->waitp->how == kExclusive) { // wake at most 1 writer
1080
1059
  break;
1081
1060
  }
1082
- } else { // not waking this one; skip
1083
- pw = Skip(w); // skip as much as possible
1061
+ } else { // not waking this one; skip
1062
+ pw = Skip(w); // skip as much as possible
1084
1063
  skipped = true;
1085
1064
  }
1086
1065
  w = pw->next;
@@ -1098,7 +1077,7 @@ static PerThreadSynch *DequeueAllWakeable(PerThreadSynch *head,
1098
1077
 
1099
1078
  // Try to remove thread s from the list of waiters on this mutex.
1100
1079
  // Does nothing if s is not on the waiter list.
1101
- void Mutex::TryRemove(PerThreadSynch *s) {
1080
+ void Mutex::TryRemove(PerThreadSynch* s) {
1102
1081
  SchedulingGuard::ScopedDisable disable_rescheduling;
1103
1082
  intptr_t v = mu_.load(std::memory_order_relaxed);
1104
1083
  // acquire spinlock & lock
@@ -1106,16 +1085,16 @@ void Mutex::TryRemove(PerThreadSynch *s) {
1106
1085
  mu_.compare_exchange_strong(v, v | kMuSpin | kMuWriter,
1107
1086
  std::memory_order_acquire,
1108
1087
  std::memory_order_relaxed)) {
1109
- PerThreadSynch *h = GetPerThreadSynch(v);
1088
+ PerThreadSynch* h = GetPerThreadSynch(v);
1110
1089
  if (h != nullptr) {
1111
- PerThreadSynch *pw = h; // pw is w's predecessor
1112
- PerThreadSynch *w;
1090
+ PerThreadSynch* pw = h; // pw is w's predecessor
1091
+ PerThreadSynch* w;
1113
1092
  if ((w = pw->next) != s) { // search for thread,
1114
1093
  do { // processing at least one element
1115
1094
  // If the current element isn't equivalent to the waiter to be
1116
1095
  // removed, we can skip the entire chain.
1117
1096
  if (!MuEquivalentWaiter(s, w)) {
1118
- pw = Skip(w); // so skip all that won't match
1097
+ pw = Skip(w); // so skip all that won't match
1119
1098
  // we don't have to worry about dangling skip fields
1120
1099
  // in the threads we skipped; none can point to s
1121
1100
  // because they are in a different equivalence class.
@@ -1127,7 +1106,7 @@ void Mutex::TryRemove(PerThreadSynch *s) {
1127
1106
  // process the first thread again.
1128
1107
  } while ((w = pw->next) != s && pw != h);
1129
1108
  }
1130
- if (w == s) { // found thread; remove it
1109
+ if (w == s) { // found thread; remove it
1131
1110
  // pw->skip may be non-zero here; the loop above ensured that
1132
1111
  // no ancestor of s can skip to s, so removal is safe anyway.
1133
1112
  h = Dequeue(h, pw);
@@ -1136,16 +1115,15 @@ void Mutex::TryRemove(PerThreadSynch *s) {
1136
1115
  }
1137
1116
  }
1138
1117
  intptr_t nv;
1139
- do { // release spinlock and lock
1118
+ do { // release spinlock and lock
1140
1119
  v = mu_.load(std::memory_order_relaxed);
1141
1120
  nv = v & (kMuDesig | kMuEvent);
1142
1121
  if (h != nullptr) {
1143
1122
  nv |= kMuWait | reinterpret_cast<intptr_t>(h);
1144
- h->readers = 0; // we hold writer lock
1123
+ h->readers = 0; // we hold writer lock
1145
1124
  h->maybe_unlocking = false; // finished unlocking
1146
1125
  }
1147
- } while (!mu_.compare_exchange_weak(v, nv,
1148
- std::memory_order_release,
1126
+ } while (!mu_.compare_exchange_weak(v, nv, std::memory_order_release,
1149
1127
  std::memory_order_relaxed));
1150
1128
  }
1151
1129
  }
@@ -1155,7 +1133,7 @@ void Mutex::TryRemove(PerThreadSynch *s) {
1155
1133
  // if the wait extends past the absolute time specified, even if "s" is still
1156
1134
  // on the mutex queue. In this case, remove "s" from the queue and return
1157
1135
  // true, otherwise return false.
1158
- void Mutex::Block(PerThreadSynch *s) {
1136
+ void Mutex::Block(PerThreadSynch* s) {
1159
1137
  while (s->state.load(std::memory_order_acquire) == PerThreadSynch::kQueued) {
1160
1138
  if (!DecrementSynchSem(this, s, s->waitp->timeout)) {
1161
1139
  // After a timeout, we go into a spin loop until we remove ourselves
@@ -1174,7 +1152,7 @@ void Mutex::Block(PerThreadSynch *s) {
1174
1152
  // is not on the queue.
1175
1153
  this->TryRemove(s);
1176
1154
  }
1177
- s->waitp->timeout = KernelTimeout::Never(); // timeout is satisfied
1155
+ s->waitp->timeout = KernelTimeout::Never(); // timeout is satisfied
1178
1156
  s->waitp->cond = nullptr; // condition no longer relevant for wakeups
1179
1157
  }
1180
1158
  }
@@ -1184,8 +1162,8 @@ void Mutex::Block(PerThreadSynch *s) {
1184
1162
  }
1185
1163
 
1186
1164
  // Wake thread w, and return the next thread in the list.
1187
- PerThreadSynch *Mutex::Wakeup(PerThreadSynch *w) {
1188
- PerThreadSynch *next = w->next;
1165
+ PerThreadSynch* Mutex::Wakeup(PerThreadSynch* w) {
1166
+ PerThreadSynch* next = w->next;
1189
1167
  w->next = nullptr;
1190
1168
  w->state.store(PerThreadSynch::kAvailable, std::memory_order_release);
1191
1169
  IncrementSynchSem(this, w);
@@ -1193,7 +1171,7 @@ PerThreadSynch *Mutex::Wakeup(PerThreadSynch *w) {
1193
1171
  return next;
1194
1172
  }
1195
1173
 
1196
- static GraphId GetGraphIdLocked(Mutex *mu)
1174
+ static GraphId GetGraphIdLocked(Mutex* mu)
1197
1175
  ABSL_EXCLUSIVE_LOCKS_REQUIRED(deadlock_graph_mu) {
1198
1176
  if (!deadlock_graph) { // (re)create the deadlock graph.
1199
1177
  deadlock_graph =
@@ -1203,7 +1181,7 @@ static GraphId GetGraphIdLocked(Mutex *mu)
1203
1181
  return deadlock_graph->GetId(mu);
1204
1182
  }
1205
1183
 
1206
- static GraphId GetGraphId(Mutex *mu) ABSL_LOCKS_EXCLUDED(deadlock_graph_mu) {
1184
+ static GraphId GetGraphId(Mutex* mu) ABSL_LOCKS_EXCLUDED(deadlock_graph_mu) {
1207
1185
  deadlock_graph_mu.Lock();
1208
1186
  GraphId id = GetGraphIdLocked(mu);
1209
1187
  deadlock_graph_mu.Unlock();
@@ -1213,7 +1191,7 @@ static GraphId GetGraphId(Mutex *mu) ABSL_LOCKS_EXCLUDED(deadlock_graph_mu) {
1213
1191
  // Record a lock acquisition. This is used in debug mode for deadlock
1214
1192
  // detection. The held_locks pointer points to the relevant data
1215
1193
  // structure for each case.
1216
- static void LockEnter(Mutex* mu, GraphId id, SynchLocksHeld *held_locks) {
1194
+ static void LockEnter(Mutex* mu, GraphId id, SynchLocksHeld* held_locks) {
1217
1195
  int n = held_locks->n;
1218
1196
  int i = 0;
1219
1197
  while (i != n && held_locks->locks[i].id != id) {
@@ -1237,7 +1215,7 @@ static void LockEnter(Mutex* mu, GraphId id, SynchLocksHeld *held_locks) {
1237
1215
  // eventually followed by a call to LockLeave(mu, id, x) by the same thread.
1238
1216
  // It does not process the event if is not needed when deadlock detection is
1239
1217
  // disabled.
1240
- static void LockLeave(Mutex* mu, GraphId id, SynchLocksHeld *held_locks) {
1218
+ static void LockLeave(Mutex* mu, GraphId id, SynchLocksHeld* held_locks) {
1241
1219
  int n = held_locks->n;
1242
1220
  int i = 0;
1243
1221
  while (i != n && held_locks->locks[i].id != id) {
@@ -1252,11 +1230,11 @@ static void LockLeave(Mutex* mu, GraphId id, SynchLocksHeld *held_locks) {
1252
1230
  i++;
1253
1231
  }
1254
1232
  if (i == n) { // mu missing means releasing unheld lock
1255
- SynchEvent *mu_events = GetSynchEvent(mu);
1233
+ SynchEvent* mu_events = GetSynchEvent(mu);
1256
1234
  ABSL_RAW_LOG(FATAL,
1257
1235
  "thread releasing lock it does not hold: %p %s; "
1258
1236
  ,
1259
- static_cast<void *>(mu),
1237
+ static_cast<void*>(mu),
1260
1238
  mu_events == nullptr ? "" : mu_events->name);
1261
1239
  }
1262
1240
  }
@@ -1273,7 +1251,7 @@ static void LockLeave(Mutex* mu, GraphId id, SynchLocksHeld *held_locks) {
1273
1251
  }
1274
1252
 
1275
1253
  // Call LockEnter() if in debug mode and deadlock detection is enabled.
1276
- static inline void DebugOnlyLockEnter(Mutex *mu) {
1254
+ static inline void DebugOnlyLockEnter(Mutex* mu) {
1277
1255
  if (kDebugMode) {
1278
1256
  if (synch_deadlock_detection.load(std::memory_order_acquire) !=
1279
1257
  OnDeadlockCycle::kIgnore) {
@@ -1283,7 +1261,7 @@ static inline void DebugOnlyLockEnter(Mutex *mu) {
1283
1261
  }
1284
1262
 
1285
1263
  // Call LockEnter() if in debug mode and deadlock detection is enabled.
1286
- static inline void DebugOnlyLockEnter(Mutex *mu, GraphId id) {
1264
+ static inline void DebugOnlyLockEnter(Mutex* mu, GraphId id) {
1287
1265
  if (kDebugMode) {
1288
1266
  if (synch_deadlock_detection.load(std::memory_order_acquire) !=
1289
1267
  OnDeadlockCycle::kIgnore) {
@@ -1293,7 +1271,7 @@ static inline void DebugOnlyLockEnter(Mutex *mu, GraphId id) {
1293
1271
  }
1294
1272
 
1295
1273
  // Call LockLeave() if in debug mode and deadlock detection is enabled.
1296
- static inline void DebugOnlyLockLeave(Mutex *mu) {
1274
+ static inline void DebugOnlyLockLeave(Mutex* mu) {
1297
1275
  if (kDebugMode) {
1298
1276
  if (synch_deadlock_detection.load(std::memory_order_acquire) !=
1299
1277
  OnDeadlockCycle::kIgnore) {
@@ -1302,9 +1280,9 @@ static inline void DebugOnlyLockLeave(Mutex *mu) {
1302
1280
  }
1303
1281
  }
1304
1282
 
1305
- static char *StackString(void **pcs, int n, char *buf, int maxlen,
1283
+ static char* StackString(void** pcs, int n, char* buf, int maxlen,
1306
1284
  bool symbolize) {
1307
- static const int kSymLen = 200;
1285
+ static constexpr int kSymLen = 200;
1308
1286
  char sym[kSymLen];
1309
1287
  int len = 0;
1310
1288
  for (int i = 0; i != n; i++) {
@@ -1312,7 +1290,7 @@ static char *StackString(void **pcs, int n, char *buf, int maxlen,
1312
1290
  return buf;
1313
1291
  size_t count = static_cast<size_t>(maxlen - len);
1314
1292
  if (symbolize) {
1315
- if (!symbolizer(pcs[i], sym, kSymLen)) {
1293
+ if (!absl::Symbolize(pcs[i], sym, kSymLen)) {
1316
1294
  sym[0] = '\0';
1317
1295
  }
1318
1296
  snprintf(buf + len, count, "%s\t@ %p %s\n", (i == 0 ? "\n" : ""), pcs[i],
@@ -1325,15 +1303,17 @@ static char *StackString(void **pcs, int n, char *buf, int maxlen,
1325
1303
  return buf;
1326
1304
  }
1327
1305
 
1328
- static char *CurrentStackString(char *buf, int maxlen, bool symbolize) {
1329
- void *pcs[40];
1306
+ static char* CurrentStackString(char* buf, int maxlen, bool symbolize) {
1307
+ void* pcs[40];
1330
1308
  return StackString(pcs, absl::GetStackTrace(pcs, ABSL_ARRAYSIZE(pcs), 2), buf,
1331
1309
  maxlen, symbolize);
1332
1310
  }
1333
1311
 
1334
1312
  namespace {
1335
- enum { kMaxDeadlockPathLen = 10 }; // maximum length of a deadlock cycle;
1336
- // a path this long would be remarkable
1313
+ enum {
1314
+ kMaxDeadlockPathLen = 10
1315
+ }; // maximum length of a deadlock cycle;
1316
+ // a path this long would be remarkable
1337
1317
  // Buffers required to report a deadlock.
1338
1318
  // We do not allocate them on stack to avoid large stack frame.
1339
1319
  struct DeadlockReportBuffers {
@@ -1343,11 +1323,11 @@ struct DeadlockReportBuffers {
1343
1323
 
1344
1324
  struct ScopedDeadlockReportBuffers {
1345
1325
  ScopedDeadlockReportBuffers() {
1346
- b = reinterpret_cast<DeadlockReportBuffers *>(
1326
+ b = reinterpret_cast<DeadlockReportBuffers*>(
1347
1327
  base_internal::LowLevelAlloc::Alloc(sizeof(*b)));
1348
1328
  }
1349
1329
  ~ScopedDeadlockReportBuffers() { base_internal::LowLevelAlloc::Free(b); }
1350
- DeadlockReportBuffers *b;
1330
+ DeadlockReportBuffers* b;
1351
1331
  };
1352
1332
 
1353
1333
  // Helper to pass to GraphCycles::UpdateStackTrace.
@@ -1358,13 +1338,13 @@ int GetStack(void** stack, int max_depth) {
1358
1338
 
1359
1339
  // Called in debug mode when a thread is about to acquire a lock in a way that
1360
1340
  // may block.
1361
- static GraphId DeadlockCheck(Mutex *mu) {
1341
+ static GraphId DeadlockCheck(Mutex* mu) {
1362
1342
  if (synch_deadlock_detection.load(std::memory_order_acquire) ==
1363
1343
  OnDeadlockCycle::kIgnore) {
1364
1344
  return InvalidGraphId();
1365
1345
  }
1366
1346
 
1367
- SynchLocksHeld *all_locks = Synch_GetAllLocks();
1347
+ SynchLocksHeld* all_locks = Synch_GetAllLocks();
1368
1348
 
1369
1349
  absl::base_internal::SpinLockHolder lock(&deadlock_graph_mu);
1370
1350
  const GraphId mu_id = GetGraphIdLocked(mu);
@@ -1386,8 +1366,8 @@ static GraphId DeadlockCheck(Mutex *mu) {
1386
1366
  // For each other mutex already held by this thread:
1387
1367
  for (int i = 0; i != all_locks->n; i++) {
1388
1368
  const GraphId other_node_id = all_locks->locks[i].id;
1389
- const Mutex *other =
1390
- static_cast<const Mutex *>(deadlock_graph->Ptr(other_node_id));
1369
+ const Mutex* other =
1370
+ static_cast<const Mutex*>(deadlock_graph->Ptr(other_node_id));
1391
1371
  if (other == nullptr) {
1392
1372
  // Ignore stale lock
1393
1373
  continue;
@@ -1396,7 +1376,7 @@ static GraphId DeadlockCheck(Mutex *mu) {
1396
1376
  // Add the acquired-before edge to the graph.
1397
1377
  if (!deadlock_graph->InsertEdge(other_node_id, mu_id)) {
1398
1378
  ScopedDeadlockReportBuffers scoped_buffers;
1399
- DeadlockReportBuffers *b = scoped_buffers.b;
1379
+ DeadlockReportBuffers* b = scoped_buffers.b;
1400
1380
  static int number_of_reported_deadlocks = 0;
1401
1381
  number_of_reported_deadlocks++;
1402
1382
  // Symbolize only 2 first deadlock report to avoid huge slowdowns.
@@ -1407,37 +1387,40 @@ static GraphId DeadlockCheck(Mutex *mu) {
1407
1387
  for (int j = 0; j != all_locks->n; j++) {
1408
1388
  void* pr = deadlock_graph->Ptr(all_locks->locks[j].id);
1409
1389
  if (pr != nullptr) {
1410
- snprintf(b->buf + len, sizeof (b->buf) - len, " %p", pr);
1390
+ snprintf(b->buf + len, sizeof(b->buf) - len, " %p", pr);
1411
1391
  len += strlen(&b->buf[len]);
1412
1392
  }
1413
1393
  }
1414
1394
  ABSL_RAW_LOG(ERROR,
1415
1395
  "Acquiring absl::Mutex %p while holding %s; a cycle in the "
1416
1396
  "historical lock ordering graph has been observed",
1417
- static_cast<void *>(mu), b->buf);
1397
+ static_cast<void*>(mu), b->buf);
1418
1398
  ABSL_RAW_LOG(ERROR, "Cycle: ");
1419
- int path_len = deadlock_graph->FindPath(
1420
- mu_id, other_node_id, ABSL_ARRAYSIZE(b->path), b->path);
1421
- for (int j = 0; j != path_len; j++) {
1399
+ int path_len = deadlock_graph->FindPath(mu_id, other_node_id,
1400
+ ABSL_ARRAYSIZE(b->path), b->path);
1401
+ for (int j = 0; j != path_len && j != ABSL_ARRAYSIZE(b->path); j++) {
1422
1402
  GraphId id = b->path[j];
1423
- Mutex *path_mu = static_cast<Mutex *>(deadlock_graph->Ptr(id));
1403
+ Mutex* path_mu = static_cast<Mutex*>(deadlock_graph->Ptr(id));
1424
1404
  if (path_mu == nullptr) continue;
1425
1405
  void** stack;
1426
1406
  int depth = deadlock_graph->GetStackTrace(id, &stack);
1427
1407
  snprintf(b->buf, sizeof(b->buf),
1428
- "mutex@%p stack: ", static_cast<void *>(path_mu));
1408
+ "mutex@%p stack: ", static_cast<void*>(path_mu));
1429
1409
  StackString(stack, depth, b->buf + strlen(b->buf),
1430
1410
  static_cast<int>(sizeof(b->buf) - strlen(b->buf)),
1431
1411
  symbolize);
1432
1412
  ABSL_RAW_LOG(ERROR, "%s", b->buf);
1433
1413
  }
1414
+ if (path_len > static_cast<int>(ABSL_ARRAYSIZE(b->path))) {
1415
+ ABSL_RAW_LOG(ERROR, "(long cycle; list truncated)");
1416
+ }
1434
1417
  if (synch_deadlock_detection.load(std::memory_order_acquire) ==
1435
1418
  OnDeadlockCycle::kAbort) {
1436
1419
  deadlock_graph_mu.Unlock(); // avoid deadlock in fatal sighandler
1437
1420
  ABSL_RAW_LOG(FATAL, "dying due to potential deadlock");
1438
1421
  return mu_id;
1439
1422
  }
1440
- break; // report at most one potential deadlock per acquisition
1423
+ break; // report at most one potential deadlock per acquisition
1441
1424
  }
1442
1425
  }
1443
1426
 
@@ -1446,7 +1429,7 @@ static GraphId DeadlockCheck(Mutex *mu) {
1446
1429
 
1447
1430
  // Invoke DeadlockCheck() iff we're in debug mode and
1448
1431
  // deadlock checking has been enabled.
1449
- static inline GraphId DebugOnlyDeadlockCheck(Mutex *mu) {
1432
+ static inline GraphId DebugOnlyDeadlockCheck(Mutex* mu) {
1450
1433
  if (kDebugMode && synch_deadlock_detection.load(std::memory_order_acquire) !=
1451
1434
  OnDeadlockCycle::kIgnore) {
1452
1435
  return DeadlockCheck(mu);
@@ -1473,13 +1456,13 @@ void Mutex::AssertNotHeld() const {
1473
1456
  (mu_.load(std::memory_order_relaxed) & (kMuWriter | kMuReader)) != 0 &&
1474
1457
  synch_deadlock_detection.load(std::memory_order_acquire) !=
1475
1458
  OnDeadlockCycle::kIgnore) {
1476
- GraphId id = GetGraphId(const_cast<Mutex *>(this));
1477
- SynchLocksHeld *locks = Synch_GetAllLocks();
1459
+ GraphId id = GetGraphId(const_cast<Mutex*>(this));
1460
+ SynchLocksHeld* locks = Synch_GetAllLocks();
1478
1461
  for (int i = 0; i != locks->n; i++) {
1479
1462
  if (locks->locks[i].id == id) {
1480
- SynchEvent *mu_events = GetSynchEvent(this);
1463
+ SynchEvent* mu_events = GetSynchEvent(this);
1481
1464
  ABSL_RAW_LOG(FATAL, "thread should not hold mutex %p %s",
1482
- static_cast<const void *>(this),
1465
+ static_cast<const void*>(this),
1483
1466
  (mu_events == nullptr ? "" : mu_events->name));
1484
1467
  }
1485
1468
  }
@@ -1492,8 +1475,8 @@ static bool TryAcquireWithSpinning(std::atomic<intptr_t>* mu) {
1492
1475
  int c = GetMutexGlobals().spinloop_iterations;
1493
1476
  do { // do/while somewhat faster on AMD
1494
1477
  intptr_t v = mu->load(std::memory_order_relaxed);
1495
- if ((v & (kMuReader|kMuEvent)) != 0) {
1496
- return false; // a reader or tracing -> give up
1478
+ if ((v & (kMuReader | kMuEvent)) != 0) {
1479
+ return false; // a reader or tracing -> give up
1497
1480
  } else if (((v & kMuWriter) == 0) && // no holder -> try to acquire
1498
1481
  mu->compare_exchange_strong(v, kMuWriter | v,
1499
1482
  std::memory_order_acquire,
@@ -1510,8 +1493,7 @@ void Mutex::Lock() {
1510
1493
  intptr_t v = mu_.load(std::memory_order_relaxed);
1511
1494
  // try fast acquire, then spin loop
1512
1495
  if ((v & (kMuWriter | kMuReader | kMuEvent)) != 0 ||
1513
- !mu_.compare_exchange_strong(v, kMuWriter | v,
1514
- std::memory_order_acquire,
1496
+ !mu_.compare_exchange_strong(v, kMuWriter | v, std::memory_order_acquire,
1515
1497
  std::memory_order_relaxed)) {
1516
1498
  // try spin acquire, then slow loop
1517
1499
  if (!TryAcquireWithSpinning(&this->mu_)) {
@@ -1537,7 +1519,7 @@ void Mutex::ReaderLock() {
1537
1519
  ABSL_TSAN_MUTEX_POST_LOCK(this, __tsan_mutex_read_lock, 0);
1538
1520
  }
1539
1521
 
1540
- void Mutex::LockWhen(const Condition &cond) {
1522
+ void Mutex::LockWhen(const Condition& cond) {
1541
1523
  ABSL_TSAN_MUTEX_PRE_LOCK(this, 0);
1542
1524
  GraphId id = DebugOnlyDeadlockCheck(this);
1543
1525
  this->LockSlow(kExclusive, &cond, 0);
@@ -1545,21 +1527,26 @@ void Mutex::LockWhen(const Condition &cond) {
1545
1527
  ABSL_TSAN_MUTEX_POST_LOCK(this, 0, 0);
1546
1528
  }
1547
1529
 
1548
- bool Mutex::LockWhenWithTimeout(const Condition &cond, absl::Duration timeout) {
1549
- return LockWhenWithDeadline(cond, DeadlineFromTimeout(timeout));
1530
+ bool Mutex::LockWhenWithTimeout(const Condition& cond, absl::Duration timeout) {
1531
+ ABSL_TSAN_MUTEX_PRE_LOCK(this, 0);
1532
+ GraphId id = DebugOnlyDeadlockCheck(this);
1533
+ bool res = LockSlowWithDeadline(kExclusive, &cond, KernelTimeout(timeout), 0);
1534
+ DebugOnlyLockEnter(this, id);
1535
+ ABSL_TSAN_MUTEX_POST_LOCK(this, 0, 0);
1536
+ return res;
1550
1537
  }
1551
1538
 
1552
- bool Mutex::LockWhenWithDeadline(const Condition &cond, absl::Time deadline) {
1539
+ bool Mutex::LockWhenWithDeadline(const Condition& cond, absl::Time deadline) {
1553
1540
  ABSL_TSAN_MUTEX_PRE_LOCK(this, 0);
1554
1541
  GraphId id = DebugOnlyDeadlockCheck(this);
1555
- bool res = LockSlowWithDeadline(kExclusive, &cond,
1556
- KernelTimeout(deadline), 0);
1542
+ bool res =
1543
+ LockSlowWithDeadline(kExclusive, &cond, KernelTimeout(deadline), 0);
1557
1544
  DebugOnlyLockEnter(this, id);
1558
1545
  ABSL_TSAN_MUTEX_POST_LOCK(this, 0, 0);
1559
1546
  return res;
1560
1547
  }
1561
1548
 
1562
- void Mutex::ReaderLockWhen(const Condition &cond) {
1549
+ void Mutex::ReaderLockWhen(const Condition& cond) {
1563
1550
  ABSL_TSAN_MUTEX_PRE_LOCK(this, __tsan_mutex_read_lock);
1564
1551
  GraphId id = DebugOnlyDeadlockCheck(this);
1565
1552
  this->LockSlow(kShared, &cond, 0);
@@ -1567,12 +1554,17 @@ void Mutex::ReaderLockWhen(const Condition &cond) {
1567
1554
  ABSL_TSAN_MUTEX_POST_LOCK(this, __tsan_mutex_read_lock, 0);
1568
1555
  }
1569
1556
 
1570
- bool Mutex::ReaderLockWhenWithTimeout(const Condition &cond,
1557
+ bool Mutex::ReaderLockWhenWithTimeout(const Condition& cond,
1571
1558
  absl::Duration timeout) {
1572
- return ReaderLockWhenWithDeadline(cond, DeadlineFromTimeout(timeout));
1559
+ ABSL_TSAN_MUTEX_PRE_LOCK(this, __tsan_mutex_read_lock);
1560
+ GraphId id = DebugOnlyDeadlockCheck(this);
1561
+ bool res = LockSlowWithDeadline(kShared, &cond, KernelTimeout(timeout), 0);
1562
+ DebugOnlyLockEnter(this, id);
1563
+ ABSL_TSAN_MUTEX_POST_LOCK(this, __tsan_mutex_read_lock, 0);
1564
+ return res;
1573
1565
  }
1574
1566
 
1575
- bool Mutex::ReaderLockWhenWithDeadline(const Condition &cond,
1567
+ bool Mutex::ReaderLockWhenWithDeadline(const Condition& cond,
1576
1568
  absl::Time deadline) {
1577
1569
  ABSL_TSAN_MUTEX_PRE_LOCK(this, __tsan_mutex_read_lock);
1578
1570
  GraphId id = DebugOnlyDeadlockCheck(this);
@@ -1582,23 +1574,34 @@ bool Mutex::ReaderLockWhenWithDeadline(const Condition &cond,
1582
1574
  return res;
1583
1575
  }
1584
1576
 
1585
- void Mutex::Await(const Condition &cond) {
1586
- if (cond.Eval()) { // condition already true; nothing to do
1577
+ void Mutex::Await(const Condition& cond) {
1578
+ if (cond.Eval()) { // condition already true; nothing to do
1587
1579
  if (kDebugMode) {
1588
1580
  this->AssertReaderHeld();
1589
1581
  }
1590
- } else { // normal case
1582
+ } else { // normal case
1591
1583
  ABSL_RAW_CHECK(this->AwaitCommon(cond, KernelTimeout::Never()),
1592
1584
  "condition untrue on return from Await");
1593
1585
  }
1594
1586
  }
1595
1587
 
1596
- bool Mutex::AwaitWithTimeout(const Condition &cond, absl::Duration timeout) {
1597
- return AwaitWithDeadline(cond, DeadlineFromTimeout(timeout));
1588
+ bool Mutex::AwaitWithTimeout(const Condition& cond, absl::Duration timeout) {
1589
+ if (cond.Eval()) { // condition already true; nothing to do
1590
+ if (kDebugMode) {
1591
+ this->AssertReaderHeld();
1592
+ }
1593
+ return true;
1594
+ }
1595
+
1596
+ KernelTimeout t{timeout};
1597
+ bool res = this->AwaitCommon(cond, t);
1598
+ ABSL_RAW_CHECK(res || t.has_timeout(),
1599
+ "condition untrue on return from Await");
1600
+ return res;
1598
1601
  }
1599
1602
 
1600
- bool Mutex::AwaitWithDeadline(const Condition &cond, absl::Time deadline) {
1601
- if (cond.Eval()) { // condition already true; nothing to do
1603
+ bool Mutex::AwaitWithDeadline(const Condition& cond, absl::Time deadline) {
1604
+ if (cond.Eval()) { // condition already true; nothing to do
1602
1605
  if (kDebugMode) {
1603
1606
  this->AssertReaderHeld();
1604
1607
  }
@@ -1612,14 +1615,14 @@ bool Mutex::AwaitWithDeadline(const Condition &cond, absl::Time deadline) {
1612
1615
  return res;
1613
1616
  }
1614
1617
 
1615
- bool Mutex::AwaitCommon(const Condition &cond, KernelTimeout t) {
1618
+ bool Mutex::AwaitCommon(const Condition& cond, KernelTimeout t) {
1616
1619
  this->AssertReaderHeld();
1617
1620
  MuHow how =
1618
1621
  (mu_.load(std::memory_order_relaxed) & kMuWriter) ? kExclusive : kShared;
1619
1622
  ABSL_TSAN_MUTEX_PRE_UNLOCK(this, TsanFlags(how));
1620
- SynchWaitParams waitp(
1621
- how, &cond, t, nullptr /*no cvmu*/, Synch_GetPerThreadAnnotated(this),
1622
- nullptr /*no cv_word*/);
1623
+ SynchWaitParams waitp(how, &cond, t, nullptr /*no cvmu*/,
1624
+ Synch_GetPerThreadAnnotated(this),
1625
+ nullptr /*no cv_word*/);
1623
1626
  int flags = kMuHasBlocked;
1624
1627
  if (!Condition::GuaranteedEqual(&cond, nullptr)) {
1625
1628
  flags |= kMuIsCond;
@@ -1639,14 +1642,13 @@ bool Mutex::TryLock() {
1639
1642
  ABSL_TSAN_MUTEX_PRE_LOCK(this, __tsan_mutex_try_lock);
1640
1643
  intptr_t v = mu_.load(std::memory_order_relaxed);
1641
1644
  if ((v & (kMuWriter | kMuReader | kMuEvent)) == 0 && // try fast acquire
1642
- mu_.compare_exchange_strong(v, kMuWriter | v,
1643
- std::memory_order_acquire,
1645
+ mu_.compare_exchange_strong(v, kMuWriter | v, std::memory_order_acquire,
1644
1646
  std::memory_order_relaxed)) {
1645
1647
  DebugOnlyLockEnter(this);
1646
1648
  ABSL_TSAN_MUTEX_POST_LOCK(this, __tsan_mutex_try_lock, 0);
1647
1649
  return true;
1648
1650
  }
1649
- if ((v & kMuEvent) != 0) { // we're recording events
1651
+ if ((v & kMuEvent) != 0) { // we're recording events
1650
1652
  if ((v & kExclusive->slow_need_zero) == 0 && // try fast acquire
1651
1653
  mu_.compare_exchange_strong(
1652
1654
  v, (kExclusive->fast_or | v) + kExclusive->fast_add,
@@ -1672,7 +1674,7 @@ bool Mutex::ReaderTryLock() {
1672
1674
  // changing (typically because the reader count changes) under the CAS. We
1673
1675
  // limit the number of attempts to avoid having to think about livelock.
1674
1676
  int loop_limit = 5;
1675
- while ((v & (kMuWriter|kMuWait|kMuEvent)) == 0 && loop_limit != 0) {
1677
+ while ((v & (kMuWriter | kMuWait | kMuEvent)) == 0 && loop_limit != 0) {
1676
1678
  if (mu_.compare_exchange_strong(v, (kMuReader | v) + kMuOne,
1677
1679
  std::memory_order_acquire,
1678
1680
  std::memory_order_relaxed)) {
@@ -1684,7 +1686,7 @@ bool Mutex::ReaderTryLock() {
1684
1686
  loop_limit--;
1685
1687
  v = mu_.load(std::memory_order_relaxed);
1686
1688
  }
1687
- if ((v & kMuEvent) != 0) { // we're recording events
1689
+ if ((v & kMuEvent) != 0) { // we're recording events
1688
1690
  loop_limit = 5;
1689
1691
  while ((v & kShared->slow_need_zero) == 0 && loop_limit != 0) {
1690
1692
  if (mu_.compare_exchange_strong(v, (kMuReader | v) + kMuOne,
@@ -1723,7 +1725,7 @@ void Mutex::Unlock() {
1723
1725
  // should_try_cas is whether we'll try a compare-and-swap immediately.
1724
1726
  // NOTE: optimized out when kDebugMode is false.
1725
1727
  bool should_try_cas = ((v & (kMuEvent | kMuWriter)) == kMuWriter &&
1726
- (v & (kMuWait | kMuDesig)) != kMuWait);
1728
+ (v & (kMuWait | kMuDesig)) != kMuWait);
1727
1729
  // But, we can use an alternate computation of it, that compilers
1728
1730
  // currently don't find on their own. When that changes, this function
1729
1731
  // can be simplified.
@@ -1740,10 +1742,9 @@ void Mutex::Unlock() {
1740
1742
  static_cast<long long>(v), static_cast<long long>(x),
1741
1743
  static_cast<long long>(y));
1742
1744
  }
1743
- if (x < y &&
1744
- mu_.compare_exchange_strong(v, v & ~(kMuWrWait | kMuWriter),
1745
- std::memory_order_release,
1746
- std::memory_order_relaxed)) {
1745
+ if (x < y && mu_.compare_exchange_strong(v, v & ~(kMuWrWait | kMuWriter),
1746
+ std::memory_order_release,
1747
+ std::memory_order_relaxed)) {
1747
1748
  // fast writer release (writer with no waiters or with designated waker)
1748
1749
  } else {
1749
1750
  this->UnlockSlow(nullptr /*no waitp*/); // take slow path
@@ -1753,7 +1754,7 @@ void Mutex::Unlock() {
1753
1754
 
1754
1755
  // Requires v to represent a reader-locked state.
1755
1756
  static bool ExactlyOneReader(intptr_t v) {
1756
- assert((v & (kMuWriter|kMuReader)) == kMuReader);
1757
+ assert((v & (kMuWriter | kMuReader)) == kMuReader);
1757
1758
  assert((v & kMuHigh) != 0);
1758
1759
  // The more straightforward "(v & kMuHigh) == kMuOne" also works, but
1759
1760
  // on some architectures the following generates slightly smaller code.
@@ -1766,12 +1767,11 @@ void Mutex::ReaderUnlock() {
1766
1767
  ABSL_TSAN_MUTEX_PRE_UNLOCK(this, __tsan_mutex_read_lock);
1767
1768
  DebugOnlyLockLeave(this);
1768
1769
  intptr_t v = mu_.load(std::memory_order_relaxed);
1769
- assert((v & (kMuWriter|kMuReader)) == kMuReader);
1770
- if ((v & (kMuReader|kMuWait|kMuEvent)) == kMuReader) {
1770
+ assert((v & (kMuWriter | kMuReader)) == kMuReader);
1771
+ if ((v & (kMuReader | kMuWait | kMuEvent)) == kMuReader) {
1771
1772
  // fast reader release (reader with no waiters)
1772
- intptr_t clear = ExactlyOneReader(v) ? kMuReader|kMuOne : kMuOne;
1773
- if (mu_.compare_exchange_strong(v, v - clear,
1774
- std::memory_order_release,
1773
+ intptr_t clear = ExactlyOneReader(v) ? kMuReader | kMuOne : kMuOne;
1774
+ if (mu_.compare_exchange_strong(v, v - clear, std::memory_order_release,
1775
1775
  std::memory_order_relaxed)) {
1776
1776
  ABSL_TSAN_MUTEX_POST_UNLOCK(this, __tsan_mutex_read_lock);
1777
1777
  return;
@@ -1810,7 +1810,7 @@ static intptr_t IgnoreWaitingWritersMask(int flag) {
1810
1810
  }
1811
1811
 
1812
1812
  // Internal version of LockWhen(). See LockSlowWithDeadline()
1813
- ABSL_ATTRIBUTE_NOINLINE void Mutex::LockSlow(MuHow how, const Condition *cond,
1813
+ ABSL_ATTRIBUTE_NOINLINE void Mutex::LockSlow(MuHow how, const Condition* cond,
1814
1814
  int flags) {
1815
1815
  ABSL_RAW_CHECK(
1816
1816
  this->LockSlowWithDeadline(how, cond, KernelTimeout::Never(), flags),
@@ -1818,7 +1818,7 @@ ABSL_ATTRIBUTE_NOINLINE void Mutex::LockSlow(MuHow how, const Condition *cond,
1818
1818
  }
1819
1819
 
1820
1820
  // Compute cond->Eval() and tell race detectors that we do it under mutex mu.
1821
- static inline bool EvalConditionAnnotated(const Condition *cond, Mutex *mu,
1821
+ static inline bool EvalConditionAnnotated(const Condition* cond, Mutex* mu,
1822
1822
  bool locking, bool trylock,
1823
1823
  bool read_lock) {
1824
1824
  // Delicate annotation dance.
@@ -1868,7 +1868,7 @@ static inline bool EvalConditionAnnotated(const Condition *cond, Mutex *mu,
1868
1868
  // tsan). As the result there is no tsan-visible synchronization between the
1869
1869
  // addition and this thread. So if we would enable race detection here,
1870
1870
  // it would race with the predicate initialization.
1871
- static inline bool EvalConditionIgnored(Mutex *mu, const Condition *cond) {
1871
+ static inline bool EvalConditionIgnored(Mutex* mu, const Condition* cond) {
1872
1872
  // Memory accesses are already ignored inside of lock/unlock operations,
1873
1873
  // but synchronization operations are also ignored. When we evaluate the
1874
1874
  // predicate we must ignore only memory accesses but not synchronization,
@@ -1893,7 +1893,7 @@ static inline bool EvalConditionIgnored(Mutex *mu, const Condition *cond) {
1893
1893
  // obstruct this call
1894
1894
  // - kMuIsCond indicates that this is a conditional acquire (condition variable,
1895
1895
  // Await, LockWhen) so contention profiling should be suppressed.
1896
- bool Mutex::LockSlowWithDeadline(MuHow how, const Condition *cond,
1896
+ bool Mutex::LockSlowWithDeadline(MuHow how, const Condition* cond,
1897
1897
  KernelTimeout t, int flags) {
1898
1898
  intptr_t v = mu_.load(std::memory_order_relaxed);
1899
1899
  bool unlock = false;
@@ -1910,9 +1910,9 @@ bool Mutex::LockSlowWithDeadline(MuHow how, const Condition *cond,
1910
1910
  }
1911
1911
  unlock = true;
1912
1912
  }
1913
- SynchWaitParams waitp(
1914
- how, cond, t, nullptr /*no cvmu*/, Synch_GetPerThreadAnnotated(this),
1915
- nullptr /*no cv_word*/);
1913
+ SynchWaitParams waitp(how, cond, t, nullptr /*no cvmu*/,
1914
+ Synch_GetPerThreadAnnotated(this),
1915
+ nullptr /*no cv_word*/);
1916
1916
  if (!Condition::GuaranteedEqual(cond, nullptr)) {
1917
1917
  flags |= kMuIsCond;
1918
1918
  }
@@ -1953,20 +1953,20 @@ static void CheckForMutexCorruption(intptr_t v, const char* label) {
1953
1953
  if (ABSL_PREDICT_TRUE((w & (w << 3) & (kMuWriter | kMuWrWait)) == 0)) return;
1954
1954
  RAW_CHECK_FMT((v & (kMuWriter | kMuReader)) != (kMuWriter | kMuReader),
1955
1955
  "%s: Mutex corrupt: both reader and writer lock held: %p",
1956
- label, reinterpret_cast<void *>(v));
1956
+ label, reinterpret_cast<void*>(v));
1957
1957
  RAW_CHECK_FMT((v & (kMuWait | kMuWrWait)) != kMuWrWait,
1958
- "%s: Mutex corrupt: waiting writer with no waiters: %p",
1959
- label, reinterpret_cast<void *>(v));
1958
+ "%s: Mutex corrupt: waiting writer with no waiters: %p", label,
1959
+ reinterpret_cast<void*>(v));
1960
1960
  assert(false);
1961
1961
  }
1962
1962
 
1963
- void Mutex::LockSlowLoop(SynchWaitParams *waitp, int flags) {
1963
+ void Mutex::LockSlowLoop(SynchWaitParams* waitp, int flags) {
1964
1964
  SchedulingGuard::ScopedDisable disable_rescheduling;
1965
1965
  int c = 0;
1966
1966
  intptr_t v = mu_.load(std::memory_order_relaxed);
1967
1967
  if ((v & kMuEvent) != 0) {
1968
- PostSynchEvent(this,
1969
- waitp->how == kExclusive? SYNCH_EV_LOCK: SYNCH_EV_READERLOCK);
1968
+ PostSynchEvent(
1969
+ this, waitp->how == kExclusive ? SYNCH_EV_LOCK : SYNCH_EV_READERLOCK);
1970
1970
  }
1971
1971
  ABSL_RAW_CHECK(
1972
1972
  waitp->thread->waitp == nullptr || waitp->thread->suppress_fatal_errors,
@@ -1991,11 +1991,11 @@ void Mutex::LockSlowLoop(SynchWaitParams *waitp, int flags) {
1991
1991
  flags |= kMuHasBlocked;
1992
1992
  c = 0;
1993
1993
  }
1994
- } else { // need to access waiter list
1994
+ } else { // need to access waiter list
1995
1995
  bool dowait = false;
1996
- if ((v & (kMuSpin|kMuWait)) == 0) { // no waiters
1996
+ if ((v & (kMuSpin | kMuWait)) == 0) { // no waiters
1997
1997
  // This thread tries to become the one and only waiter.
1998
- PerThreadSynch *new_h = Enqueue(nullptr, waitp, v, flags);
1998
+ PerThreadSynch* new_h = Enqueue(nullptr, waitp, v, flags);
1999
1999
  intptr_t nv =
2000
2000
  (v & ClearDesignatedWakerMask(flags & kMuHasBlocked) & kMuLow) |
2001
2001
  kMuWait;
@@ -2007,7 +2007,7 @@ void Mutex::LockSlowLoop(SynchWaitParams *waitp, int flags) {
2007
2007
  v, reinterpret_cast<intptr_t>(new_h) | nv,
2008
2008
  std::memory_order_release, std::memory_order_relaxed)) {
2009
2009
  dowait = true;
2010
- } else { // attempted Enqueue() failed
2010
+ } else { // attempted Enqueue() failed
2011
2011
  // zero out the waitp field set by Enqueue()
2012
2012
  waitp->thread->waitp = nullptr;
2013
2013
  }
@@ -2020,9 +2020,9 @@ void Mutex::LockSlowLoop(SynchWaitParams *waitp, int flags) {
2020
2020
  (v & ClearDesignatedWakerMask(flags & kMuHasBlocked)) |
2021
2021
  kMuSpin | kMuReader,
2022
2022
  std::memory_order_acquire, std::memory_order_relaxed)) {
2023
- PerThreadSynch *h = GetPerThreadSynch(v);
2024
- h->readers += kMuOne; // inc reader count in waiter
2025
- do { // release spinlock
2023
+ PerThreadSynch* h = GetPerThreadSynch(v);
2024
+ h->readers += kMuOne; // inc reader count in waiter
2025
+ do { // release spinlock
2026
2026
  v = mu_.load(std::memory_order_relaxed);
2027
2027
  } while (!mu_.compare_exchange_weak(v, (v & ~kMuSpin) | kMuReader,
2028
2028
  std::memory_order_release,
@@ -2032,7 +2032,7 @@ void Mutex::LockSlowLoop(SynchWaitParams *waitp, int flags) {
2032
2032
  waitp->how == kShared)) {
2033
2033
  break; // we timed out, or condition true, so return
2034
2034
  }
2035
- this->UnlockSlow(waitp); // got lock but condition false
2035
+ this->UnlockSlow(waitp); // got lock but condition false
2036
2036
  this->Block(waitp->thread);
2037
2037
  flags |= kMuHasBlocked;
2038
2038
  c = 0;
@@ -2043,18 +2043,19 @@ void Mutex::LockSlowLoop(SynchWaitParams *waitp, int flags) {
2043
2043
  (v & ClearDesignatedWakerMask(flags & kMuHasBlocked)) |
2044
2044
  kMuSpin | kMuWait,
2045
2045
  std::memory_order_acquire, std::memory_order_relaxed)) {
2046
- PerThreadSynch *h = GetPerThreadSynch(v);
2047
- PerThreadSynch *new_h = Enqueue(h, waitp, v, flags);
2046
+ PerThreadSynch* h = GetPerThreadSynch(v);
2047
+ PerThreadSynch* new_h = Enqueue(h, waitp, v, flags);
2048
2048
  intptr_t wr_wait = 0;
2049
2049
  ABSL_RAW_CHECK(new_h != nullptr, "Enqueue to list failed");
2050
2050
  if (waitp->how == kExclusive && (v & kMuReader) != 0) {
2051
- wr_wait = kMuWrWait; // give priority to a waiting writer
2051
+ wr_wait = kMuWrWait; // give priority to a waiting writer
2052
2052
  }
2053
- do { // release spinlock
2053
+ do { // release spinlock
2054
2054
  v = mu_.load(std::memory_order_relaxed);
2055
2055
  } while (!mu_.compare_exchange_weak(
2056
- v, (v & (kMuLow & ~kMuSpin)) | kMuWait | wr_wait |
2057
- reinterpret_cast<intptr_t>(new_h),
2056
+ v,
2057
+ (v & (kMuLow & ~kMuSpin)) | kMuWait | wr_wait |
2058
+ reinterpret_cast<intptr_t>(new_h),
2058
2059
  std::memory_order_release, std::memory_order_relaxed));
2059
2060
  dowait = true;
2060
2061
  }
@@ -2074,9 +2075,9 @@ void Mutex::LockSlowLoop(SynchWaitParams *waitp, int flags) {
2074
2075
  waitp->thread->waitp == nullptr || waitp->thread->suppress_fatal_errors,
2075
2076
  "detected illegal recursion into Mutex code");
2076
2077
  if ((v & kMuEvent) != 0) {
2077
- PostSynchEvent(this,
2078
- waitp->how == kExclusive? SYNCH_EV_LOCK_RETURNING :
2079
- SYNCH_EV_READERLOCK_RETURNING);
2078
+ PostSynchEvent(this, waitp->how == kExclusive
2079
+ ? SYNCH_EV_LOCK_RETURNING
2080
+ : SYNCH_EV_READERLOCK_RETURNING);
2080
2081
  }
2081
2082
  }
2082
2083
 
@@ -2085,28 +2086,28 @@ void Mutex::LockSlowLoop(SynchWaitParams *waitp, int flags) {
2085
2086
  // which holds the lock but is not runnable because its condition is false
2086
2087
  // or it is in the process of blocking on a condition variable; it must requeue
2087
2088
  // itself on the mutex/condvar to wait for its condition to become true.
2088
- ABSL_ATTRIBUTE_NOINLINE void Mutex::UnlockSlow(SynchWaitParams *waitp) {
2089
+ ABSL_ATTRIBUTE_NOINLINE void Mutex::UnlockSlow(SynchWaitParams* waitp) {
2089
2090
  SchedulingGuard::ScopedDisable disable_rescheduling;
2090
2091
  intptr_t v = mu_.load(std::memory_order_relaxed);
2091
2092
  this->AssertReaderHeld();
2092
2093
  CheckForMutexCorruption(v, "Unlock");
2093
2094
  if ((v & kMuEvent) != 0) {
2094
- PostSynchEvent(this,
2095
- (v & kMuWriter) != 0? SYNCH_EV_UNLOCK: SYNCH_EV_READERUNLOCK);
2095
+ PostSynchEvent(
2096
+ this, (v & kMuWriter) != 0 ? SYNCH_EV_UNLOCK : SYNCH_EV_READERUNLOCK);
2096
2097
  }
2097
2098
  int c = 0;
2098
2099
  // the waiter under consideration to wake, or zero
2099
- PerThreadSynch *w = nullptr;
2100
+ PerThreadSynch* w = nullptr;
2100
2101
  // the predecessor to w or zero
2101
- PerThreadSynch *pw = nullptr;
2102
+ PerThreadSynch* pw = nullptr;
2102
2103
  // head of the list searched previously, or zero
2103
- PerThreadSynch *old_h = nullptr;
2104
+ PerThreadSynch* old_h = nullptr;
2104
2105
  // a condition that's known to be false.
2105
- const Condition *known_false = nullptr;
2106
- PerThreadSynch *wake_list = kPerThreadSynchNull; // list of threads to wake
2107
- intptr_t wr_wait = 0; // set to kMuWrWait if we wake a reader and a
2108
- // later writer could have acquired the lock
2109
- // (starvation avoidance)
2106
+ const Condition* known_false = nullptr;
2107
+ PerThreadSynch* wake_list = kPerThreadSynchNull; // list of threads to wake
2108
+ intptr_t wr_wait = 0; // set to kMuWrWait if we wake a reader and a
2109
+ // later writer could have acquired the lock
2110
+ // (starvation avoidance)
2110
2111
  ABSL_RAW_CHECK(waitp == nullptr || waitp->thread->waitp == nullptr ||
2111
2112
  waitp->thread->suppress_fatal_errors,
2112
2113
  "detected illegal recursion into Mutex code");
@@ -2126,8 +2127,7 @@ ABSL_ATTRIBUTE_NOINLINE void Mutex::UnlockSlow(SynchWaitParams *waitp) {
2126
2127
  } else if ((v & (kMuReader | kMuWait)) == kMuReader && waitp == nullptr) {
2127
2128
  // fast reader release (reader with no waiters)
2128
2129
  intptr_t clear = ExactlyOneReader(v) ? kMuReader | kMuOne : kMuOne;
2129
- if (mu_.compare_exchange_strong(v, v - clear,
2130
- std::memory_order_release,
2130
+ if (mu_.compare_exchange_strong(v, v - clear, std::memory_order_release,
2131
2131
  std::memory_order_relaxed)) {
2132
2132
  return;
2133
2133
  }
@@ -2135,16 +2135,16 @@ ABSL_ATTRIBUTE_NOINLINE void Mutex::UnlockSlow(SynchWaitParams *waitp) {
2135
2135
  mu_.compare_exchange_strong(v, v | kMuSpin,
2136
2136
  std::memory_order_acquire,
2137
2137
  std::memory_order_relaxed)) {
2138
- if ((v & kMuWait) == 0) { // no one to wake
2138
+ if ((v & kMuWait) == 0) { // no one to wake
2139
2139
  intptr_t nv;
2140
2140
  bool do_enqueue = true; // always Enqueue() the first time
2141
2141
  ABSL_RAW_CHECK(waitp != nullptr,
2142
2142
  "UnlockSlow is confused"); // about to sleep
2143
- do { // must loop to release spinlock as reader count may change
2143
+ do { // must loop to release spinlock as reader count may change
2144
2144
  v = mu_.load(std::memory_order_relaxed);
2145
2145
  // decrement reader count if there are readers
2146
- intptr_t new_readers = (v >= kMuOne)? v - kMuOne : v;
2147
- PerThreadSynch *new_h = nullptr;
2146
+ intptr_t new_readers = (v >= kMuOne) ? v - kMuOne : v;
2147
+ PerThreadSynch* new_h = nullptr;
2148
2148
  if (do_enqueue) {
2149
2149
  // If we are enqueuing on a CondVar (waitp->cv_word != nullptr) then
2150
2150
  // we must not retry here. The initial attempt will always have
@@ -2168,21 +2168,20 @@ ABSL_ATTRIBUTE_NOINLINE void Mutex::UnlockSlow(SynchWaitParams *waitp) {
2168
2168
  }
2169
2169
  // release spinlock & our lock; retry if reader-count changed
2170
2170
  // (writer count cannot change since we hold lock)
2171
- } while (!mu_.compare_exchange_weak(v, nv,
2172
- std::memory_order_release,
2171
+ } while (!mu_.compare_exchange_weak(v, nv, std::memory_order_release,
2173
2172
  std::memory_order_relaxed));
2174
2173
  break;
2175
2174
  }
2176
2175
 
2177
2176
  // There are waiters.
2178
2177
  // Set h to the head of the circular waiter list.
2179
- PerThreadSynch *h = GetPerThreadSynch(v);
2178
+ PerThreadSynch* h = GetPerThreadSynch(v);
2180
2179
  if ((v & kMuReader) != 0 && (h->readers & kMuHigh) > kMuOne) {
2181
2180
  // a reader but not the last
2182
- h->readers -= kMuOne; // release our lock
2183
- intptr_t nv = v; // normally just release spinlock
2181
+ h->readers -= kMuOne; // release our lock
2182
+ intptr_t nv = v; // normally just release spinlock
2184
2183
  if (waitp != nullptr) { // but waitp!=nullptr => must queue ourselves
2185
- PerThreadSynch *new_h = Enqueue(h, waitp, v, kMuIsCond);
2184
+ PerThreadSynch* new_h = Enqueue(h, waitp, v, kMuIsCond);
2186
2185
  ABSL_RAW_CHECK(new_h != nullptr,
2187
2186
  "waiters disappeared during Enqueue()!");
2188
2187
  nv &= kMuLow;
@@ -2200,8 +2199,8 @@ ABSL_ATTRIBUTE_NOINLINE void Mutex::UnlockSlow(SynchWaitParams *waitp) {
2200
2199
 
2201
2200
  // The lock is becoming free, and there's a waiter
2202
2201
  if (old_h != nullptr &&
2203
- !old_h->may_skip) { // we used old_h as a terminator
2204
- old_h->may_skip = true; // allow old_h to skip once more
2202
+ !old_h->may_skip) { // we used old_h as a terminator
2203
+ old_h->may_skip = true; // allow old_h to skip once more
2205
2204
  ABSL_RAW_CHECK(old_h->skip == nullptr, "illegal skip from head");
2206
2205
  if (h != old_h && MuEquivalentWaiter(old_h, old_h->next)) {
2207
2206
  old_h->skip = old_h->next; // old_h not head & can skip to successor
@@ -2210,7 +2209,7 @@ ABSL_ATTRIBUTE_NOINLINE void Mutex::UnlockSlow(SynchWaitParams *waitp) {
2210
2209
  if (h->next->waitp->how == kExclusive &&
2211
2210
  Condition::GuaranteedEqual(h->next->waitp->cond, nullptr)) {
2212
2211
  // easy case: writer with no condition; no need to search
2213
- pw = h; // wake w, the successor of h (=pw)
2212
+ pw = h; // wake w, the successor of h (=pw)
2214
2213
  w = h->next;
2215
2214
  w->wake = true;
2216
2215
  // We are waking up a writer. This writer may be racing against
@@ -2233,13 +2232,13 @@ ABSL_ATTRIBUTE_NOINLINE void Mutex::UnlockSlow(SynchWaitParams *waitp) {
2233
2232
  // waiter has a condition or is a reader. We avoid searching over
2234
2233
  // waiters we've searched on previous iterations by starting at
2235
2234
  // old_h if it's set. If old_h==h, there's no one to wakeup at all.
2236
- if (old_h == h) { // we've searched before, and nothing's new
2237
- // so there's no one to wake.
2238
- intptr_t nv = (v & ~(kMuReader|kMuWriter|kMuWrWait));
2235
+ if (old_h == h) { // we've searched before, and nothing's new
2236
+ // so there's no one to wake.
2237
+ intptr_t nv = (v & ~(kMuReader | kMuWriter | kMuWrWait));
2239
2238
  h->readers = 0;
2240
- h->maybe_unlocking = false; // finished unlocking
2241
- if (waitp != nullptr) { // we must queue ourselves and sleep
2242
- PerThreadSynch *new_h = Enqueue(h, waitp, v, kMuIsCond);
2239
+ h->maybe_unlocking = false; // finished unlocking
2240
+ if (waitp != nullptr) { // we must queue ourselves and sleep
2241
+ PerThreadSynch* new_h = Enqueue(h, waitp, v, kMuIsCond);
2243
2242
  nv &= kMuLow;
2244
2243
  if (new_h != nullptr) {
2245
2244
  nv |= kMuWait | reinterpret_cast<intptr_t>(new_h);
@@ -2253,12 +2252,12 @@ ABSL_ATTRIBUTE_NOINLINE void Mutex::UnlockSlow(SynchWaitParams *waitp) {
2253
2252
  }
2254
2253
 
2255
2254
  // set up to walk the list
2256
- PerThreadSynch *w_walk; // current waiter during list walk
2257
- PerThreadSynch *pw_walk; // previous waiter during list walk
2255
+ PerThreadSynch* w_walk; // current waiter during list walk
2256
+ PerThreadSynch* pw_walk; // previous waiter during list walk
2258
2257
  if (old_h != nullptr) { // we've searched up to old_h before
2259
2258
  pw_walk = old_h;
2260
2259
  w_walk = old_h->next;
2261
- } else { // no prior search, start at beginning
2260
+ } else { // no prior search, start at beginning
2262
2261
  pw_walk =
2263
2262
  nullptr; // h->next's predecessor may change; don't record it
2264
2263
  w_walk = h->next;
@@ -2284,7 +2283,7 @@ ABSL_ATTRIBUTE_NOINLINE void Mutex::UnlockSlow(SynchWaitParams *waitp) {
2284
2283
  // to walk the path from w_walk to h inclusive. (TryRemove() can remove
2285
2284
  // a waiter anywhere, but it acquires both the spinlock and the Mutex)
2286
2285
 
2287
- old_h = h; // remember we searched to here
2286
+ old_h = h; // remember we searched to here
2288
2287
 
2289
2288
  // Walk the path upto and including h looking for waiters we can wake.
2290
2289
  while (pw_walk != h) {
@@ -2296,24 +2295,24 @@ ABSL_ATTRIBUTE_NOINLINE void Mutex::UnlockSlow(SynchWaitParams *waitp) {
2296
2295
  // is in fact true
2297
2296
  EvalConditionIgnored(this, w_walk->waitp->cond))) {
2298
2297
  if (w == nullptr) {
2299
- w_walk->wake = true; // can wake this waiter
2298
+ w_walk->wake = true; // can wake this waiter
2300
2299
  w = w_walk;
2301
2300
  pw = pw_walk;
2302
2301
  if (w_walk->waitp->how == kExclusive) {
2303
2302
  wr_wait = kMuWrWait;
2304
- break; // bail if waking this writer
2303
+ break; // bail if waking this writer
2305
2304
  }
2306
2305
  } else if (w_walk->waitp->how == kShared) { // wake if a reader
2307
2306
  w_walk->wake = true;
2308
- } else { // writer with true condition
2307
+ } else { // writer with true condition
2309
2308
  wr_wait = kMuWrWait;
2310
2309
  }
2311
- } else { // can't wake; condition false
2310
+ } else { // can't wake; condition false
2312
2311
  known_false = w_walk->waitp->cond; // remember last false condition
2313
2312
  }
2314
- if (w_walk->wake) { // we're waking reader w_walk
2315
- pw_walk = w_walk; // don't skip similar waiters
2316
- } else { // not waking; skip as much as possible
2313
+ if (w_walk->wake) { // we're waking reader w_walk
2314
+ pw_walk = w_walk; // don't skip similar waiters
2315
+ } else { // not waking; skip as much as possible
2317
2316
  pw_walk = Skip(w_walk);
2318
2317
  }
2319
2318
  // If pw_walk == h, then load of pw_walk->next can race with
@@ -2340,8 +2339,8 @@ ABSL_ATTRIBUTE_NOINLINE void Mutex::UnlockSlow(SynchWaitParams *waitp) {
2340
2339
  h = DequeueAllWakeable(h, pw, &wake_list);
2341
2340
 
2342
2341
  intptr_t nv = (v & kMuEvent) | kMuDesig;
2343
- // assume no waiters left,
2344
- // set kMuDesig for INV1a
2342
+ // assume no waiters left,
2343
+ // set kMuDesig for INV1a
2345
2344
 
2346
2345
  if (waitp != nullptr) { // we must queue ourselves and sleep
2347
2346
  h = Enqueue(h, waitp, v, kMuIsCond);
@@ -2354,7 +2353,7 @@ ABSL_ATTRIBUTE_NOINLINE void Mutex::UnlockSlow(SynchWaitParams *waitp) {
2354
2353
 
2355
2354
  if (h != nullptr) { // there are waiters left
2356
2355
  h->readers = 0;
2357
- h->maybe_unlocking = false; // finished unlocking
2356
+ h->maybe_unlocking = false; // finished unlocking
2358
2357
  nv |= wr_wait | kMuWait | reinterpret_cast<intptr_t>(h);
2359
2358
  }
2360
2359
 
@@ -2365,12 +2364,12 @@ ABSL_ATTRIBUTE_NOINLINE void Mutex::UnlockSlow(SynchWaitParams *waitp) {
2365
2364
  }
2366
2365
  // aggressive here; no one can proceed till we do
2367
2366
  c = synchronization_internal::MutexDelay(c, AGGRESSIVE);
2368
- } // end of for(;;)-loop
2367
+ } // end of for(;;)-loop
2369
2368
 
2370
2369
  if (wake_list != kPerThreadSynchNull) {
2371
2370
  int64_t total_wait_cycles = 0;
2372
2371
  int64_t max_wait_cycles = 0;
2373
- int64_t now = base_internal::CycleClock::Now();
2372
+ int64_t now = CycleClock::Now();
2374
2373
  do {
2375
2374
  // Profile lock contention events only if the waiter was trying to acquire
2376
2375
  // the lock, not waiting on a condition variable or Condition.
@@ -2382,7 +2381,7 @@ ABSL_ATTRIBUTE_NOINLINE void Mutex::UnlockSlow(SynchWaitParams *waitp) {
2382
2381
  wake_list->waitp->contention_start_cycles = now;
2383
2382
  wake_list->waitp->should_submit_contention_data = true;
2384
2383
  }
2385
- wake_list = Wakeup(wake_list); // wake waiters
2384
+ wake_list = Wakeup(wake_list); // wake waiters
2386
2385
  } while (wake_list != kPerThreadSynchNull);
2387
2386
  if (total_wait_cycles > 0) {
2388
2387
  mutex_tracer("slow release", this, total_wait_cycles);
@@ -2410,7 +2409,7 @@ void Mutex::Trans(MuHow how) {
2410
2409
  // condition variable. If this mutex is free, we simply wake the thread.
2411
2410
  // It will later acquire the mutex with high probability. Otherwise, we
2412
2411
  // enqueue thread w on this mutex.
2413
- void Mutex::Fer(PerThreadSynch *w) {
2412
+ void Mutex::Fer(PerThreadSynch* w) {
2414
2413
  SchedulingGuard::ScopedDisable disable_rescheduling;
2415
2414
  int c = 0;
2416
2415
  ABSL_RAW_CHECK(w->waitp->cond == nullptr,
@@ -2435,9 +2434,9 @@ void Mutex::Fer(PerThreadSynch *w) {
2435
2434
  IncrementSynchSem(this, w);
2436
2435
  return;
2437
2436
  } else {
2438
- if ((v & (kMuSpin|kMuWait)) == 0) { // no waiters
2437
+ if ((v & (kMuSpin | kMuWait)) == 0) { // no waiters
2439
2438
  // This thread tries to become the one and only waiter.
2440
- PerThreadSynch *new_h = Enqueue(nullptr, w->waitp, v, kMuIsCond);
2439
+ PerThreadSynch* new_h = Enqueue(nullptr, w->waitp, v, kMuIsCond);
2441
2440
  ABSL_RAW_CHECK(new_h != nullptr,
2442
2441
  "Enqueue failed"); // we must queue ourselves
2443
2442
  if (mu_.compare_exchange_strong(
@@ -2447,8 +2446,8 @@ void Mutex::Fer(PerThreadSynch *w) {
2447
2446
  }
2448
2447
  } else if ((v & kMuSpin) == 0 &&
2449
2448
  mu_.compare_exchange_strong(v, v | kMuSpin | kMuWait)) {
2450
- PerThreadSynch *h = GetPerThreadSynch(v);
2451
- PerThreadSynch *new_h = Enqueue(h, w->waitp, v, kMuIsCond);
2449
+ PerThreadSynch* h = GetPerThreadSynch(v);
2450
+ PerThreadSynch* new_h = Enqueue(h, w->waitp, v, kMuIsCond);
2452
2451
  ABSL_RAW_CHECK(new_h != nullptr,
2453
2452
  "Enqueue failed"); // we must queue ourselves
2454
2453
  do {
@@ -2467,19 +2466,18 @@ void Mutex::Fer(PerThreadSynch *w) {
2467
2466
 
2468
2467
  void Mutex::AssertHeld() const {
2469
2468
  if ((mu_.load(std::memory_order_relaxed) & kMuWriter) == 0) {
2470
- SynchEvent *e = GetSynchEvent(this);
2469
+ SynchEvent* e = GetSynchEvent(this);
2471
2470
  ABSL_RAW_LOG(FATAL, "thread should hold write lock on Mutex %p %s",
2472
- static_cast<const void *>(this),
2473
- (e == nullptr ? "" : e->name));
2471
+ static_cast<const void*>(this), (e == nullptr ? "" : e->name));
2474
2472
  }
2475
2473
  }
2476
2474
 
2477
2475
  void Mutex::AssertReaderHeld() const {
2478
2476
  if ((mu_.load(std::memory_order_relaxed) & (kMuReader | kMuWriter)) == 0) {
2479
- SynchEvent *e = GetSynchEvent(this);
2480
- ABSL_RAW_LOG(
2481
- FATAL, "thread should hold at least a read lock on Mutex %p %s",
2482
- static_cast<const void *>(this), (e == nullptr ? "" : e->name));
2477
+ SynchEvent* e = GetSynchEvent(this);
2478
+ ABSL_RAW_LOG(FATAL,
2479
+ "thread should hold at least a read lock on Mutex %p %s",
2480
+ static_cast<const void*>(this), (e == nullptr ? "" : e->name));
2483
2481
  }
2484
2482
  }
2485
2483
 
@@ -2490,13 +2488,17 @@ static const intptr_t kCvEvent = 0x0002L; // record events
2490
2488
  static const intptr_t kCvLow = 0x0003L; // low order bits of CV
2491
2489
 
2492
2490
  // Hack to make constant values available to gdb pretty printer
2493
- enum { kGdbCvSpin = kCvSpin, kGdbCvEvent = kCvEvent, kGdbCvLow = kCvLow, };
2491
+ enum {
2492
+ kGdbCvSpin = kCvSpin,
2493
+ kGdbCvEvent = kCvEvent,
2494
+ kGdbCvLow = kCvLow,
2495
+ };
2494
2496
 
2495
2497
  static_assert(PerThreadSynch::kAlignment > kCvLow,
2496
2498
  "PerThreadSynch::kAlignment must be greater than kCvLow");
2497
2499
 
2498
- void CondVar::EnableDebugLog(const char *name) {
2499
- SynchEvent *e = EnsureSynchEvent(&this->cv_, name, kCvEvent, kCvSpin);
2500
+ void CondVar::EnableDebugLog(const char* name) {
2501
+ SynchEvent* e = EnsureSynchEvent(&this->cv_, name, kCvEvent, kCvSpin);
2500
2502
  e->log = true;
2501
2503
  UnrefSynchEvent(e);
2502
2504
  }
@@ -2507,25 +2509,23 @@ CondVar::~CondVar() {
2507
2509
  }
2508
2510
  }
2509
2511
 
2510
-
2511
2512
  // Remove thread s from the list of waiters on this condition variable.
2512
- void CondVar::Remove(PerThreadSynch *s) {
2513
+ void CondVar::Remove(PerThreadSynch* s) {
2513
2514
  SchedulingGuard::ScopedDisable disable_rescheduling;
2514
2515
  intptr_t v;
2515
2516
  int c = 0;
2516
2517
  for (v = cv_.load(std::memory_order_relaxed);;
2517
2518
  v = cv_.load(std::memory_order_relaxed)) {
2518
2519
  if ((v & kCvSpin) == 0 && // attempt to acquire spinlock
2519
- cv_.compare_exchange_strong(v, v | kCvSpin,
2520
- std::memory_order_acquire,
2520
+ cv_.compare_exchange_strong(v, v | kCvSpin, std::memory_order_acquire,
2521
2521
  std::memory_order_relaxed)) {
2522
- PerThreadSynch *h = reinterpret_cast<PerThreadSynch *>(v & ~kCvLow);
2522
+ PerThreadSynch* h = reinterpret_cast<PerThreadSynch*>(v & ~kCvLow);
2523
2523
  if (h != nullptr) {
2524
- PerThreadSynch *w = h;
2524
+ PerThreadSynch* w = h;
2525
2525
  while (w->next != s && w->next != h) { // search for thread
2526
2526
  w = w->next;
2527
2527
  }
2528
- if (w->next == s) { // found thread; remove it
2528
+ if (w->next == s) { // found thread; remove it
2529
2529
  w->next = s->next;
2530
2530
  if (h == s) {
2531
2531
  h = (w == s) ? nullptr : w;
@@ -2534,7 +2534,7 @@ void CondVar::Remove(PerThreadSynch *s) {
2534
2534
  s->state.store(PerThreadSynch::kAvailable, std::memory_order_release);
2535
2535
  }
2536
2536
  }
2537
- // release spinlock
2537
+ // release spinlock
2538
2538
  cv_.store((v & kCvEvent) | reinterpret_cast<intptr_t>(h),
2539
2539
  std::memory_order_release);
2540
2540
  return;
@@ -2557,14 +2557,14 @@ void CondVar::Remove(PerThreadSynch *s) {
2557
2557
  // variable queue just before the mutex is to be unlocked, and (most
2558
2558
  // importantly) after any call to an external routine that might re-enter the
2559
2559
  // mutex code.
2560
- static void CondVarEnqueue(SynchWaitParams *waitp) {
2560
+ static void CondVarEnqueue(SynchWaitParams* waitp) {
2561
2561
  // This thread might be transferred to the Mutex queue by Fer() when
2562
2562
  // we are woken. To make sure that is what happens, Enqueue() doesn't
2563
2563
  // call CondVarEnqueue() again but instead uses its normal code. We
2564
2564
  // must do this before we queue ourselves so that cv_word will be null
2565
2565
  // when seen by the dequeuer, who may wish immediately to requeue
2566
2566
  // this thread on another queue.
2567
- std::atomic<intptr_t> *cv_word = waitp->cv_word;
2567
+ std::atomic<intptr_t>* cv_word = waitp->cv_word;
2568
2568
  waitp->cv_word = nullptr;
2569
2569
 
2570
2570
  intptr_t v = cv_word->load(std::memory_order_relaxed);
@@ -2577,8 +2577,8 @@ static void CondVarEnqueue(SynchWaitParams *waitp) {
2577
2577
  v = cv_word->load(std::memory_order_relaxed);
2578
2578
  }
2579
2579
  ABSL_RAW_CHECK(waitp->thread->waitp == nullptr, "waiting when shouldn't be");
2580
- waitp->thread->waitp = waitp; // prepare ourselves for waiting
2581
- PerThreadSynch *h = reinterpret_cast<PerThreadSynch *>(v & ~kCvLow);
2580
+ waitp->thread->waitp = waitp; // prepare ourselves for waiting
2581
+ PerThreadSynch* h = reinterpret_cast<PerThreadSynch*>(v & ~kCvLow);
2582
2582
  if (h == nullptr) { // add this thread to waiter list
2583
2583
  waitp->thread->next = waitp->thread;
2584
2584
  } else {
@@ -2591,8 +2591,8 @@ static void CondVarEnqueue(SynchWaitParams *waitp) {
2591
2591
  std::memory_order_release);
2592
2592
  }
2593
2593
 
2594
- bool CondVar::WaitCommon(Mutex *mutex, KernelTimeout t) {
2595
- bool rc = false; // return value; true iff we timed-out
2594
+ bool CondVar::WaitCommon(Mutex* mutex, KernelTimeout t) {
2595
+ bool rc = false; // return value; true iff we timed-out
2596
2596
 
2597
2597
  intptr_t mutex_v = mutex->mu_.load(std::memory_order_relaxed);
2598
2598
  Mutex::MuHow mutex_how = ((mutex_v & kMuWriter) != 0) ? kExclusive : kShared;
@@ -2659,27 +2659,25 @@ bool CondVar::WaitCommon(Mutex *mutex, KernelTimeout t) {
2659
2659
  return rc;
2660
2660
  }
2661
2661
 
2662
- bool CondVar::WaitWithTimeout(Mutex *mu, absl::Duration timeout) {
2663
- return WaitWithDeadline(mu, DeadlineFromTimeout(timeout));
2662
+ bool CondVar::WaitWithTimeout(Mutex* mu, absl::Duration timeout) {
2663
+ return WaitCommon(mu, KernelTimeout(timeout));
2664
2664
  }
2665
2665
 
2666
- bool CondVar::WaitWithDeadline(Mutex *mu, absl::Time deadline) {
2666
+ bool CondVar::WaitWithDeadline(Mutex* mu, absl::Time deadline) {
2667
2667
  return WaitCommon(mu, KernelTimeout(deadline));
2668
2668
  }
2669
2669
 
2670
- void CondVar::Wait(Mutex *mu) {
2671
- WaitCommon(mu, KernelTimeout::Never());
2672
- }
2670
+ void CondVar::Wait(Mutex* mu) { WaitCommon(mu, KernelTimeout::Never()); }
2673
2671
 
2674
2672
  // Wake thread w
2675
2673
  // If it was a timed wait, w will be waiting on w->cv
2676
2674
  // Otherwise, if it was not a Mutex mutex, w will be waiting on w->sem
2677
2675
  // Otherwise, w is transferred to the Mutex mutex via Mutex::Fer().
2678
- void CondVar::Wakeup(PerThreadSynch *w) {
2676
+ void CondVar::Wakeup(PerThreadSynch* w) {
2679
2677
  if (w->waitp->timeout.has_timeout() || w->waitp->cvmu == nullptr) {
2680
2678
  // The waiting thread only needs to observe "w->state == kAvailable" to be
2681
2679
  // released, we must cache "cvmu" before clearing "next".
2682
- Mutex *mu = w->waitp->cvmu;
2680
+ Mutex* mu = w->waitp->cvmu;
2683
2681
  w->next = nullptr;
2684
2682
  w->state.store(PerThreadSynch::kAvailable, std::memory_order_release);
2685
2683
  Mutex::IncrementSynchSem(mu, w);
@@ -2696,11 +2694,10 @@ void CondVar::Signal() {
2696
2694
  for (v = cv_.load(std::memory_order_relaxed); v != 0;
2697
2695
  v = cv_.load(std::memory_order_relaxed)) {
2698
2696
  if ((v & kCvSpin) == 0 && // attempt to acquire spinlock
2699
- cv_.compare_exchange_strong(v, v | kCvSpin,
2700
- std::memory_order_acquire,
2697
+ cv_.compare_exchange_strong(v, v | kCvSpin, std::memory_order_acquire,
2701
2698
  std::memory_order_relaxed)) {
2702
- PerThreadSynch *h = reinterpret_cast<PerThreadSynch *>(v & ~kCvLow);
2703
- PerThreadSynch *w = nullptr;
2699
+ PerThreadSynch* h = reinterpret_cast<PerThreadSynch*>(v & ~kCvLow);
2700
+ PerThreadSynch* w = nullptr;
2704
2701
  if (h != nullptr) { // remove first waiter
2705
2702
  w = h->next;
2706
2703
  if (w == h) {
@@ -2709,11 +2706,11 @@ void CondVar::Signal() {
2709
2706
  h->next = w->next;
2710
2707
  }
2711
2708
  }
2712
- // release spinlock
2709
+ // release spinlock
2713
2710
  cv_.store((v & kCvEvent) | reinterpret_cast<intptr_t>(h),
2714
2711
  std::memory_order_release);
2715
2712
  if (w != nullptr) {
2716
- CondVar::Wakeup(w); // wake waiter, if there was one
2713
+ CondVar::Wakeup(w); // wake waiter, if there was one
2717
2714
  cond_var_tracer("Signal wakeup", this);
2718
2715
  }
2719
2716
  if ((v & kCvEvent) != 0) {
@@ -2728,7 +2725,7 @@ void CondVar::Signal() {
2728
2725
  ABSL_TSAN_MUTEX_POST_SIGNAL(nullptr, 0);
2729
2726
  }
2730
2727
 
2731
- void CondVar::SignalAll () {
2728
+ void CondVar::SignalAll() {
2732
2729
  ABSL_TSAN_MUTEX_PRE_SIGNAL(nullptr, 0);
2733
2730
  intptr_t v;
2734
2731
  int c = 0;
@@ -2742,11 +2739,11 @@ void CondVar::SignalAll () {
2742
2739
  if ((v & kCvSpin) == 0 &&
2743
2740
  cv_.compare_exchange_strong(v, v & kCvEvent, std::memory_order_acquire,
2744
2741
  std::memory_order_relaxed)) {
2745
- PerThreadSynch *h = reinterpret_cast<PerThreadSynch *>(v & ~kCvLow);
2742
+ PerThreadSynch* h = reinterpret_cast<PerThreadSynch*>(v & ~kCvLow);
2746
2743
  if (h != nullptr) {
2747
- PerThreadSynch *w;
2748
- PerThreadSynch *n = h->next;
2749
- do { // for every thread, wake it up
2744
+ PerThreadSynch* w;
2745
+ PerThreadSynch* n = h->next;
2746
+ do { // for every thread, wake it up
2750
2747
  w = n;
2751
2748
  n = n->next;
2752
2749
  CondVar::Wakeup(w);
@@ -2774,42 +2771,41 @@ void ReleasableMutexLock::Release() {
2774
2771
  }
2775
2772
 
2776
2773
  #ifdef ABSL_HAVE_THREAD_SANITIZER
2777
- extern "C" void __tsan_read1(void *addr);
2774
+ extern "C" void __tsan_read1(void* addr);
2778
2775
  #else
2779
2776
  #define __tsan_read1(addr) // do nothing if TSan not enabled
2780
2777
  #endif
2781
2778
 
2782
2779
  // A function that just returns its argument, dereferenced
2783
- static bool Dereference(void *arg) {
2780
+ static bool Dereference(void* arg) {
2784
2781
  // ThreadSanitizer does not instrument this file for memory accesses.
2785
2782
  // This function dereferences a user variable that can participate
2786
2783
  // in a data race, so we need to manually tell TSan about this memory access.
2787
2784
  __tsan_read1(arg);
2788
- return *(static_cast<bool *>(arg));
2785
+ return *(static_cast<bool*>(arg));
2789
2786
  }
2790
2787
 
2791
2788
  ABSL_CONST_INIT const Condition Condition::kTrue;
2792
2789
 
2793
- Condition::Condition(bool (*func)(void *), void *arg)
2794
- : eval_(&CallVoidPtrFunction),
2795
- arg_(arg) {
2790
+ Condition::Condition(bool (*func)(void*), void* arg)
2791
+ : eval_(&CallVoidPtrFunction), arg_(arg) {
2796
2792
  static_assert(sizeof(&func) <= sizeof(callback_),
2797
2793
  "An overlarge function pointer passed to Condition.");
2798
2794
  StoreCallback(func);
2799
2795
  }
2800
2796
 
2801
- bool Condition::CallVoidPtrFunction(const Condition *c) {
2802
- using FunctionPointer = bool (*)(void *);
2797
+ bool Condition::CallVoidPtrFunction(const Condition* c) {
2798
+ using FunctionPointer = bool (*)(void*);
2803
2799
  FunctionPointer function_pointer;
2804
2800
  std::memcpy(&function_pointer, c->callback_, sizeof(function_pointer));
2805
2801
  return (*function_pointer)(c->arg_);
2806
2802
  }
2807
2803
 
2808
- Condition::Condition(const bool *cond)
2804
+ Condition::Condition(const bool* cond)
2809
2805
  : eval_(CallVoidPtrFunction),
2810
2806
  // const_cast is safe since Dereference does not modify arg
2811
- arg_(const_cast<bool *>(cond)) {
2812
- using FunctionPointer = bool (*)(void *);
2807
+ arg_(const_cast<bool*>(cond)) {
2808
+ using FunctionPointer = bool (*)(void*);
2813
2809
  const FunctionPointer dereference = Dereference;
2814
2810
  StoreCallback(dereference);
2815
2811
  }
@@ -2819,7 +2815,7 @@ bool Condition::Eval() const {
2819
2815
  return (this->eval_ == nullptr) || (*this->eval_)(this);
2820
2816
  }
2821
2817
 
2822
- bool Condition::GuaranteedEqual(const Condition *a, const Condition *b) {
2818
+ bool Condition::GuaranteedEqual(const Condition* a, const Condition* b) {
2823
2819
  // kTrue logic.
2824
2820
  if (a == nullptr || a->eval_ == nullptr) {
2825
2821
  return b == nullptr || b->eval_ == nullptr;