grpc 1.30.2 → 1.35.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


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

Files changed (1231) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +1055 -18213
  3. data/etc/roots.pem +257 -573
  4. data/include/grpc/compression.h +1 -1
  5. data/include/grpc/grpc.h +15 -7
  6. data/include/grpc/grpc_security.h +254 -186
  7. data/include/grpc/grpc_security_constants.h +3 -0
  8. data/include/grpc/impl/codegen/README.md +22 -0
  9. data/include/grpc/impl/codegen/atm_windows.h +4 -0
  10. data/include/grpc/impl/codegen/byte_buffer.h +1 -1
  11. data/include/grpc/impl/codegen/grpc_types.h +16 -12
  12. data/include/grpc/impl/codegen/log.h +0 -2
  13. data/include/grpc/impl/codegen/port_platform.h +28 -88
  14. data/include/grpc/impl/codegen/sync_windows.h +4 -0
  15. data/include/grpc/slice_buffer.h +3 -3
  16. data/include/grpc/support/sync.h +3 -3
  17. data/include/grpc/support/time.h +7 -7
  18. data/src/core/ext/filters/client_channel/backend_metric.cc +14 -13
  19. data/src/core/ext/filters/client_channel/backup_poller.cc +3 -2
  20. data/src/core/ext/filters/client_channel/client_channel.cc +2991 -1559
  21. data/src/core/ext/filters/client_channel/client_channel.h +1 -5
  22. data/src/core/ext/filters/client_channel/client_channel_channelz.h +0 -3
  23. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +1 -1
  24. data/src/core/ext/filters/client_channel/config_selector.cc +58 -0
  25. data/src/core/ext/filters/client_channel/config_selector.h +125 -0
  26. data/src/core/ext/filters/client_channel/dynamic_filters.cc +186 -0
  27. data/src/core/ext/filters/client_channel/dynamic_filters.h +99 -0
  28. data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +24 -2
  29. data/src/core/ext/filters/client_channel/health/health_check_client.cc +18 -8
  30. data/src/core/ext/filters/client_channel/health/health_check_client.h +4 -4
  31. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +13 -14
  32. data/src/core/ext/filters/client_channel/http_proxy.cc +27 -24
  33. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +48 -35
  34. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.h +7 -5
  35. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +10 -7
  36. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h +1 -1
  37. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +248 -214
  38. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +0 -13
  39. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +0 -3
  40. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +1 -37
  41. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +3 -1
  42. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +3 -3
  43. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +1 -1
  44. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +23 -17
  45. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +79 -30
  46. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +10 -9
  47. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +14 -36
  48. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +29 -19
  49. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +350 -130
  50. data/src/core/ext/filters/client_channel/lb_policy/xds/xds.h +52 -24
  51. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +24 -0
  52. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +812 -0
  53. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +722 -0
  54. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +1262 -0
  55. data/src/core/ext/filters/client_channel/lb_policy.cc +6 -2
  56. data/src/core/ext/filters/client_channel/lb_policy.h +10 -7
  57. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +12 -6
  58. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +14 -18
  59. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +1 -32
  60. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc +8 -6
  61. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +10 -8
  62. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +7 -5
  63. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +488 -65
  64. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +5 -0
  65. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc +1 -1
  66. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
  67. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +13 -12
  68. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +4 -4
  69. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +1 -1
  70. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +35 -28
  71. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +673 -69
  72. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h +28 -0
  73. data/src/core/ext/filters/client_channel/resolver.cc +3 -1
  74. data/src/core/ext/filters/client_channel/resolver.h +4 -1
  75. data/src/core/ext/filters/client_channel/resolver_factory.h +6 -6
  76. data/src/core/ext/filters/client_channel/resolver_registry.cc +49 -49
  77. data/src/core/ext/filters/client_channel/resolver_registry.h +2 -2
  78. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +35 -81
  79. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +12 -11
  80. data/src/core/ext/filters/client_channel/retry_throttle.cc +5 -3
  81. data/src/core/ext/filters/client_channel/retry_throttle.h +4 -2
  82. data/src/core/ext/filters/client_channel/server_address.cc +120 -7
  83. data/src/core/ext/filters/client_channel/server_address.h +44 -21
  84. data/src/core/ext/filters/client_channel/service_config.cc +18 -13
  85. data/src/core/ext/filters/client_channel/service_config.h +8 -5
  86. data/src/core/ext/filters/client_channel/service_config_call_data.h +19 -1
  87. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +142 -0
  88. data/src/core/ext/filters/client_channel/service_config_parser.cc +8 -6
  89. data/src/core/ext/filters/client_channel/service_config_parser.h +8 -5
  90. data/src/core/ext/filters/client_channel/subchannel.cc +116 -88
  91. data/src/core/ext/filters/client_channel/subchannel.h +30 -24
  92. data/src/core/ext/filters/client_channel/subchannel_interface.h +41 -5
  93. data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +6 -2
  94. data/src/core/ext/filters/deadline/deadline_filter.cc +87 -79
  95. data/src/core/ext/filters/deadline/deadline_filter.h +7 -11
  96. data/src/core/ext/filters/http/client/http_client_filter.cc +6 -6
  97. data/src/core/ext/filters/http/client_authority_filter.cc +6 -6
  98. data/src/core/ext/filters/http/http_filters_plugin.cc +8 -4
  99. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +74 -33
  100. data/src/core/ext/filters/http/message_compress/message_decompress_filter.h +3 -1
  101. data/src/core/ext/filters/http/server/http_server_filter.cc +3 -3
  102. data/src/core/ext/filters/max_age/max_age_filter.cc +3 -2
  103. data/src/core/ext/filters/message_size/message_size_filter.cc +59 -82
  104. data/src/core/ext/filters/message_size/message_size_filter.h +8 -1
  105. data/src/core/ext/filters/workarounds/workaround_utils.cc +1 -1
  106. data/src/core/ext/transport/chttp2/client/authority.cc +3 -3
  107. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +87 -31
  108. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +19 -2
  109. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +20 -8
  110. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +21 -10
  111. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +34 -47
  112. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +478 -342
  113. data/src/core/ext/transport/chttp2/server/chttp2_server.h +7 -2
  114. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +3 -3
  115. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +19 -18
  116. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +9 -9
  117. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +7 -7
  118. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +284 -321
  119. data/src/core/ext/transport/chttp2/transport/flow_control.cc +33 -30
  120. data/src/core/ext/transport/chttp2/transport/flow_control.h +27 -19
  121. data/src/core/ext/transport/chttp2/transport/frame_data.cc +9 -12
  122. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +6 -7
  123. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +5 -6
  124. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +12 -13
  125. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +8 -9
  126. data/src/core/ext/transport/chttp2/transport/frame_settings.h +2 -1
  127. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +15 -18
  128. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +37 -37
  129. data/src/core/ext/transport/chttp2/transport/hpack_table.cc +13 -17
  130. data/src/core/ext/transport/chttp2/transport/internal.h +23 -2
  131. data/src/core/ext/transport/chttp2/transport/parsing.cc +52 -74
  132. data/src/core/ext/transport/chttp2/transport/writing.cc +17 -22
  133. data/src/core/ext/transport/inproc/inproc_transport.cc +87 -33
  134. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +1 -1
  135. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +1 -1
  136. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +10 -4
  137. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +244 -0
  138. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +865 -0
  139. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +74 -0
  140. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +253 -0
  141. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +458 -0
  142. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +1818 -0
  143. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +35 -0
  144. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +77 -0
  145. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +55 -0
  146. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +349 -0
  147. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +124 -0
  148. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +428 -0
  149. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +35 -0
  150. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +88 -0
  151. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +310 -0
  152. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +991 -0
  153. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +103 -0
  154. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +388 -0
  155. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +34 -0
  156. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +78 -0
  157. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +53 -0
  158. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +149 -0
  159. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +241 -0
  160. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +839 -0
  161. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +170 -0
  162. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +752 -0
  163. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +36 -0
  164. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +88 -0
  165. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +176 -0
  166. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +730 -0
  167. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +28 -0
  168. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +65 -0
  169. data/src/core/ext/upb-generated/envoy/{api/v2/core → config/core/v3}/socket_option.upb.c +8 -8
  170. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +95 -0
  171. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +36 -0
  172. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +92 -0
  173. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +91 -0
  174. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +243 -0
  175. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +91 -0
  176. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +305 -0
  177. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +112 -0
  178. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +367 -0
  179. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +33 -0
  180. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +73 -0
  181. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +128 -0
  182. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +512 -0
  183. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +155 -0
  184. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +591 -0
  185. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +41 -0
  186. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +107 -0
  187. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +178 -0
  188. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +662 -0
  189. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +63 -0
  190. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +220 -0
  191. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +900 -0
  192. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +3640 -0
  193. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +60 -0
  194. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +159 -0
  195. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +50 -0
  196. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +122 -0
  197. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +364 -0
  198. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +1475 -0
  199. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +20 -0
  200. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +35 -0
  201. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +110 -0
  202. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +426 -0
  203. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +76 -0
  204. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +236 -0
  205. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +147 -0
  206. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +621 -0
  207. data/src/core/ext/upb-generated/envoy/{api/v2 → service/cluster/v3}/cds.upb.c +6 -7
  208. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +56 -0
  209. data/src/core/ext/upb-generated/envoy/service/discovery/{v2 → v3}/ads.upb.c +6 -5
  210. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +56 -0
  211. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +139 -0
  212. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +487 -0
  213. data/src/core/ext/upb-generated/envoy/{api/v2 → service/endpoint/v3}/eds.upb.c +6 -7
  214. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +56 -0
  215. data/src/core/ext/upb-generated/envoy/{api/v2 → service/listener/v3}/lds.upb.c +6 -7
  216. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +56 -0
  217. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +55 -0
  218. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +151 -0
  219. data/src/core/ext/upb-generated/envoy/{api/v2 → service/route/v3}/rds.upb.c +6 -7
  220. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +56 -0
  221. data/src/core/ext/upb-generated/envoy/{api/v2 → service/route/v3}/srds.upb.c +6 -7
  222. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +56 -0
  223. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +47 -0
  224. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +128 -0
  225. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +35 -0
  226. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +84 -0
  227. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +34 -0
  228. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +78 -0
  229. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +64 -0
  230. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +166 -0
  231. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +54 -0
  232. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +146 -0
  233. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +63 -0
  234. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +207 -0
  235. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +88 -0
  236. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +301 -0
  237. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +90 -0
  238. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +283 -0
  239. data/src/core/ext/upb-generated/envoy/type/{http.upb.c → v3/http.upb.c} +2 -2
  240. data/src/core/ext/upb-generated/envoy/type/{http.upb.h → v3/http.upb.h} +9 -9
  241. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +40 -0
  242. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +99 -0
  243. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +51 -0
  244. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +130 -0
  245. data/src/core/ext/upb-generated/envoy/type/{semantic_version.upb.c → v3/semantic_version.upb.c} +7 -6
  246. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +68 -0
  247. data/src/core/ext/upb-generated/google/api/annotations.upb.h +1 -1
  248. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +242 -0
  249. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +830 -0
  250. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +234 -0
  251. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +842 -0
  252. data/src/core/ext/upb-generated/google/api/http.upb.c +3 -3
  253. data/src/core/ext/upb-generated/google/api/http.upb.h +52 -32
  254. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +1 -1
  255. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +12 -6
  256. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +106 -106
  257. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +688 -499
  258. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +1 -1
  259. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +12 -6
  260. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +1 -1
  261. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +8 -2
  262. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +5 -5
  263. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +55 -57
  264. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +1 -1
  265. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +12 -6
  266. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +9 -9
  267. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +82 -28
  268. data/src/core/ext/upb-generated/google/rpc/status.upb.c +1 -1
  269. data/src/core/ext/upb-generated/google/rpc/status.upb.h +17 -10
  270. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +5 -5
  271. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +40 -45
  272. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +43 -43
  273. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +236 -184
  274. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +5 -5
  275. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +29 -13
  276. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +2 -2
  277. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +19 -7
  278. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +17 -17
  279. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +122 -62
  280. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +3 -3
  281. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +30 -12
  282. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +31 -0
  283. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +64 -0
  284. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +1 -1
  285. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +2 -2
  286. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +12 -6
  287. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +27 -0
  288. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +60 -0
  289. data/src/core/ext/upb-generated/udpa/core/v1/authority.upb.c +28 -0
  290. data/src/core/ext/upb-generated/udpa/core/v1/authority.upb.h +60 -0
  291. data/src/core/ext/upb-generated/udpa/core/v1/collection_entry.upb.c +52 -0
  292. data/src/core/ext/upb-generated/udpa/core/v1/collection_entry.upb.h +143 -0
  293. data/src/core/ext/upb-generated/udpa/core/v1/context_params.upb.c +42 -0
  294. data/src/core/ext/upb-generated/udpa/core/v1/context_params.upb.h +84 -0
  295. data/src/core/ext/upb-generated/udpa/core/v1/resource.upb.c +36 -0
  296. data/src/core/ext/upb-generated/udpa/core/v1/resource.upb.h +94 -0
  297. data/src/core/ext/upb-generated/udpa/core/v1/resource_locator.upb.c +54 -0
  298. data/src/core/ext/upb-generated/udpa/core/v1/resource_locator.upb.h +173 -0
  299. data/src/core/ext/upb-generated/udpa/core/v1/resource_name.upb.c +36 -0
  300. data/src/core/ext/upb-generated/udpa/core/v1/resource_name.upb.h +92 -0
  301. data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c +9 -9
  302. data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h +48 -68
  303. data/src/core/ext/upb-generated/validate/validate.upb.c +68 -68
  304. data/src/core/ext/upb-generated/validate/validate.upb.h +727 -587
  305. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +38 -0
  306. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h +30 -0
  307. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +41 -0
  308. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h +35 -0
  309. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +254 -0
  310. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +105 -0
  311. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +100 -0
  312. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +45 -0
  313. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +558 -0
  314. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +145 -0
  315. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +53 -0
  316. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h +35 -0
  317. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +133 -0
  318. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h +35 -0
  319. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +127 -0
  320. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +65 -0
  321. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +56 -0
  322. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h +35 -0
  323. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +266 -0
  324. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +125 -0
  325. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +143 -0
  326. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +55 -0
  327. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +56 -0
  328. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h +35 -0
  329. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +66 -0
  330. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +40 -0
  331. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +263 -0
  332. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h +100 -0
  333. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +233 -0
  334. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +70 -0
  335. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +56 -0
  336. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h +35 -0
  337. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +228 -0
  338. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +80 -0
  339. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +46 -0
  340. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +35 -0
  341. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +59 -0
  342. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +35 -0
  343. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +55 -0
  344. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h +35 -0
  345. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +110 -0
  346. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h +50 -0
  347. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +113 -0
  348. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +50 -0
  349. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +146 -0
  350. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h +55 -0
  351. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +50 -0
  352. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h +35 -0
  353. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +190 -0
  354. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +55 -0
  355. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +185 -0
  356. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h +65 -0
  357. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +62 -0
  358. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h +40 -0
  359. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +97 -0
  360. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +40 -0
  361. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +915 -0
  362. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +280 -0
  363. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +71 -0
  364. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h +45 -0
  365. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +64 -0
  366. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h +40 -0
  367. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +511 -0
  368. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +115 -0
  369. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +48 -0
  370. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +30 -0
  371. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +166 -0
  372. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +55 -0
  373. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +105 -0
  374. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +45 -0
  375. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +249 -0
  376. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +60 -0
  377. data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.c +72 -0
  378. data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.h +35 -0
  379. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +60 -0
  380. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h +35 -0
  381. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +152 -0
  382. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +60 -0
  383. data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.c +83 -0
  384. data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.h +35 -0
  385. data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.c +82 -0
  386. data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.h +35 -0
  387. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +83 -0
  388. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h +40 -0
  389. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c +86 -0
  390. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.h +35 -0
  391. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c +74 -0
  392. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.h +35 -0
  393. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +64 -0
  394. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h +40 -0
  395. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +54 -0
  396. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h +35 -0
  397. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +53 -0
  398. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h +35 -0
  399. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +73 -0
  400. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h +45 -0
  401. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +72 -0
  402. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h +40 -0
  403. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +81 -0
  404. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h +45 -0
  405. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +92 -0
  406. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h +65 -0
  407. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +95 -0
  408. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h +55 -0
  409. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +34 -0
  410. data/src/core/ext/{upb-generated/gogoproto/gogo.upb.h → upbdefs-generated/envoy/type/v3/http.upbdefs.h} +10 -10
  411. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +59 -0
  412. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h +40 -0
  413. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +54 -0
  414. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h +45 -0
  415. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +47 -0
  416. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h +35 -0
  417. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +40 -0
  418. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h +30 -0
  419. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +61 -0
  420. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h +45 -0
  421. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +39 -0
  422. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h +35 -0
  423. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +386 -0
  424. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h +165 -0
  425. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +40 -0
  426. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h +35 -0
  427. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +37 -0
  428. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h +35 -0
  429. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +65 -0
  430. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h +50 -0
  431. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +40 -0
  432. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h +35 -0
  433. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +66 -0
  434. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h +75 -0
  435. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +42 -0
  436. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h +35 -0
  437. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +70 -0
  438. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h +45 -0
  439. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +56 -0
  440. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h +35 -0
  441. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +33 -0
  442. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h +30 -0
  443. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +49 -0
  444. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h +35 -0
  445. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +43 -0
  446. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h +35 -0
  447. data/src/core/ext/upbdefs-generated/udpa/core/v1/authority.upbdefs.c +42 -0
  448. data/src/core/ext/upbdefs-generated/udpa/core/v1/authority.upbdefs.h +35 -0
  449. data/src/core/ext/upbdefs-generated/udpa/core/v1/collection_entry.upbdefs.c +62 -0
  450. data/src/core/ext/upbdefs-generated/udpa/core/v1/collection_entry.upbdefs.h +40 -0
  451. data/src/core/ext/upbdefs-generated/udpa/core/v1/context_params.upbdefs.c +45 -0
  452. data/src/core/ext/upbdefs-generated/udpa/core/v1/context_params.upbdefs.h +40 -0
  453. data/src/core/ext/upbdefs-generated/udpa/core/v1/resource.upbdefs.c +49 -0
  454. data/src/core/ext/upbdefs-generated/udpa/core/v1/resource.upbdefs.h +35 -0
  455. data/src/core/ext/upbdefs-generated/udpa/core/v1/resource_locator.upbdefs.c +68 -0
  456. data/src/core/ext/upbdefs-generated/udpa/core/v1/resource_locator.upbdefs.h +40 -0
  457. data/src/core/ext/upbdefs-generated/udpa/core/v1/resource_name.upbdefs.c +51 -0
  458. data/src/core/ext/upbdefs-generated/udpa/core/v1/resource_name.upbdefs.h +35 -0
  459. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +307 -0
  460. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h +145 -0
  461. data/src/core/ext/xds/certificate_provider_factory.h +61 -0
  462. data/src/core/ext/xds/certificate_provider_registry.cc +103 -0
  463. data/src/core/ext/xds/certificate_provider_registry.h +57 -0
  464. data/src/core/ext/xds/certificate_provider_store.cc +87 -0
  465. data/src/core/ext/xds/certificate_provider_store.h +112 -0
  466. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +144 -0
  467. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +69 -0
  468. data/src/core/ext/xds/xds_api.cc +2308 -0
  469. data/src/core/ext/xds/xds_api.h +469 -0
  470. data/src/core/ext/{filters/client_channel/xds → xds}/xds_bootstrap.cc +220 -42
  471. data/src/core/ext/{filters/client_channel/xds → xds}/xds_bootstrap.h +31 -11
  472. data/src/core/ext/xds/xds_certificate_provider.cc +299 -0
  473. data/src/core/ext/xds/xds_certificate_provider.h +112 -0
  474. data/src/core/ext/{filters/client_channel/xds → xds}/xds_channel_args.h +9 -6
  475. data/src/core/ext/{filters/client_channel/xds → xds}/xds_client.cc +661 -791
  476. data/src/core/ext/{filters/client_channel/xds → xds}/xds_client.h +126 -99
  477. data/src/core/ext/{filters/client_channel/xds → xds}/xds_client_stats.cc +61 -18
  478. data/src/core/ext/{filters/client_channel/xds → xds}/xds_client_stats.h +48 -20
  479. data/src/core/ext/xds/xds_server_config_fetcher.cc +131 -0
  480. data/src/core/lib/channel/channel_args.cc +9 -8
  481. data/src/core/lib/channel/channel_args.h +0 -1
  482. data/src/core/lib/channel/channel_trace.cc +6 -8
  483. data/src/core/lib/channel/channel_trace.h +1 -1
  484. data/src/core/lib/channel/channelz.cc +41 -88
  485. data/src/core/lib/channel/channelz.h +14 -23
  486. data/src/core/lib/channel/channelz_registry.cc +15 -12
  487. data/src/core/lib/channel/channelz_registry.h +3 -1
  488. data/src/core/lib/channel/handshaker.cc +2 -2
  489. data/src/core/lib/channel/handshaker.h +2 -2
  490. data/src/core/lib/compression/compression.cc +8 -4
  491. data/src/core/lib/compression/compression_args.cc +3 -2
  492. data/src/core/lib/compression/compression_internal.cc +10 -5
  493. data/src/core/lib/compression/compression_internal.h +2 -1
  494. data/src/core/lib/compression/stream_compression_identity.cc +1 -3
  495. data/src/core/lib/debug/stats.h +2 -2
  496. data/src/core/lib/debug/stats_data.cc +1 -0
  497. data/src/core/lib/debug/stats_data.h +13 -13
  498. data/src/core/lib/gpr/alloc.cc +3 -2
  499. data/src/core/lib/gpr/cpu_iphone.cc +10 -2
  500. data/src/core/lib/gpr/log.cc +53 -16
  501. data/src/core/lib/gpr/log_linux.cc +23 -9
  502. data/src/core/lib/gpr/log_posix.cc +19 -7
  503. data/src/core/lib/gpr/log_windows.cc +18 -4
  504. data/src/core/lib/gpr/murmur_hash.cc +1 -1
  505. data/src/core/lib/gpr/spinlock.h +10 -2
  506. data/src/core/lib/gpr/string.cc +33 -31
  507. data/src/core/lib/gpr/string.h +9 -8
  508. data/src/core/lib/gpr/sync.cc +4 -4
  509. data/src/core/lib/gpr/sync_posix.cc +2 -8
  510. data/src/core/lib/gpr/time.cc +12 -12
  511. data/src/core/lib/gpr/time_precise.cc +5 -2
  512. data/src/core/lib/gpr/time_precise.h +6 -2
  513. data/src/core/lib/gpr/tls.h +4 -0
  514. data/src/core/lib/gpr/tls_msvc.h +2 -0
  515. data/src/core/lib/gpr/tls_stdcpp.h +48 -0
  516. data/src/core/lib/gpr/useful.h +5 -4
  517. data/src/core/lib/gprpp/arena.h +3 -2
  518. data/src/core/lib/gprpp/dual_ref_counted.h +331 -0
  519. data/src/core/lib/gprpp/examine_stack.cc +43 -0
  520. data/src/core/lib/gprpp/examine_stack.h +46 -0
  521. data/src/core/lib/gprpp/fork.cc +2 -2
  522. data/src/core/lib/gprpp/global_config_env.cc +8 -6
  523. data/src/core/lib/gprpp/manual_constructor.h +1 -1
  524. data/src/core/lib/gprpp/orphanable.h +4 -8
  525. data/src/core/lib/gprpp/ref_counted.h +91 -68
  526. data/src/core/lib/gprpp/ref_counted_ptr.h +166 -7
  527. data/src/core/lib/gprpp/stat.h +38 -0
  528. data/src/core/lib/gprpp/stat_posix.cc +49 -0
  529. data/src/core/lib/gprpp/stat_windows.cc +48 -0
  530. data/src/core/lib/gprpp/thd.h +2 -2
  531. data/src/core/lib/gprpp/thd_posix.cc +42 -37
  532. data/src/core/lib/gprpp/thd_windows.cc +3 -1
  533. data/src/core/lib/http/httpcli.cc +14 -11
  534. data/src/core/lib/http/httpcli.h +2 -3
  535. data/src/core/lib/http/httpcli_security_connector.cc +6 -6
  536. data/src/core/lib/http/parser.cc +47 -27
  537. data/src/core/lib/iomgr/call_combiner.cc +8 -5
  538. data/src/core/lib/iomgr/cfstream_handle.cc +1 -0
  539. data/src/core/lib/iomgr/combiner.cc +2 -1
  540. data/src/core/lib/iomgr/endpoint.cc +5 -1
  541. data/src/core/lib/iomgr/endpoint.h +8 -4
  542. data/src/core/lib/iomgr/endpoint_cfstream.cc +36 -11
  543. data/src/core/lib/iomgr/endpoint_pair_posix.cc +10 -10
  544. data/src/core/lib/iomgr/error.cc +17 -12
  545. data/src/core/lib/iomgr/error_cfstream.cc +9 -8
  546. data/src/core/lib/iomgr/error_internal.h +1 -1
  547. data/src/core/lib/iomgr/ev_epoll1_linux.cc +25 -19
  548. data/src/core/lib/iomgr/ev_epollex_linux.cc +40 -38
  549. data/src/core/lib/iomgr/ev_poll_posix.cc +15 -12
  550. data/src/core/lib/iomgr/exec_ctx.cc +1 -1
  551. data/src/core/lib/iomgr/exec_ctx.h +16 -12
  552. data/src/core/lib/iomgr/executor/mpmcqueue.h +5 -5
  553. data/src/core/lib/iomgr/executor/threadpool.h +4 -4
  554. data/src/core/lib/iomgr/executor.cc +2 -1
  555. data/src/core/lib/iomgr/executor.h +1 -1
  556. data/src/core/lib/iomgr/iomgr.cc +1 -1
  557. data/src/core/lib/iomgr/is_epollexclusive_available.cc +14 -0
  558. data/src/core/lib/iomgr/load_file.h +1 -1
  559. data/src/core/lib/iomgr/lockfree_event.cc +19 -14
  560. data/src/core/lib/iomgr/lockfree_event.h +2 -2
  561. data/src/core/{ext/filters/client_channel → lib/iomgr}/parse_address.cc +128 -44
  562. data/src/core/lib/iomgr/parse_address.h +77 -0
  563. data/src/core/lib/iomgr/poller/eventmanager_libuv.cc +2 -1
  564. data/src/core/lib/iomgr/poller/eventmanager_libuv.h +1 -1
  565. data/src/core/lib/iomgr/pollset_set_custom.cc +1 -1
  566. data/src/core/lib/iomgr/port.h +1 -21
  567. data/src/core/lib/iomgr/python_util.h +4 -4
  568. data/src/core/lib/iomgr/resolve_address.cc +4 -4
  569. data/src/core/lib/iomgr/resolve_address_custom.cc +13 -18
  570. data/src/core/lib/iomgr/resolve_address_posix.cc +1 -5
  571. data/src/core/lib/iomgr/resolve_address_windows.cc +8 -8
  572. data/src/core/lib/iomgr/resource_quota.cc +34 -31
  573. data/src/core/lib/iomgr/sockaddr_utils.cc +19 -16
  574. data/src/core/lib/iomgr/sockaddr_utils.h +4 -3
  575. data/src/core/lib/iomgr/socket_factory_posix.cc +3 -2
  576. data/src/core/lib/iomgr/socket_mutator.cc +3 -2
  577. data/src/core/lib/iomgr/socket_utils_common_posix.cc +95 -55
  578. data/src/core/lib/iomgr/socket_windows.cc +4 -5
  579. data/src/core/lib/iomgr/tcp_client.cc +3 -3
  580. data/src/core/lib/iomgr/tcp_client_cfstream.cc +9 -11
  581. data/src/core/lib/iomgr/tcp_client_custom.cc +13 -15
  582. data/src/core/lib/iomgr/tcp_client_posix.cc +27 -36
  583. data/src/core/lib/iomgr/tcp_client_windows.cc +9 -9
  584. data/src/core/lib/iomgr/tcp_custom.cc +54 -33
  585. data/src/core/lib/iomgr/tcp_custom.h +1 -1
  586. data/src/core/lib/iomgr/tcp_posix.cc +43 -21
  587. data/src/core/lib/iomgr/tcp_server.cc +3 -4
  588. data/src/core/lib/iomgr/tcp_server.h +7 -5
  589. data/src/core/lib/iomgr/tcp_server_custom.cc +34 -36
  590. data/src/core/lib/iomgr/tcp_server_posix.cc +34 -41
  591. data/src/core/lib/iomgr/tcp_server_utils_posix.h +3 -4
  592. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +5 -7
  593. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +4 -9
  594. data/src/core/lib/iomgr/tcp_server_windows.cc +16 -16
  595. data/src/core/lib/iomgr/tcp_windows.cc +26 -10
  596. data/src/core/lib/iomgr/timer_custom.cc +5 -5
  597. data/src/core/lib/iomgr/timer_generic.cc +16 -15
  598. data/src/core/lib/iomgr/timer_manager.cc +2 -2
  599. data/src/core/lib/iomgr/udp_server.cc +25 -25
  600. data/src/core/lib/iomgr/udp_server.h +6 -4
  601. data/src/core/lib/iomgr/unix_sockets_posix.cc +36 -30
  602. data/src/core/lib/iomgr/unix_sockets_posix.h +8 -1
  603. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +12 -2
  604. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +2 -2
  605. data/src/core/lib/json/json.h +12 -2
  606. data/src/core/lib/json/json_reader.cc +28 -25
  607. data/src/core/lib/json/json_util.cc +58 -0
  608. data/src/core/lib/json/json_util.h +204 -0
  609. data/src/core/lib/json/json_writer.cc +2 -1
  610. data/src/core/lib/security/authorization/authorization_engine.cc +177 -0
  611. data/src/core/lib/security/authorization/authorization_engine.h +84 -0
  612. data/src/core/lib/security/authorization/evaluate_args.cc +148 -0
  613. data/src/core/lib/security/authorization/evaluate_args.h +59 -0
  614. data/src/core/lib/security/authorization/mock_cel/activation.h +57 -0
  615. data/src/core/lib/security/authorization/mock_cel/cel_expr_builder_factory.h +44 -0
  616. data/src/core/lib/security/authorization/mock_cel/cel_expression.h +69 -0
  617. data/src/core/lib/security/authorization/mock_cel/cel_value.h +97 -0
  618. data/src/core/lib/security/authorization/mock_cel/evaluator_core.h +67 -0
  619. data/src/core/lib/security/authorization/mock_cel/flat_expr_builder.h +57 -0
  620. data/src/core/lib/security/context/security_context.cc +4 -3
  621. data/src/core/lib/security/context/security_context.h +3 -1
  622. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +1 -1
  623. data/src/core/lib/security/credentials/credentials.cc +7 -7
  624. data/src/core/lib/security/credentials/credentials.h +8 -6
  625. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +413 -0
  626. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +80 -0
  627. data/src/core/lib/security/credentials/external/aws_request_signer.cc +213 -0
  628. data/src/core/lib/security/credentials/external/aws_request_signer.h +72 -0
  629. data/src/core/lib/security/credentials/external/external_account_credentials.cc +497 -0
  630. data/src/core/lib/security/credentials/external/external_account_credentials.h +120 -0
  631. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +135 -0
  632. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +48 -0
  633. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +213 -0
  634. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +58 -0
  635. data/src/core/lib/security/credentials/fake/fake_credentials.cc +2 -1
  636. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +8 -6
  637. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +82 -55
  638. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +64 -0
  639. data/src/core/lib/security/credentials/jwt/json_token.cc +6 -3
  640. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +7 -4
  641. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +4 -3
  642. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +8 -4
  643. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +58 -74
  644. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +5 -4
  645. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +7 -7
  646. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +25 -5
  647. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +11 -1
  648. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +346 -0
  649. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +213 -0
  650. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +399 -0
  651. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +138 -0
  652. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +78 -150
  653. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +65 -185
  654. data/src/core/lib/security/credentials/tls/tls_credentials.cc +16 -12
  655. data/src/core/lib/security/credentials/tls/tls_credentials.h +2 -2
  656. data/src/core/lib/security/credentials/tls/tls_utils.cc +91 -0
  657. data/src/core/lib/security/credentials/tls/tls_utils.h +38 -0
  658. data/src/core/lib/security/credentials/xds/xds_credentials.cc +175 -0
  659. data/src/core/lib/security/credentials/xds/xds_credentials.h +69 -0
  660. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +1 -1
  661. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +20 -25
  662. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +121 -0
  663. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +87 -0
  664. data/src/core/lib/security/security_connector/load_system_roots.h +4 -0
  665. data/src/core/lib/security/security_connector/load_system_roots_linux.h +2 -0
  666. data/src/core/lib/security/security_connector/local/local_security_connector.cc +3 -3
  667. data/src/core/lib/security/security_connector/security_connector.cc +6 -3
  668. data/src/core/lib/security/security_connector/security_connector.h +5 -3
  669. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +22 -15
  670. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +5 -0
  671. data/src/core/lib/security/security_connector/ssl_utils.cc +46 -25
  672. data/src/core/lib/security/security_connector/ssl_utils.h +25 -21
  673. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +359 -293
  674. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +105 -61
  675. data/src/core/lib/security/transport/client_auth_filter.cc +10 -9
  676. data/src/core/lib/security/transport/secure_endpoint.cc +9 -3
  677. data/src/core/lib/security/transport/security_handshaker.cc +3 -3
  678. data/src/core/lib/security/transport/server_auth_filter.cc +2 -1
  679. data/src/core/lib/security/util/json_util.cc +12 -13
  680. data/src/core/lib/security/util/json_util.h +1 -0
  681. data/src/core/lib/slice/slice.cc +45 -5
  682. data/src/core/lib/slice/slice_buffer.cc +2 -1
  683. data/src/core/lib/slice/slice_intern.cc +6 -7
  684. data/src/core/lib/slice/slice_internal.h +3 -2
  685. data/src/core/lib/surface/call.cc +93 -85
  686. data/src/core/lib/surface/call.h +2 -1
  687. data/src/core/lib/surface/call_details.cc +8 -8
  688. data/src/core/lib/surface/channel.cc +53 -61
  689. data/src/core/lib/surface/channel.h +21 -5
  690. data/src/core/lib/surface/channel_init.cc +1 -1
  691. data/src/core/lib/surface/completion_queue.cc +30 -29
  692. data/src/core/lib/surface/completion_queue.h +16 -16
  693. data/src/core/lib/surface/init.cc +32 -14
  694. data/src/core/lib/surface/lame_client.cc +20 -46
  695. data/src/core/lib/surface/lame_client.h +4 -0
  696. data/src/core/lib/surface/server.cc +1144 -1343
  697. data/src/core/lib/surface/server.h +400 -70
  698. data/src/core/lib/surface/validate_metadata.h +3 -0
  699. data/src/core/lib/surface/version.cc +2 -2
  700. data/src/core/lib/transport/authority_override.cc +40 -0
  701. data/src/core/lib/transport/authority_override.h +37 -0
  702. data/src/core/lib/transport/bdp_estimator.cc +1 -1
  703. data/src/core/lib/transport/bdp_estimator.h +2 -1
  704. data/src/core/lib/transport/byte_stream.h +3 -3
  705. data/src/core/lib/transport/connectivity_state.cc +18 -13
  706. data/src/core/lib/transport/connectivity_state.h +26 -12
  707. data/src/core/lib/transport/error_utils.cc +13 -0
  708. data/src/core/lib/transport/error_utils.h +7 -1
  709. data/src/core/lib/transport/metadata.cc +11 -1
  710. data/src/core/lib/transport/metadata.h +2 -2
  711. data/src/core/lib/transport/metadata_batch.h +4 -4
  712. data/src/core/lib/transport/static_metadata.cc +296 -277
  713. data/src/core/lib/transport/static_metadata.h +80 -73
  714. data/src/core/lib/transport/status_metadata.cc +4 -3
  715. data/src/core/lib/transport/timeout_encoding.cc +4 -4
  716. data/src/core/lib/transport/transport.cc +5 -3
  717. data/src/core/lib/transport/transport.h +21 -8
  718. data/src/core/lib/uri/uri_parser.cc +135 -258
  719. data/src/core/lib/uri/uri_parser.h +58 -20
  720. data/src/core/plugin_registry/grpc_plugin_registry.cc +45 -20
  721. data/src/core/tsi/alts/crypt/gsec.cc +5 -4
  722. data/src/core/tsi/alts/frame_protector/frame_handler.cc +8 -6
  723. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +24 -14
  724. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +51 -26
  725. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +2 -0
  726. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +8 -6
  727. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +4 -4
  728. data/src/core/tsi/fake_transport_security.cc +6 -3
  729. data/src/core/tsi/local_transport_security.cc +5 -1
  730. data/src/core/tsi/local_transport_security.h +6 -7
  731. data/src/core/tsi/ssl/session_cache/ssl_session.h +3 -0
  732. data/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc +1 -1
  733. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +4 -1
  734. data/src/core/tsi/ssl_transport_security.cc +177 -66
  735. data/src/core/tsi/ssl_transport_security.h +23 -8
  736. data/src/core/tsi/transport_security.cc +10 -8
  737. data/src/core/tsi/transport_security_interface.h +6 -1
  738. data/src/ruby/bin/math_services_pb.rb +4 -4
  739. data/src/ruby/ext/grpc/extconf.rb +6 -3
  740. data/src/ruby/ext/grpc/rb_call.c +3 -2
  741. data/src/ruby/ext/grpc/rb_call.h +4 -0
  742. data/src/ruby/ext/grpc/rb_call_credentials.c +54 -10
  743. data/src/ruby/ext/grpc/rb_channel_credentials.c +9 -0
  744. data/src/ruby/ext/grpc/rb_event_thread.c +2 -0
  745. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +38 -18
  746. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +74 -44
  747. data/src/ruby/lib/grpc/generic/client_stub.rb +1 -1
  748. data/src/ruby/lib/grpc/generic/interceptors.rb +1 -1
  749. data/src/ruby/lib/grpc/version.rb +1 -1
  750. data/src/ruby/pb/grpc/health/v1/health_services_pb.rb +2 -2
  751. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +33 -0
  752. data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +46 -12
  753. data/src/ruby/spec/channel_credentials_spec.rb +10 -0
  754. data/src/ruby/spec/generic/active_call_spec.rb +19 -8
  755. data/src/ruby/spec/pb/codegen/grpc/testing/same_package_service_name.proto +27 -0
  756. data/src/ruby/spec/pb/codegen/grpc/testing/same_ruby_package_service_name.proto +29 -0
  757. data/src/ruby/spec/pb/codegen/package_option_spec.rb +22 -6
  758. data/src/ruby/spec/user_agent_spec.rb +74 -0
  759. data/third_party/abseil-cpp/absl/algorithm/container.h +1764 -0
  760. data/third_party/abseil-cpp/absl/base/attributes.h +99 -38
  761. data/third_party/abseil-cpp/absl/base/call_once.h +1 -1
  762. data/third_party/abseil-cpp/absl/base/casts.h +9 -6
  763. data/third_party/abseil-cpp/absl/base/config.h +60 -17
  764. data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +428 -335
  765. data/third_party/abseil-cpp/absl/base/internal/bits.h +17 -16
  766. data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +166 -0
  767. data/third_party/abseil-cpp/absl/base/internal/dynamic_annotations.h +398 -0
  768. data/third_party/abseil-cpp/absl/base/internal/exponential_biased.cc +93 -0
  769. data/third_party/abseil-cpp/absl/base/internal/exponential_biased.h +130 -0
  770. data/third_party/abseil-cpp/absl/base/internal/invoke.h +4 -4
  771. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +620 -0
  772. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.h +126 -0
  773. data/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h +29 -1
  774. data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +2 -2
  775. data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +7 -5
  776. data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +25 -38
  777. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +19 -25
  778. data/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +8 -0
  779. data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +28 -5
  780. data/third_party/abseil-cpp/absl/base/internal/sysinfo.h +8 -0
  781. data/third_party/abseil-cpp/absl/base/internal/tsan_mutex_interface.h +3 -1
  782. data/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +2 -2
  783. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +3 -3
  784. data/third_party/abseil-cpp/absl/base/macros.h +36 -109
  785. data/third_party/abseil-cpp/absl/base/optimization.h +61 -1
  786. data/third_party/abseil-cpp/absl/base/options.h +31 -4
  787. data/third_party/abseil-cpp/absl/base/policy_checks.h +1 -1
  788. data/third_party/abseil-cpp/absl/base/thread_annotations.h +94 -39
  789. data/third_party/abseil-cpp/absl/container/fixed_array.h +532 -0
  790. data/third_party/abseil-cpp/absl/container/flat_hash_map.h +606 -0
  791. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +504 -0
  792. data/third_party/abseil-cpp/absl/container/inlined_vector.h +33 -36
  793. data/third_party/abseil-cpp/absl/container/internal/common.h +206 -0
  794. data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +33 -8
  795. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +460 -0
  796. data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +161 -0
  797. data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +208 -0
  798. data/third_party/abseil-cpp/absl/container/internal/hashtable_debug_hooks.h +85 -0
  799. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +270 -0
  800. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +321 -0
  801. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +30 -0
  802. data/third_party/abseil-cpp/absl/container/internal/have_sse.h +50 -0
  803. data/third_party/abseil-cpp/absl/container/internal/layout.h +743 -0
  804. data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +197 -0
  805. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +48 -0
  806. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +1903 -0
  807. data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc +139 -0
  808. data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.h +32 -0
  809. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +1945 -0
  810. data/third_party/abseil-cpp/absl/debugging/internal/demangle.h +71 -0
  811. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +382 -0
  812. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +134 -0
  813. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +196 -0
  814. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +134 -0
  815. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +89 -0
  816. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +108 -0
  817. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +248 -0
  818. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +24 -0
  819. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +93 -0
  820. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +346 -0
  821. data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +149 -0
  822. data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +173 -0
  823. data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.h +158 -0
  824. data/third_party/abseil-cpp/absl/debugging/stacktrace.cc +140 -0
  825. data/third_party/abseil-cpp/absl/debugging/stacktrace.h +231 -0
  826. data/third_party/abseil-cpp/absl/debugging/symbolize.cc +36 -0
  827. data/third_party/abseil-cpp/absl/debugging/symbolize.h +99 -0
  828. data/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc +101 -0
  829. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +1560 -0
  830. data/third_party/abseil-cpp/absl/debugging/symbolize_unimplemented.inc +40 -0
  831. data/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc +81 -0
  832. data/third_party/abseil-cpp/absl/functional/bind_front.h +184 -0
  833. data/third_party/abseil-cpp/absl/functional/function_ref.h +139 -0
  834. data/third_party/abseil-cpp/absl/functional/internal/front_binder.h +95 -0
  835. data/third_party/abseil-cpp/absl/functional/internal/function_ref.h +106 -0
  836. data/third_party/abseil-cpp/absl/hash/hash.h +325 -0
  837. data/third_party/abseil-cpp/absl/hash/internal/city.cc +346 -0
  838. data/third_party/abseil-cpp/absl/hash/internal/city.h +96 -0
  839. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +55 -0
  840. data/third_party/abseil-cpp/absl/hash/internal/hash.h +996 -0
  841. data/third_party/abseil-cpp/absl/memory/memory.h +4 -0
  842. data/third_party/abseil-cpp/absl/meta/type_traits.h +2 -8
  843. data/third_party/abseil-cpp/absl/numeric/int128.cc +13 -27
  844. data/third_party/abseil-cpp/absl/numeric/int128.h +16 -15
  845. data/third_party/abseil-cpp/absl/status/internal/status_internal.h +51 -0
  846. data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +399 -0
  847. data/third_party/abseil-cpp/absl/status/status.cc +445 -0
  848. data/third_party/abseil-cpp/absl/status/status.h +817 -0
  849. data/third_party/abseil-cpp/absl/status/status_payload_printer.cc +38 -0
  850. data/third_party/abseil-cpp/absl/status/status_payload_printer.h +51 -0
  851. data/third_party/abseil-cpp/absl/status/statusor.cc +71 -0
  852. data/third_party/abseil-cpp/absl/status/statusor.h +760 -0
  853. data/third_party/abseil-cpp/absl/strings/charconv.cc +2 -2
  854. data/third_party/abseil-cpp/absl/strings/cord.cc +1998 -0
  855. data/third_party/abseil-cpp/absl/strings/cord.h +1276 -0
  856. data/third_party/abseil-cpp/absl/strings/escaping.cc +9 -9
  857. data/third_party/abseil-cpp/absl/strings/internal/char_map.h +1 -1
  858. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc +1 -1
  859. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h +2 -2
  860. data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +2 -2
  861. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +173 -0
  862. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +222 -136
  863. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +136 -64
  864. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +1 -1
  865. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +14 -21
  866. data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +7 -14
  867. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +31 -7
  868. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +147 -135
  869. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +999 -87
  870. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +3 -3
  871. data/third_party/abseil-cpp/absl/strings/internal/str_format/output.h +4 -12
  872. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +8 -6
  873. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +13 -11
  874. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +2 -2
  875. data/third_party/abseil-cpp/absl/strings/str_cat.cc +4 -4
  876. data/third_party/abseil-cpp/absl/strings/str_cat.h +1 -1
  877. data/third_party/abseil-cpp/absl/strings/str_format.h +289 -13
  878. data/third_party/abseil-cpp/absl/strings/str_split.cc +2 -2
  879. data/third_party/abseil-cpp/absl/strings/str_split.h +1 -0
  880. data/third_party/abseil-cpp/absl/strings/string_view.h +26 -19
  881. data/third_party/abseil-cpp/absl/strings/substitute.cc +5 -5
  882. data/third_party/abseil-cpp/absl/strings/substitute.h +32 -29
  883. data/third_party/abseil-cpp/absl/synchronization/barrier.cc +52 -0
  884. data/third_party/abseil-cpp/absl/synchronization/barrier.h +79 -0
  885. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc +57 -0
  886. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.h +99 -0
  887. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +140 -0
  888. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.h +60 -0
  889. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +697 -0
  890. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.h +141 -0
  891. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +155 -0
  892. data/third_party/abseil-cpp/absl/synchronization/internal/mutex_nonprod.inc +249 -0
  893. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +106 -0
  894. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +115 -0
  895. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +492 -0
  896. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +159 -0
  897. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +2739 -0
  898. data/third_party/abseil-cpp/absl/synchronization/mutex.h +1065 -0
  899. data/third_party/abseil-cpp/absl/synchronization/notification.cc +78 -0
  900. data/third_party/abseil-cpp/absl/synchronization/notification.h +123 -0
  901. data/third_party/abseil-cpp/absl/time/civil_time.cc +9 -9
  902. data/third_party/abseil-cpp/absl/time/clock.cc +3 -3
  903. data/third_party/abseil-cpp/absl/time/duration.cc +90 -59
  904. data/third_party/abseil-cpp/absl/time/format.cc +43 -36
  905. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +26 -16
  906. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +4 -2
  907. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/zone_info_source.h +1 -1
  908. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +136 -29
  909. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +13 -21
  910. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h +1 -1
  911. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +136 -129
  912. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h +4 -5
  913. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +8 -7
  914. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +6 -6
  915. data/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +2 -1
  916. data/third_party/abseil-cpp/absl/time/time.h +15 -16
  917. data/third_party/abseil-cpp/absl/types/bad_variant_access.cc +64 -0
  918. data/third_party/abseil-cpp/absl/types/bad_variant_access.h +82 -0
  919. data/third_party/abseil-cpp/absl/types/internal/variant.h +1646 -0
  920. data/third_party/abseil-cpp/absl/types/optional.h +9 -9
  921. data/third_party/abseil-cpp/absl/types/span.h +49 -36
  922. data/third_party/abseil-cpp/absl/types/variant.h +861 -0
  923. data/third_party/abseil-cpp/absl/utility/utility.h +2 -2
  924. data/third_party/address_sorting/include/address_sorting/address_sorting.h +2 -0
  925. data/third_party/boringssl-with-bazel/err_data.c +482 -464
  926. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +3 -3
  927. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_enum.c +3 -3
  928. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c +1 -1
  929. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +3 -3
  930. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +2 -2
  931. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +1 -1
  932. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +1 -7
  933. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +1 -1
  934. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_enum.c +1 -1
  935. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c +1 -1
  936. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c +1 -1
  937. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +2 -0
  938. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +1 -0
  939. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +9 -43
  940. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +55 -4
  941. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +34 -0
  942. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +12 -52
  943. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +0 -22
  944. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +4 -0
  945. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +159 -0
  946. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c +6 -2
  947. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.c +17 -1
  948. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +11 -1
  949. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +173 -35
  950. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c +2 -0
  951. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +2 -1
  952. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +13 -11
  953. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-x86_64.c +24 -23
  954. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +20 -16
  955. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +2 -2
  956. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/util.c +3 -3
  957. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +4 -0
  958. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +30 -10
  959. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +56 -22
  960. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +70 -2
  961. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +543 -0
  962. data/third_party/boringssl-with-bazel/src/crypto/hpke/internal.h +237 -0
  963. data/third_party/boringssl-with-bazel/src/crypto/mem.c +29 -15
  964. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +7 -0
  965. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +36 -5
  966. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +110 -70
  967. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +348 -423
  968. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +217 -79
  969. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +766 -0
  970. data/third_party/boringssl-with-bazel/src/crypto/x509/a_strex.c +7 -7
  971. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +10 -0
  972. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +4 -4
  973. data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c +3 -3
  974. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +1 -1
  975. data/third_party/boringssl-with-bazel/src/crypto/x509/x509.c +0 -67
  976. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +20 -8
  977. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c +21 -18
  978. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c +1 -1
  979. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +10 -0
  980. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +65 -3
  981. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +7 -4
  982. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.c +67 -67
  983. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +3 -3
  984. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +57 -44
  985. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +38 -2
  986. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +9 -8
  987. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c +10 -10
  988. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +37 -15
  989. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +28 -40
  990. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +0 -154
  991. data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c +20 -0
  992. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +30 -6
  993. data/third_party/boringssl-with-bazel/src/crypto/x509v3/ext_dat.h +1 -4
  994. data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +5 -0
  995. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_data.c +5 -3
  996. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c +14 -14
  997. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c +7 -3
  998. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_genn.c +2 -2
  999. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_info.c +1 -1
  1000. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c +1 -1
  1001. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +126 -40
  1002. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +1 -1
  1003. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +24 -0
  1004. data/third_party/boringssl-with-bazel/src/include/openssl/aes.h +16 -4
  1005. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +54 -0
  1006. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +22 -23
  1007. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +7 -4
  1008. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +4 -0
  1009. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +6 -0
  1010. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +1 -1
  1011. data/third_party/boringssl-with-bazel/src/include/openssl/des.h +6 -0
  1012. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +12 -0
  1013. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +9 -0
  1014. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +73 -1
  1015. data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +3 -0
  1016. data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +202 -134
  1017. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +136 -26
  1018. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +5 -2
  1019. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +43 -24
  1020. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +942 -747
  1021. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +482 -432
  1022. data/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc +18 -5
  1023. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +38 -3
  1024. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +27 -20
  1025. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +4 -5
  1026. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +10 -1
  1027. data/third_party/boringssl-with-bazel/src/ssl/internal.h +66 -24
  1028. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +48 -7
  1029. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +3 -6
  1030. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +8 -9
  1031. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +105 -0
  1032. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +11 -34
  1033. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +5 -5
  1034. data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +45 -24
  1035. data/third_party/boringssl-with-bazel/src/ssl/t1_lib.cc +250 -20
  1036. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +1 -2
  1037. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +88 -40
  1038. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +152 -50
  1039. data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +5 -3
  1040. data/third_party/re2/re2/bitmap256.h +117 -0
  1041. data/third_party/re2/re2/bitstate.cc +385 -0
  1042. data/third_party/re2/re2/compile.cc +1279 -0
  1043. data/third_party/re2/re2/dfa.cc +2130 -0
  1044. data/third_party/re2/re2/filtered_re2.cc +121 -0
  1045. data/third_party/re2/re2/filtered_re2.h +109 -0
  1046. data/third_party/re2/re2/mimics_pcre.cc +197 -0
  1047. data/third_party/re2/re2/nfa.cc +713 -0
  1048. data/third_party/re2/re2/onepass.cc +623 -0
  1049. data/third_party/re2/re2/parse.cc +2464 -0
  1050. data/third_party/re2/re2/perl_groups.cc +119 -0
  1051. data/third_party/re2/re2/pod_array.h +55 -0
  1052. data/third_party/re2/re2/prefilter.cc +710 -0
  1053. data/third_party/re2/re2/prefilter.h +108 -0
  1054. data/third_party/re2/re2/prefilter_tree.cc +407 -0
  1055. data/third_party/re2/re2/prefilter_tree.h +139 -0
  1056. data/third_party/re2/re2/prog.cc +988 -0
  1057. data/third_party/re2/re2/prog.h +436 -0
  1058. data/third_party/re2/re2/re2.cc +1362 -0
  1059. data/third_party/re2/re2/re2.h +1002 -0
  1060. data/third_party/re2/re2/regexp.cc +980 -0
  1061. data/third_party/re2/re2/regexp.h +659 -0
  1062. data/third_party/re2/re2/set.cc +154 -0
  1063. data/third_party/re2/re2/set.h +80 -0
  1064. data/third_party/re2/re2/simplify.cc +657 -0
  1065. data/third_party/re2/re2/sparse_array.h +392 -0
  1066. data/third_party/re2/re2/sparse_set.h +264 -0
  1067. data/third_party/re2/re2/stringpiece.cc +65 -0
  1068. data/third_party/re2/re2/stringpiece.h +210 -0
  1069. data/third_party/re2/re2/tostring.cc +351 -0
  1070. data/third_party/re2/re2/unicode_casefold.cc +582 -0
  1071. data/third_party/re2/re2/unicode_casefold.h +78 -0
  1072. data/third_party/re2/re2/unicode_groups.cc +6269 -0
  1073. data/third_party/re2/re2/unicode_groups.h +67 -0
  1074. data/third_party/re2/re2/walker-inl.h +246 -0
  1075. data/third_party/re2/util/benchmark.h +156 -0
  1076. data/third_party/re2/util/flags.h +26 -0
  1077. data/third_party/re2/util/logging.h +109 -0
  1078. data/third_party/re2/util/malloc_counter.h +19 -0
  1079. data/third_party/re2/util/mix.h +41 -0
  1080. data/third_party/re2/util/mutex.h +148 -0
  1081. data/third_party/re2/util/pcre.cc +1025 -0
  1082. data/third_party/re2/util/pcre.h +681 -0
  1083. data/third_party/re2/util/rune.cc +260 -0
  1084. data/third_party/re2/util/strutil.cc +149 -0
  1085. data/third_party/re2/util/strutil.h +21 -0
  1086. data/third_party/re2/util/test.h +50 -0
  1087. data/third_party/re2/util/utf.h +44 -0
  1088. data/third_party/re2/util/util.h +42 -0
  1089. data/third_party/upb/third_party/wyhash/wyhash.h +145 -0
  1090. data/third_party/upb/upb/decode.c +604 -511
  1091. data/third_party/upb/upb/decode.h +20 -1
  1092. data/third_party/upb/upb/decode.int.h +163 -0
  1093. data/third_party/upb/upb/decode_fast.c +1040 -0
  1094. data/third_party/upb/upb/decode_fast.h +126 -0
  1095. data/third_party/upb/upb/def.c +2178 -0
  1096. data/third_party/upb/upb/def.h +315 -0
  1097. data/third_party/upb/upb/def.hpp +439 -0
  1098. data/third_party/upb/upb/encode.c +311 -211
  1099. data/third_party/upb/upb/encode.h +27 -2
  1100. data/third_party/upb/upb/json_decode.c +1443 -0
  1101. data/third_party/upb/upb/json_decode.h +23 -0
  1102. data/third_party/upb/upb/json_encode.c +713 -0
  1103. data/third_party/upb/upb/json_encode.h +36 -0
  1104. data/third_party/upb/upb/msg.c +215 -70
  1105. data/third_party/upb/upb/msg.h +558 -14
  1106. data/third_party/upb/upb/port_def.inc +105 -63
  1107. data/third_party/upb/upb/port_undef.inc +10 -7
  1108. data/third_party/upb/upb/reflection.c +408 -0
  1109. data/third_party/upb/upb/reflection.h +168 -0
  1110. data/third_party/upb/upb/table.c +73 -269
  1111. data/third_party/upb/upb/table.int.h +25 -57
  1112. data/third_party/upb/upb/text_encode.c +421 -0
  1113. data/third_party/upb/upb/text_encode.h +38 -0
  1114. data/third_party/upb/upb/upb.c +138 -135
  1115. data/third_party/upb/upb/upb.h +119 -146
  1116. data/third_party/upb/upb/upb.hpp +88 -0
  1117. data/third_party/upb/upb/upb.int.h +29 -0
  1118. metadata +560 -166
  1119. data/src/core/ext/filters/client_channel/lb_policy/xds/eds.cc +0 -938
  1120. data/src/core/ext/filters/client_channel/lb_policy/xds/lrs.cc +0 -528
  1121. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_routing.cc +0 -834
  1122. data/src/core/ext/filters/client_channel/parse_address.h +0 -53
  1123. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.cc +0 -484
  1124. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc +0 -68
  1125. data/src/core/ext/filters/client_channel/resolving_lb_policy.cc +0 -348
  1126. data/src/core/ext/filters/client_channel/resolving_lb_policy.h +0 -123
  1127. data/src/core/ext/filters/client_channel/xds/xds_api.cc +0 -1906
  1128. data/src/core/ext/filters/client_channel/xds/xds_api.h +0 -280
  1129. data/src/core/ext/filters/client_channel/xds/xds_channel.h +0 -46
  1130. data/src/core/ext/filters/client_channel/xds/xds_channel_secure.cc +0 -106
  1131. data/src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.c +0 -21
  1132. data/src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.h +0 -35
  1133. data/src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.c +0 -114
  1134. data/src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.h +0 -418
  1135. data/src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.c +0 -72
  1136. data/src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.h +0 -197
  1137. data/src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.c +0 -105
  1138. data/src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.h +0 -378
  1139. data/src/core/ext/upb-generated/envoy/api/v2/cds.upb.h +0 -53
  1140. data/src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.c +0 -74
  1141. data/src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.h +0 -218
  1142. data/src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.c +0 -35
  1143. data/src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.h +0 -69
  1144. data/src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.c +0 -55
  1145. data/src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.h +0 -305
  1146. data/src/core/ext/upb-generated/envoy/api/v2/cluster.upb.c +0 -403
  1147. data/src/core/ext/upb-generated/envoy/api/v2/cluster.upb.h +0 -1447
  1148. data/src/core/ext/upb-generated/envoy/api/v2/core/address.upb.c +0 -112
  1149. data/src/core/ext/upb-generated/envoy/api/v2/core/address.upb.h +0 -328
  1150. data/src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.c +0 -35
  1151. data/src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.h +0 -78
  1152. data/src/core/ext/upb-generated/envoy/api/v2/core/base.upb.c +0 -313
  1153. data/src/core/ext/upb-generated/envoy/api/v2/core/base.upb.h +0 -897
  1154. data/src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.c +0 -96
  1155. data/src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.h +0 -322
  1156. data/src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.c +0 -34
  1157. data/src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.h +0 -72
  1158. data/src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.c +0 -197
  1159. data/src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.h +0 -642
  1160. data/src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.c +0 -172
  1161. data/src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.h +0 -673
  1162. data/src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.c +0 -36
  1163. data/src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.h +0 -80
  1164. data/src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.c +0 -152
  1165. data/src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.h +0 -518
  1166. data/src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.h +0 -89
  1167. data/src/core/ext/upb-generated/envoy/api/v2/discovery.upb.c +0 -129
  1168. data/src/core/ext/upb-generated/envoy/api/v2/discovery.upb.h +0 -392
  1169. data/src/core/ext/upb-generated/envoy/api/v2/eds.upb.h +0 -53
  1170. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.c +0 -18
  1171. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.h +0 -33
  1172. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.c +0 -91
  1173. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.h +0 -266
  1174. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.c +0 -112
  1175. data/src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.h +0 -324
  1176. data/src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.c +0 -92
  1177. data/src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.h +0 -240
  1178. data/src/core/ext/upb-generated/envoy/api/v2/lds.upb.h +0 -53
  1179. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.c +0 -18
  1180. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.h +0 -33
  1181. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.c +0 -145
  1182. data/src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.h +0 -527
  1183. data/src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.c +0 -43
  1184. data/src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.h +0 -112
  1185. data/src/core/ext/upb-generated/envoy/api/v2/listener.upb.c +0 -109
  1186. data/src/core/ext/upb-generated/envoy/api/v2/listener.upb.h +0 -399
  1187. data/src/core/ext/upb-generated/envoy/api/v2/rds.upb.h +0 -53
  1188. data/src/core/ext/upb-generated/envoy/api/v2/route/route.upb.c +0 -18
  1189. data/src/core/ext/upb-generated/envoy/api/v2/route/route.upb.h +0 -33
  1190. data/src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.c +0 -815
  1191. data/src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.h +0 -3032
  1192. data/src/core/ext/upb-generated/envoy/api/v2/route.upb.c +0 -63
  1193. data/src/core/ext/upb-generated/envoy/api/v2/route.upb.h +0 -199
  1194. data/src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.c +0 -59
  1195. data/src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.h +0 -134
  1196. data/src/core/ext/upb-generated/envoy/api/v2/srds.upb.h +0 -53
  1197. data/src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.c +0 -228
  1198. data/src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.h +0 -725
  1199. data/src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.c +0 -316
  1200. data/src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.h +0 -1132
  1201. data/src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.c +0 -33
  1202. data/src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.h +0 -65
  1203. data/src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.c +0 -51
  1204. data/src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.h +0 -125
  1205. data/src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.h +0 -50
  1206. data/src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.c +0 -54
  1207. data/src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.h +0 -134
  1208. data/src/core/ext/upb-generated/envoy/type/matcher/regex.upb.c +0 -63
  1209. data/src/core/ext/upb-generated/envoy/type/matcher/regex.upb.h +0 -144
  1210. data/src/core/ext/upb-generated/envoy/type/matcher/string.upb.c +0 -53
  1211. data/src/core/ext/upb-generated/envoy/type/matcher/string.upb.h +0 -133
  1212. data/src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.c +0 -88
  1213. data/src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.h +0 -258
  1214. data/src/core/ext/upb-generated/envoy/type/percent.upb.c +0 -39
  1215. data/src/core/ext/upb-generated/envoy/type/percent.upb.h +0 -87
  1216. data/src/core/ext/upb-generated/envoy/type/range.upb.c +0 -50
  1217. data/src/core/ext/upb-generated/envoy/type/range.upb.h +0 -112
  1218. data/src/core/ext/upb-generated/envoy/type/semantic_version.upb.h +0 -62
  1219. data/src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.c +0 -89
  1220. data/src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.h +0 -249
  1221. data/src/core/ext/upb-generated/gogoproto/gogo.upb.c +0 -17
  1222. data/src/core/lib/gprpp/map.h +0 -53
  1223. data/src/core/lib/security/transport/target_authority_table.cc +0 -75
  1224. data/src/core/lib/security/transport/target_authority_table.h +0 -40
  1225. data/src/core/lib/slice/slice_hash_table.h +0 -199
  1226. data/src/core/lib/slice/slice_weak_hash_table.h +0 -102
  1227. data/third_party/abseil-cpp/absl/base/dynamic_annotations.cc +0 -129
  1228. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pku.c +0 -110
  1229. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_sxnet.c +0 -274
  1230. data/third_party/upb/upb/generated_util.h +0 -105
  1231. data/third_party/upb/upb/port.c +0 -26
@@ -48,7 +48,7 @@
48
48
 
49
49
  namespace absl {
50
50
  ABSL_NAMESPACE_BEGIN
51
- using std::string_view;
51
+ using string_view = std::string_view;
52
52
  ABSL_NAMESPACE_END
53
53
  } // namespace absl
54
54
 
@@ -111,6 +111,11 @@ ABSL_NAMESPACE_BEGIN
111
111
  // example, when splitting a string, `std::vector<absl::string_view>` is a
112
112
  // natural data type for the output.
113
113
  //
114
+ // For another example, a Cord is a non-contiguous, potentially very
115
+ // long string-like object. The Cord class has an interface that iteratively
116
+ // provides string_view objects that point to the successive pieces of a Cord
117
+ // object.
118
+ //
114
119
  // When constructed from a source which is NUL-terminated, the `string_view`
115
120
  // itself will not include the NUL-terminator unless a specific size (including
116
121
  // the NUL) is passed to the constructor. As a result, common idioms that work
@@ -283,7 +288,7 @@ class string_view {
283
288
  // Returns the ith element of the `string_view` using the array operator.
284
289
  // Note that this operator does not perform any bounds checking.
285
290
  constexpr const_reference operator[](size_type i) const {
286
- return ABSL_ASSERT(i < size()), ptr_[i];
291
+ return ABSL_HARDENING_ASSERT(i < size()), ptr_[i];
287
292
  }
288
293
 
289
294
  // string_view::at()
@@ -303,14 +308,14 @@ class string_view {
303
308
  //
304
309
  // Returns the first element of a `string_view`.
305
310
  constexpr const_reference front() const {
306
- return ABSL_ASSERT(!empty()), ptr_[0];
311
+ return ABSL_HARDENING_ASSERT(!empty()), ptr_[0];
307
312
  }
308
313
 
309
314
  // string_view::back()
310
315
  //
311
316
  // Returns the last element of a `string_view`.
312
317
  constexpr const_reference back() const {
313
- return ABSL_ASSERT(!empty()), ptr_[size() - 1];
318
+ return ABSL_HARDENING_ASSERT(!empty()), ptr_[size() - 1];
314
319
  }
315
320
 
316
321
  // string_view::data()
@@ -319,7 +324,7 @@ class string_view {
319
324
  // stored elsewhere). Note that `string_view::data()` may contain embedded nul
320
325
  // characters, but the returned buffer may or may not be NUL-terminated;
321
326
  // therefore, do not pass `data()` to a routine that expects a NUL-terminated
322
- // std::string.
327
+ // string.
323
328
  constexpr const_pointer data() const noexcept { return ptr_; }
324
329
 
325
330
  // Modifiers
@@ -327,9 +332,9 @@ class string_view {
327
332
  // string_view::remove_prefix()
328
333
  //
329
334
  // Removes the first `n` characters from the `string_view`. Note that the
330
- // underlying std::string is not changed, only the view.
335
+ // underlying string is not changed, only the view.
331
336
  void remove_prefix(size_type n) {
332
- assert(n <= length_);
337
+ ABSL_HARDENING_ASSERT(n <= length_);
333
338
  ptr_ += n;
334
339
  length_ -= n;
335
340
  }
@@ -337,9 +342,9 @@ class string_view {
337
342
  // string_view::remove_suffix()
338
343
  //
339
344
  // Removes the last `n` characters from the `string_view`. Note that the
340
- // underlying std::string is not changed, only the view.
345
+ // underlying string is not changed, only the view.
341
346
  void remove_suffix(size_type n) {
342
- assert(n <= length_);
347
+ ABSL_HARDENING_ASSERT(n <= length_);
343
348
  length_ -= n;
344
349
  }
345
350
 
@@ -382,18 +387,20 @@ class string_view {
382
387
  // Returns a "substring" of the `string_view` (at offset `pos` and length
383
388
  // `n`) as another string_view. This function throws `std::out_of_bounds` if
384
389
  // `pos > size`.
385
- string_view substr(size_type pos, size_type n = npos) const {
386
- if (ABSL_PREDICT_FALSE(pos > length_))
387
- base_internal::ThrowStdOutOfRange("absl::string_view::substr");
388
- n = (std::min)(n, length_ - pos);
389
- return string_view(ptr_ + pos, n);
390
+ // Use absl::ClippedSubstr if you need a truncating substr operation.
391
+ constexpr string_view substr(size_type pos, size_type n = npos) const {
392
+ return ABSL_PREDICT_FALSE(pos > length_)
393
+ ? (base_internal::ThrowStdOutOfRange(
394
+ "absl::string_view::substr"),
395
+ string_view())
396
+ : string_view(ptr_ + pos, Min(n, length_ - pos));
390
397
  }
391
398
 
392
399
  // string_view::compare()
393
400
  //
394
401
  // Performs a lexicographical comparison between the `string_view` and
395
402
  // another `absl::string_view`, returning -1 if `this` is less than, 0 if
396
- // `this` is equal to, and 1 if `this` is greater than the passed std::string
403
+ // `this` is equal to, and 1 if `this` is greater than the passed string
397
404
  // view. Note that in the case of data equality, a further comparison is made
398
405
  // on the respective sizes of the two `string_view`s to determine which is
399
406
  // smaller, equal, or greater.
@@ -419,17 +426,17 @@ class string_view {
419
426
  }
420
427
 
421
428
  // Overload of `string_view::compare()` for comparing a `string_view` and a
422
- // a different C-style std::string `s`.
429
+ // a different C-style string `s`.
423
430
  int compare(const char* s) const { return compare(string_view(s)); }
424
431
 
425
432
  // Overload of `string_view::compare()` for comparing a substring of the
426
- // `string_view` and a different std::string C-style std::string `s`.
433
+ // `string_view` and a different string C-style string `s`.
427
434
  int compare(size_type pos1, size_type count1, const char* s) const {
428
435
  return substr(pos1, count1).compare(string_view(s));
429
436
  }
430
437
 
431
438
  // Overload of `string_view::compare()` for comparing a substring of the
432
- // `string_view` and a substring of a different C-style std::string `s`.
439
+ // `string_view` and a substring of a different C-style string `s`.
433
440
  int compare(size_type pos1, size_type count1, const char* s,
434
441
  size_type count2) const {
435
442
  return substr(pos1, count1).compare(string_view(s, count2));
@@ -519,7 +526,7 @@ class string_view {
519
526
  (std::numeric_limits<difference_type>::max)();
520
527
 
521
528
  static constexpr size_type CheckLengthInternal(size_type len) {
522
- return (void)ABSL_ASSERT(len <= kMaxSize), len;
529
+ return ABSL_HARDENING_ASSERT(len <= kMaxSize), len;
523
530
  }
524
531
 
525
532
  static constexpr size_type StrlenInternal(const char* str) {
@@ -36,7 +36,7 @@ void SubstituteAndAppendArray(std::string* output, absl::string_view format,
36
36
  if (i + 1 >= format.size()) {
37
37
  #ifndef NDEBUG
38
38
  ABSL_RAW_LOG(FATAL,
39
- "Invalid absl::Substitute() format std::string: \"%s\".",
39
+ "Invalid absl::Substitute() format string: \"%s\".",
40
40
  absl::CEscape(format).c_str());
41
41
  #endif
42
42
  return;
@@ -46,8 +46,8 @@ void SubstituteAndAppendArray(std::string* output, absl::string_view format,
46
46
  #ifndef NDEBUG
47
47
  ABSL_RAW_LOG(
48
48
  FATAL,
49
- "Invalid absl::Substitute() format std::string: asked for \"$"
50
- "%d\", but only %d args were given. Full format std::string was: "
49
+ "Invalid absl::Substitute() format string: asked for \"$"
50
+ "%d\", but only %d args were given. Full format string was: "
51
51
  "\"%s\".",
52
52
  index, static_cast<int>(num_args), absl::CEscape(format).c_str());
53
53
  #endif
@@ -61,7 +61,7 @@ void SubstituteAndAppendArray(std::string* output, absl::string_view format,
61
61
  } else {
62
62
  #ifndef NDEBUG
63
63
  ABSL_RAW_LOG(FATAL,
64
- "Invalid absl::Substitute() format std::string: \"%s\".",
64
+ "Invalid absl::Substitute() format string: \"%s\".",
65
65
  absl::CEscape(format).c_str());
66
66
  #endif
67
67
  return;
@@ -73,7 +73,7 @@ void SubstituteAndAppendArray(std::string* output, absl::string_view format,
73
73
 
74
74
  if (size == 0) return;
75
75
 
76
- // Build the std::string.
76
+ // Build the string.
77
77
  size_t original_size = output->size();
78
78
  strings_internal::STLStringResizeUninitialized(output, original_size + size);
79
79
  char* target = &(*output)[original_size];
@@ -50,7 +50,7 @@
50
50
  //
51
51
  // Supported types:
52
52
  // * absl::string_view, std::string, const char* (null is equivalent to "")
53
- // * int32_t, int64_t, uint32_t, uint64
53
+ // * int32_t, int64_t, uint32_t, uint64_t
54
54
  // * float, double
55
55
  // * bool (Printed as "true" or "false")
56
56
  // * pointer types other than char* (Printed as "0x<lower case hex string>",
@@ -99,7 +99,7 @@ namespace substitute_internal {
99
99
  // This class has implicit constructors.
100
100
  class Arg {
101
101
  public:
102
- // Overloads for std::string-y things
102
+ // Overloads for string-y things
103
103
  //
104
104
  // Explicitly overload `const char*` so the compiler doesn't cast to `bool`.
105
105
  Arg(const char* value) // NOLINT(runtime/explicit)
@@ -120,7 +120,9 @@ class Arg {
120
120
  // representation. However, we can't really know, so we make the caller decide
121
121
  // what to do.
122
122
  Arg(char value) // NOLINT(runtime/explicit)
123
- : piece_(scratch_, 1) { scratch_[0] = value; }
123
+ : piece_(scratch_, 1) {
124
+ scratch_[0] = value;
125
+ }
124
126
  Arg(short value) // NOLINT(*)
125
127
  : piece_(scratch_,
126
128
  numbers_internal::FastIntToBuffer(value, scratch_) - scratch_) {}
@@ -203,10 +205,11 @@ constexpr const char* SkipNumber(const char* format) {
203
205
  }
204
206
 
205
207
  constexpr int PlaceholderBitmask(const char* format) {
206
- return !*format ? 0 : *format != '$'
207
- ? PlaceholderBitmask(format + 1)
208
- : (CalculateOneBit(format + 1) |
209
- PlaceholderBitmask(SkipNumber(format + 1)));
208
+ return !*format
209
+ ? 0
210
+ : *format != '$' ? PlaceholderBitmask(format + 1)
211
+ : (CalculateOneBit(format + 1) |
212
+ PlaceholderBitmask(SkipNumber(format + 1)));
210
213
  }
211
214
  #endif // ABSL_BAD_CALL_IF
212
215
 
@@ -360,13 +363,13 @@ inline void SubstituteAndAppend(
360
363
  void SubstituteAndAppend(std::string* output, const char* format)
361
364
  ABSL_BAD_CALL_IF(substitute_internal::PlaceholderBitmask(format) != 0,
362
365
  "There were no substitution arguments "
363
- "but this format std::string has a $[0-9] in it");
366
+ "but this format string has a $[0-9] in it");
364
367
 
365
368
  void SubstituteAndAppend(std::string* output, const char* format,
366
369
  const substitute_internal::Arg& a0)
367
370
  ABSL_BAD_CALL_IF(substitute_internal::PlaceholderBitmask(format) != 1,
368
371
  "There was 1 substitution argument given, but "
369
- "this format std::string is either missing its $0, or "
372
+ "this format string is either missing its $0, or "
370
373
  "contains one of $1-$9");
371
374
 
372
375
  void SubstituteAndAppend(std::string* output, const char* format,
@@ -374,7 +377,7 @@ void SubstituteAndAppend(std::string* output, const char* format,
374
377
  const substitute_internal::Arg& a1)
375
378
  ABSL_BAD_CALL_IF(substitute_internal::PlaceholderBitmask(format) != 3,
376
379
  "There were 2 substitution arguments given, but "
377
- "this format std::string is either missing its $0/$1, or "
380
+ "this format string is either missing its $0/$1, or "
378
381
  "contains one of $2-$9");
379
382
 
380
383
  void SubstituteAndAppend(std::string* output, const char* format,
@@ -383,7 +386,7 @@ void SubstituteAndAppend(std::string* output, const char* format,
383
386
  const substitute_internal::Arg& a2)
384
387
  ABSL_BAD_CALL_IF(substitute_internal::PlaceholderBitmask(format) != 7,
385
388
  "There were 3 substitution arguments given, but "
386
- "this format std::string is either missing its $0/$1/$2, or "
389
+ "this format string is either missing its $0/$1/$2, or "
387
390
  "contains one of $3-$9");
388
391
 
389
392
  void SubstituteAndAppend(std::string* output, const char* format,
@@ -393,7 +396,7 @@ void SubstituteAndAppend(std::string* output, const char* format,
393
396
  const substitute_internal::Arg& a3)
394
397
  ABSL_BAD_CALL_IF(substitute_internal::PlaceholderBitmask(format) != 15,
395
398
  "There were 4 substitution arguments given, but "
396
- "this format std::string is either missing its $0-$3, or "
399
+ "this format string is either missing its $0-$3, or "
397
400
  "contains one of $4-$9");
398
401
 
399
402
  void SubstituteAndAppend(std::string* output, const char* format,
@@ -404,7 +407,7 @@ void SubstituteAndAppend(std::string* output, const char* format,
404
407
  const substitute_internal::Arg& a4)
405
408
  ABSL_BAD_CALL_IF(substitute_internal::PlaceholderBitmask(format) != 31,
406
409
  "There were 5 substitution arguments given, but "
407
- "this format std::string is either missing its $0-$4, or "
410
+ "this format string is either missing its $0-$4, or "
408
411
  "contains one of $5-$9");
409
412
 
410
413
  void SubstituteAndAppend(std::string* output, const char* format,
@@ -416,7 +419,7 @@ void SubstituteAndAppend(std::string* output, const char* format,
416
419
  const substitute_internal::Arg& a5)
417
420
  ABSL_BAD_CALL_IF(substitute_internal::PlaceholderBitmask(format) != 63,
418
421
  "There were 6 substitution arguments given, but "
419
- "this format std::string is either missing its $0-$5, or "
422
+ "this format string is either missing its $0-$5, or "
420
423
  "contains one of $6-$9");
421
424
 
422
425
  void SubstituteAndAppend(
@@ -426,7 +429,7 @@ void SubstituteAndAppend(
426
429
  const substitute_internal::Arg& a5, const substitute_internal::Arg& a6)
427
430
  ABSL_BAD_CALL_IF(substitute_internal::PlaceholderBitmask(format) != 127,
428
431
  "There were 7 substitution arguments given, but "
429
- "this format std::string is either missing its $0-$6, or "
432
+ "this format string is either missing its $0-$6, or "
430
433
  "contains one of $7-$9");
431
434
 
432
435
  void SubstituteAndAppend(
@@ -437,7 +440,7 @@ void SubstituteAndAppend(
437
440
  const substitute_internal::Arg& a7)
438
441
  ABSL_BAD_CALL_IF(substitute_internal::PlaceholderBitmask(format) != 255,
439
442
  "There were 8 substitution arguments given, but "
440
- "this format std::string is either missing its $0-$7, or "
443
+ "this format string is either missing its $0-$7, or "
441
444
  "contains one of $8-$9");
442
445
 
443
446
  void SubstituteAndAppend(
@@ -449,7 +452,7 @@ void SubstituteAndAppend(
449
452
  ABSL_BAD_CALL_IF(
450
453
  substitute_internal::PlaceholderBitmask(format) != 511,
451
454
  "There were 9 substitution arguments given, but "
452
- "this format std::string is either missing its $0-$8, or contains a $9");
455
+ "this format string is either missing its $0-$8, or contains a $9");
453
456
 
454
457
  void SubstituteAndAppend(
455
458
  std::string* output, const char* format, const substitute_internal::Arg& a0,
@@ -460,7 +463,7 @@ void SubstituteAndAppend(
460
463
  const substitute_internal::Arg& a9)
461
464
  ABSL_BAD_CALL_IF(substitute_internal::PlaceholderBitmask(format) != 1023,
462
465
  "There were 10 substitution arguments given, but this "
463
- "format std::string doesn't contain all of $0 through $9");
466
+ "format string doesn't contain all of $0 through $9");
464
467
  #endif // ABSL_BAD_CALL_IF
465
468
 
466
469
  // Substitute()
@@ -586,19 +589,19 @@ ABSL_MUST_USE_RESULT inline std::string Substitute(
586
589
  std::string Substitute(const char* format)
587
590
  ABSL_BAD_CALL_IF(substitute_internal::PlaceholderBitmask(format) != 0,
588
591
  "There were no substitution arguments "
589
- "but this format std::string has a $[0-9] in it");
592
+ "but this format string has a $[0-9] in it");
590
593
 
591
594
  std::string Substitute(const char* format, const substitute_internal::Arg& a0)
592
595
  ABSL_BAD_CALL_IF(substitute_internal::PlaceholderBitmask(format) != 1,
593
596
  "There was 1 substitution argument given, but "
594
- "this format std::string is either missing its $0, or "
597
+ "this format string is either missing its $0, or "
595
598
  "contains one of $1-$9");
596
599
 
597
600
  std::string Substitute(const char* format, const substitute_internal::Arg& a0,
598
601
  const substitute_internal::Arg& a1)
599
602
  ABSL_BAD_CALL_IF(substitute_internal::PlaceholderBitmask(format) != 3,
600
603
  "There were 2 substitution arguments given, but "
601
- "this format std::string is either missing its $0/$1, or "
604
+ "this format string is either missing its $0/$1, or "
602
605
  "contains one of $2-$9");
603
606
 
604
607
  std::string Substitute(const char* format, const substitute_internal::Arg& a0,
@@ -606,7 +609,7 @@ std::string Substitute(const char* format, const substitute_internal::Arg& a0,
606
609
  const substitute_internal::Arg& a2)
607
610
  ABSL_BAD_CALL_IF(substitute_internal::PlaceholderBitmask(format) != 7,
608
611
  "There were 3 substitution arguments given, but "
609
- "this format std::string is either missing its $0/$1/$2, or "
612
+ "this format string is either missing its $0/$1/$2, or "
610
613
  "contains one of $3-$9");
611
614
 
612
615
  std::string Substitute(const char* format, const substitute_internal::Arg& a0,
@@ -615,7 +618,7 @@ std::string Substitute(const char* format, const substitute_internal::Arg& a0,
615
618
  const substitute_internal::Arg& a3)
616
619
  ABSL_BAD_CALL_IF(substitute_internal::PlaceholderBitmask(format) != 15,
617
620
  "There were 4 substitution arguments given, but "
618
- "this format std::string is either missing its $0-$3, or "
621
+ "this format string is either missing its $0-$3, or "
619
622
  "contains one of $4-$9");
620
623
 
621
624
  std::string Substitute(const char* format, const substitute_internal::Arg& a0,
@@ -625,7 +628,7 @@ std::string Substitute(const char* format, const substitute_internal::Arg& a0,
625
628
  const substitute_internal::Arg& a4)
626
629
  ABSL_BAD_CALL_IF(substitute_internal::PlaceholderBitmask(format) != 31,
627
630
  "There were 5 substitution arguments given, but "
628
- "this format std::string is either missing its $0-$4, or "
631
+ "this format string is either missing its $0-$4, or "
629
632
  "contains one of $5-$9");
630
633
 
631
634
  std::string Substitute(const char* format, const substitute_internal::Arg& a0,
@@ -636,7 +639,7 @@ std::string Substitute(const char* format, const substitute_internal::Arg& a0,
636
639
  const substitute_internal::Arg& a5)
637
640
  ABSL_BAD_CALL_IF(substitute_internal::PlaceholderBitmask(format) != 63,
638
641
  "There were 6 substitution arguments given, but "
639
- "this format std::string is either missing its $0-$5, or "
642
+ "this format string is either missing its $0-$5, or "
640
643
  "contains one of $6-$9");
641
644
 
642
645
  std::string Substitute(const char* format, const substitute_internal::Arg& a0,
@@ -648,7 +651,7 @@ std::string Substitute(const char* format, const substitute_internal::Arg& a0,
648
651
  const substitute_internal::Arg& a6)
649
652
  ABSL_BAD_CALL_IF(substitute_internal::PlaceholderBitmask(format) != 127,
650
653
  "There were 7 substitution arguments given, but "
651
- "this format std::string is either missing its $0-$6, or "
654
+ "this format string is either missing its $0-$6, or "
652
655
  "contains one of $7-$9");
653
656
 
654
657
  std::string Substitute(const char* format, const substitute_internal::Arg& a0,
@@ -661,7 +664,7 @@ std::string Substitute(const char* format, const substitute_internal::Arg& a0,
661
664
  const substitute_internal::Arg& a7)
662
665
  ABSL_BAD_CALL_IF(substitute_internal::PlaceholderBitmask(format) != 255,
663
666
  "There were 8 substitution arguments given, but "
664
- "this format std::string is either missing its $0-$7, or "
667
+ "this format string is either missing its $0-$7, or "
665
668
  "contains one of $8-$9");
666
669
 
667
670
  std::string Substitute(
@@ -673,7 +676,7 @@ std::string Substitute(
673
676
  ABSL_BAD_CALL_IF(
674
677
  substitute_internal::PlaceholderBitmask(format) != 511,
675
678
  "There were 9 substitution arguments given, but "
676
- "this format std::string is either missing its $0-$8, or contains a $9");
679
+ "this format string is either missing its $0-$8, or contains a $9");
677
680
 
678
681
  std::string Substitute(
679
682
  const char* format, const substitute_internal::Arg& a0,
@@ -684,7 +687,7 @@ std::string Substitute(
684
687
  const substitute_internal::Arg& a9)
685
688
  ABSL_BAD_CALL_IF(substitute_internal::PlaceholderBitmask(format) != 1023,
686
689
  "There were 10 substitution arguments given, but this "
687
- "format std::string doesn't contain all of $0 through $9");
690
+ "format string doesn't contain all of $0 through $9");
688
691
  #endif // ABSL_BAD_CALL_IF
689
692
 
690
693
  ABSL_NAMESPACE_END
@@ -0,0 +1,52 @@
1
+ // Copyright 2017 The Abseil Authors.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // https://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ #include "absl/synchronization/barrier.h"
16
+
17
+ #include "absl/base/internal/raw_logging.h"
18
+ #include "absl/synchronization/mutex.h"
19
+
20
+ namespace absl {
21
+ ABSL_NAMESPACE_BEGIN
22
+
23
+ // Return whether int *arg is zero.
24
+ static bool IsZero(void *arg) {
25
+ return 0 == *reinterpret_cast<int *>(arg);
26
+ }
27
+
28
+ bool Barrier::Block() {
29
+ MutexLock l(&this->lock_);
30
+
31
+ this->num_to_block_--;
32
+ if (this->num_to_block_ < 0) {
33
+ ABSL_RAW_LOG(
34
+ FATAL,
35
+ "Block() called too many times. num_to_block_=%d out of total=%d",
36
+ this->num_to_block_, this->num_to_exit_);
37
+ }
38
+
39
+ this->lock_.Await(Condition(IsZero, &this->num_to_block_));
40
+
41
+ // Determine which thread can safely delete this Barrier object
42
+ this->num_to_exit_--;
43
+ ABSL_RAW_CHECK(this->num_to_exit_ >= 0, "barrier underflow");
44
+
45
+ // If num_to_exit_ == 0 then all other threads in the barrier have
46
+ // exited the Wait() and have released the Mutex so this thread is
47
+ // free to delete the barrier.
48
+ return this->num_to_exit_ == 0;
49
+ }
50
+
51
+ ABSL_NAMESPACE_END
52
+ } // namespace absl
@@ -0,0 +1,79 @@
1
+ // Copyright 2017 The Abseil Authors.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // https://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ //
15
+ // -----------------------------------------------------------------------------
16
+ // barrier.h
17
+ // -----------------------------------------------------------------------------
18
+
19
+ #ifndef ABSL_SYNCHRONIZATION_BARRIER_H_
20
+ #define ABSL_SYNCHRONIZATION_BARRIER_H_
21
+
22
+ #include "absl/base/thread_annotations.h"
23
+ #include "absl/synchronization/mutex.h"
24
+
25
+ namespace absl {
26
+ ABSL_NAMESPACE_BEGIN
27
+
28
+ // Barrier
29
+ //
30
+ // This class creates a barrier which blocks threads until a prespecified
31
+ // threshold of threads (`num_threads`) utilizes the barrier. A thread utilizes
32
+ // the `Barrier` by calling `Block()` on the barrier, which will block that
33
+ // thread; no call to `Block()` will return until `num_threads` threads have
34
+ // called it.
35
+ //
36
+ // Exactly one call to `Block()` will return `true`, which is then responsible
37
+ // for destroying the barrier; because stack allocation will cause the barrier
38
+ // to be deleted when it is out of scope, barriers should not be stack
39
+ // allocated.
40
+ //
41
+ // Example:
42
+ //
43
+ // // Main thread creates a `Barrier`:
44
+ // barrier = new Barrier(num_threads);
45
+ //
46
+ // // Each participating thread could then call:
47
+ // if (barrier->Block()) delete barrier; // Exactly one call to `Block()`
48
+ // // returns `true`; that call
49
+ // // deletes the barrier.
50
+ class Barrier {
51
+ public:
52
+ // `num_threads` is the number of threads that will participate in the barrier
53
+ explicit Barrier(int num_threads)
54
+ : num_to_block_(num_threads), num_to_exit_(num_threads) {}
55
+
56
+ Barrier(const Barrier&) = delete;
57
+ Barrier& operator=(const Barrier&) = delete;
58
+
59
+ // Barrier::Block()
60
+ //
61
+ // Blocks the current thread, and returns only when the `num_threads`
62
+ // threshold of threads utilizing this barrier has been reached. `Block()`
63
+ // returns `true` for precisely one caller, which may then destroy the
64
+ // barrier.
65
+ //
66
+ // Memory ordering: For any threads X and Y, any action taken by X
67
+ // before X calls `Block()` will be visible to Y after Y returns from
68
+ // `Block()`.
69
+ bool Block();
70
+
71
+ private:
72
+ Mutex lock_;
73
+ int num_to_block_ ABSL_GUARDED_BY(lock_);
74
+ int num_to_exit_ ABSL_GUARDED_BY(lock_);
75
+ };
76
+
77
+ ABSL_NAMESPACE_END
78
+ } // namespace absl
79
+ #endif // ABSL_SYNCHRONIZATION_BARRIER_H_
@@ -0,0 +1,57 @@
1
+ // Copyright 2017 The Abseil Authors.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // https://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ #include "absl/synchronization/blocking_counter.h"
16
+
17
+ #include "absl/base/internal/raw_logging.h"
18
+
19
+ namespace absl {
20
+ ABSL_NAMESPACE_BEGIN
21
+
22
+ // Return whether int *arg is zero.
23
+ static bool IsZero(void *arg) {
24
+ return 0 == *reinterpret_cast<int *>(arg);
25
+ }
26
+
27
+ bool BlockingCounter::DecrementCount() {
28
+ MutexLock l(&lock_);
29
+ count_--;
30
+ if (count_ < 0) {
31
+ ABSL_RAW_LOG(
32
+ FATAL,
33
+ "BlockingCounter::DecrementCount() called too many times. count=%d",
34
+ count_);
35
+ }
36
+ return count_ == 0;
37
+ }
38
+
39
+ void BlockingCounter::Wait() {
40
+ MutexLock l(&this->lock_);
41
+ ABSL_RAW_CHECK(count_ >= 0, "BlockingCounter underflow");
42
+
43
+ // only one thread may call Wait(). To support more than one thread,
44
+ // implement a counter num_to_exit, like in the Barrier class.
45
+ ABSL_RAW_CHECK(num_waiting_ == 0, "multiple threads called Wait()");
46
+ num_waiting_++;
47
+
48
+ this->lock_.Await(Condition(IsZero, &this->count_));
49
+
50
+ // At this point, We know that all threads executing DecrementCount have
51
+ // released the lock, and so will not touch this object again.
52
+ // Therefore, the thread calling this method is free to delete the object
53
+ // after we return from this method.
54
+ }
55
+
56
+ ABSL_NAMESPACE_END
57
+ } // namespace absl