grpc 1.32.0 → 1.52.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 (2668) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +1741 -3302
  3. data/etc/roots.pem +592 -899
  4. data/include/grpc/byte_buffer.h +76 -1
  5. data/include/grpc/byte_buffer_reader.h +19 -1
  6. data/include/grpc/compression.h +3 -3
  7. data/include/grpc/event_engine/README.md +38 -0
  8. data/include/grpc/event_engine/endpoint_config.h +49 -0
  9. data/include/grpc/event_engine/event_engine.h +467 -0
  10. data/include/grpc/event_engine/internal/memory_allocator_impl.h +68 -0
  11. data/include/grpc/event_engine/internal/slice_cast.h +67 -0
  12. data/include/grpc/event_engine/memory_allocator.h +211 -0
  13. data/include/grpc/event_engine/memory_request.h +57 -0
  14. data/include/grpc/event_engine/port.h +39 -0
  15. data/include/grpc/event_engine/slice.h +306 -0
  16. data/include/grpc/event_engine/slice_buffer.h +147 -0
  17. data/include/grpc/fork.h +25 -1
  18. data/include/grpc/grpc.h +93 -38
  19. data/include/grpc/grpc_posix.h +22 -18
  20. data/include/grpc/grpc_security.h +536 -302
  21. data/include/grpc/grpc_security_constants.h +17 -14
  22. data/include/grpc/impl/codegen/atm.h +4 -70
  23. data/include/grpc/impl/codegen/atm_gcc_atomic.h +4 -66
  24. data/include/grpc/impl/codegen/atm_gcc_sync.h +4 -60
  25. data/include/grpc/impl/codegen/atm_windows.h +4 -103
  26. data/include/grpc/impl/codegen/byte_buffer.h +4 -76
  27. data/include/grpc/impl/codegen/byte_buffer_reader.h +4 -17
  28. data/include/grpc/impl/codegen/compression_types.h +5 -83
  29. data/include/grpc/impl/codegen/connectivity_state.h +5 -19
  30. data/include/grpc/impl/codegen/fork.h +4 -23
  31. data/include/grpc/impl/codegen/gpr_types.h +5 -34
  32. data/include/grpc/impl/codegen/grpc_types.h +5 -762
  33. data/include/grpc/impl/codegen/log.h +4 -87
  34. data/include/grpc/impl/codegen/port_platform.h +3 -669
  35. data/include/grpc/impl/codegen/propagation_bits.h +4 -27
  36. data/include/grpc/impl/codegen/slice.h +4 -102
  37. data/include/grpc/impl/codegen/status.h +4 -129
  38. data/include/grpc/impl/codegen/sync.h +4 -40
  39. data/include/grpc/impl/codegen/sync_abseil.h +4 -11
  40. data/include/grpc/impl/codegen/sync_custom.h +4 -13
  41. data/include/grpc/impl/codegen/sync_generic.h +4 -23
  42. data/include/grpc/impl/codegen/sync_posix.h +4 -27
  43. data/include/grpc/impl/codegen/sync_windows.h +4 -11
  44. data/include/grpc/impl/compression_types.h +109 -0
  45. data/include/grpc/impl/connectivity_state.h +47 -0
  46. data/include/grpc/impl/grpc_types.h +824 -0
  47. data/include/grpc/impl/propagation_bits.h +54 -0
  48. data/include/grpc/impl/slice_type.h +112 -0
  49. data/include/grpc/load_reporting.h +1 -1
  50. data/include/grpc/module.modulemap +19 -15
  51. data/include/grpc/slice.h +1 -12
  52. data/include/grpc/slice_buffer.h +3 -3
  53. data/include/grpc/status.h +131 -1
  54. data/include/grpc/support/atm.h +70 -1
  55. data/include/grpc/support/atm_gcc_atomic.h +59 -1
  56. data/include/grpc/support/atm_gcc_sync.h +58 -1
  57. data/include/grpc/support/atm_windows.h +105 -1
  58. data/include/grpc/support/log.h +87 -1
  59. data/include/grpc/support/log_windows.h +1 -1
  60. data/include/grpc/support/port_platform.h +767 -1
  61. data/include/grpc/support/string_util.h +1 -1
  62. data/include/grpc/support/sync.h +38 -5
  63. data/include/grpc/support/sync_abseil.h +11 -1
  64. data/include/grpc/support/sync_custom.h +13 -1
  65. data/include/grpc/support/sync_generic.h +24 -1
  66. data/include/grpc/support/sync_posix.h +27 -1
  67. data/include/grpc/support/sync_windows.h +15 -1
  68. data/include/grpc/support/time.h +32 -9
  69. data/src/core/ext/filters/census/grpc_context.cc +20 -17
  70. data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +315 -0
  71. data/src/core/ext/filters/channel_idle/channel_idle_filter.h +142 -0
  72. data/src/core/ext/filters/channel_idle/idle_filter_state.cc +96 -0
  73. data/src/core/ext/filters/channel_idle/idle_filter_state.h +68 -0
  74. data/src/core/ext/filters/client_channel/backend_metric.cc +36 -34
  75. data/src/core/ext/filters/client_channel/backend_metric.h +19 -8
  76. data/src/core/ext/filters/client_channel/backup_poller.cc +49 -44
  77. data/src/core/ext/filters/client_channel/backup_poller.h +23 -24
  78. data/src/core/ext/filters/client_channel/channel_connectivity.cc +205 -204
  79. data/src/core/ext/filters/client_channel/client_channel.cc +2262 -3309
  80. data/src/core/ext/filters/client_channel/client_channel.h +605 -60
  81. data/src/core/ext/filters/client_channel/client_channel_channelz.cc +21 -24
  82. data/src/core/ext/filters/client_channel/client_channel_channelz.h +32 -22
  83. data/src/core/ext/filters/client_channel/client_channel_factory.cc +19 -42
  84. data/src/core/ext/filters/client_channel/client_channel_factory.h +25 -26
  85. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +33 -61
  86. data/src/core/ext/filters/client_channel/client_channel_service_config.cc +153 -0
  87. data/src/core/ext/filters/client_channel/client_channel_service_config.h +111 -0
  88. data/src/core/ext/filters/client_channel/config_selector.cc +2 -4
  89. data/src/core/ext/filters/client_channel/config_selector.h +81 -23
  90. data/src/core/ext/filters/client_channel/connector.h +32 -27
  91. data/src/core/ext/filters/client_channel/dynamic_filters.cc +175 -0
  92. data/src/core/ext/filters/client_channel/dynamic_filters.h +108 -0
  93. data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +27 -163
  94. data/src/core/ext/filters/client_channel/global_subchannel_pool.h +37 -42
  95. data/src/core/ext/filters/client_channel/health/health_check_client.cc +140 -578
  96. data/src/core/ext/filters/client_channel/health/health_check_client.h +26 -158
  97. data/src/core/ext/filters/client_channel/http_proxy.cc +152 -170
  98. data/src/core/ext/filters/client_channel/http_proxy.h +43 -19
  99. data/src/core/ext/filters/client_channel/lb_call_state_internal.h +39 -0
  100. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +56 -39
  101. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.h +13 -9
  102. data/src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h +49 -0
  103. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +45 -19
  104. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h +16 -11
  105. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +64 -143
  106. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h +38 -21
  107. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +732 -590
  108. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +27 -31
  109. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +16 -4
  110. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +8 -6
  111. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +19 -20
  112. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +29 -23
  113. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +47 -39
  114. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +28 -27
  115. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc +415 -0
  116. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h +57 -0
  117. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +1129 -0
  118. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +94 -0
  119. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +249 -230
  120. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +520 -484
  121. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +890 -0
  122. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +47 -0
  123. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +2526 -0
  124. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +285 -259
  125. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +181 -174
  126. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +297 -262
  127. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +558 -213
  128. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.cc +42 -0
  129. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.h +64 -0
  130. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +29 -0
  131. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +794 -0
  132. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +699 -0
  133. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +1224 -0
  134. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc +651 -0
  135. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.h +60 -0
  136. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc +364 -0
  137. data/src/core/ext/filters/client_channel/local_subchannel_pool.cc +31 -67
  138. data/src/core/ext/filters/client_channel/local_subchannel_pool.h +29 -27
  139. data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +148 -0
  140. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +691 -361
  141. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +64 -78
  142. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +57 -51
  143. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +130 -146
  144. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +715 -314
  145. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +102 -63
  146. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc +18 -18
  147. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +22 -21
  148. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.cc +2 -0
  149. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.h +20 -20
  150. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +129 -250
  151. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +75 -90
  152. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +26 -9
  153. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +471 -0
  154. data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +269 -0
  155. data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +121 -0
  156. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +87 -85
  157. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +1004 -407
  158. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h +30 -0
  159. data/src/core/ext/filters/client_channel/retry_filter.cc +2661 -0
  160. data/src/core/ext/filters/client_channel/retry_filter.h +31 -0
  161. data/src/core/ext/filters/client_channel/retry_service_config.cc +282 -0
  162. data/src/core/ext/filters/client_channel/retry_service_config.h +105 -0
  163. data/src/core/ext/filters/client_channel/retry_throttle.cc +42 -94
  164. data/src/core/ext/filters/client_channel/retry_throttle.h +47 -32
  165. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +78 -46
  166. data/src/core/ext/filters/client_channel/subchannel.cc +443 -653
  167. data/src/core/ext/filters/client_channel/subchannel.h +191 -218
  168. data/src/core/ext/filters/client_channel/subchannel_interface_internal.h +38 -0
  169. data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +28 -59
  170. data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +57 -48
  171. data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +470 -0
  172. data/src/core/ext/filters/client_channel/subchannel_stream_client.h +222 -0
  173. data/src/core/ext/filters/deadline/deadline_filter.cc +165 -133
  174. data/src/core/ext/filters/deadline/deadline_filter.h +18 -15
  175. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +280 -0
  176. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +71 -0
  177. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +118 -0
  178. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +112 -0
  179. data/src/core/ext/filters/http/client/http_client_filter.cc +126 -564
  180. data/src/core/ext/filters/http/client/http_client_filter.h +52 -22
  181. data/src/core/ext/filters/http/client_authority_filter.cc +70 -139
  182. data/src/core/ext/filters/http/client_authority_filter.h +46 -24
  183. data/src/core/ext/filters/http/http_filters_plugin.cc +65 -89
  184. data/src/core/ext/filters/http/message_compress/compression_filter.cc +315 -0
  185. data/src/core/ext/filters/http/message_compress/compression_filter.h +132 -0
  186. data/src/core/ext/filters/http/server/http_server_filter.cc +121 -488
  187. data/src/core/ext/filters/http/server/http_server_filter.h +55 -21
  188. data/src/core/ext/filters/message_size/message_size_filter.cc +162 -188
  189. data/src/core/ext/filters/message_size/message_size_filter.h +42 -17
  190. data/src/core/ext/filters/rbac/rbac_filter.cc +174 -0
  191. data/src/core/ext/filters/rbac/rbac_filter.h +84 -0
  192. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +819 -0
  193. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +86 -0
  194. data/src/core/ext/filters/server_config_selector/server_config_selector.h +83 -0
  195. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +159 -0
  196. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.h +33 -0
  197. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +229 -0
  198. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +66 -0
  199. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc +82 -0
  200. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +93 -0
  201. data/src/core/ext/transport/chttp2/alpn/alpn.cc +20 -19
  202. data/src/core/ext/transport/chttp2/alpn/alpn.h +22 -22
  203. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +326 -144
  204. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +42 -34
  205. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +892 -280
  206. data/src/core/ext/transport/chttp2/server/chttp2_server.h +30 -21
  207. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +35 -33
  208. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +33 -31
  209. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +32 -30
  210. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +27 -27
  211. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +1021 -1350
  212. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +49 -25
  213. data/src/core/ext/transport/chttp2/transport/context_list.cc +27 -25
  214. data/src/core/ext/transport/chttp2/transport/context_list.h +32 -31
  215. data/src/core/ext/transport/chttp2/transport/decode_huff.cc +251 -0
  216. data/src/core/ext/transport/chttp2/transport/decode_huff.h +971 -0
  217. data/src/core/ext/transport/chttp2/transport/flow_control.cc +361 -285
  218. data/src/core/ext/transport/chttp2/transport/flow_control.h +259 -320
  219. data/src/core/ext/transport/chttp2/transport/frame.h +19 -23
  220. data/src/core/ext/transport/chttp2/transport/frame_data.cc +91 -239
  221. data/src/core/ext/transport/chttp2/transport/frame_data.h +41 -63
  222. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +61 -56
  223. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +28 -25
  224. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +44 -39
  225. data/src/core/ext/transport/chttp2/transport/frame_ping.h +30 -25
  226. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +48 -39
  227. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +28 -24
  228. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +60 -60
  229. data/src/core/ext/transport/chttp2/transport/frame_settings.h +33 -27
  230. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +46 -44
  231. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +26 -24
  232. data/src/core/ext/transport/chttp2/transport/hpack_constants.h +47 -0
  233. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +520 -800
  234. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +204 -94
  235. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +89 -0
  236. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +80 -0
  237. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +859 -1276
  238. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +129 -104
  239. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +246 -0
  240. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +137 -0
  241. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +21 -19
  242. data/src/core/ext/transport/chttp2/transport/http2_settings.h +36 -35
  243. data/src/core/ext/transport/chttp2/transport/http_trace.cc +19 -0
  244. data/src/core/ext/transport/chttp2/transport/http_trace.h +24 -0
  245. data/src/core/ext/transport/chttp2/transport/huffsyms.cc +20 -20
  246. data/src/core/ext/transport/chttp2/transport/huffsyms.h +19 -19
  247. data/src/core/ext/transport/chttp2/transport/internal.h +270 -341
  248. data/src/core/ext/transport/chttp2/transport/parsing.cc +416 -384
  249. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +32 -32
  250. data/src/core/ext/transport/chttp2/transport/stream_map.cc +24 -24
  251. data/src/core/ext/transport/chttp2/transport/stream_map.h +32 -31
  252. data/src/core/ext/transport/chttp2/transport/varint.cc +29 -24
  253. data/src/core/ext/transport/chttp2/transport/varint.h +70 -54
  254. data/src/core/ext/transport/chttp2/transport/writing.cc +235 -250
  255. data/src/core/ext/transport/inproc/inproc_plugin.cc +17 -22
  256. data/src/core/ext/transport/inproc/inproc_transport.cc +371 -413
  257. data/src/core/ext/transport/inproc/inproc_transport.h +22 -23
  258. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +117 -0
  259. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +502 -0
  260. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +121 -0
  261. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +569 -0
  262. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +125 -0
  263. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +516 -0
  264. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.c +352 -0
  265. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.h +1768 -0
  266. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +56 -0
  267. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +159 -0
  268. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +64 -0
  269. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +189 -0
  270. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +46 -0
  271. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +128 -0
  272. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +43 -0
  273. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +106 -0
  274. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c +43 -0
  275. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +101 -0
  276. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c +106 -0
  277. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +613 -0
  278. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +48 -0
  279. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +107 -0
  280. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +44 -1
  281. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +53 -1
  282. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +31 -5
  283. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +63 -13
  284. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +154 -108
  285. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +891 -291
  286. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +413 -0
  287. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +2251 -0
  288. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +50 -29
  289. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +250 -82
  290. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +374 -210
  291. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +2308 -620
  292. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +21 -8
  293. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +58 -20
  294. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +61 -27
  295. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +317 -91
  296. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +299 -0
  297. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +1437 -0
  298. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +81 -48
  299. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +470 -140
  300. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +22 -8
  301. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +63 -22
  302. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +255 -143
  303. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +1431 -409
  304. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +110 -43
  305. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +611 -133
  306. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +20 -7
  307. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +52 -19
  308. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +47 -0
  309. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +107 -0
  310. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +58 -0
  311. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +159 -0
  312. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +169 -95
  313. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +986 -291
  314. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +142 -92
  315. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +866 -295
  316. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +22 -9
  317. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +72 -26
  318. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +245 -74
  319. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +1438 -215
  320. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +18 -6
  321. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +42 -12
  322. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +60 -0
  323. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +177 -0
  324. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +23 -10
  325. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +89 -29
  326. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +56 -0
  327. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +182 -0
  328. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +48 -0
  329. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +122 -0
  330. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +52 -37
  331. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +234 -94
  332. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +92 -39
  333. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +486 -112
  334. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +71 -54
  335. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +419 -163
  336. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +20 -7
  337. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +50 -17
  338. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +138 -57
  339. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +812 -172
  340. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +115 -67
  341. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +704 -225
  342. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +63 -0
  343. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +238 -0
  344. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +30 -12
  345. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +131 -39
  346. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +53 -0
  347. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +140 -0
  348. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +165 -0
  349. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +748 -0
  350. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +174 -0
  351. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +757 -0
  352. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +145 -98
  353. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +736 -241
  354. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +48 -25
  355. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +304 -106
  356. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +781 -458
  357. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +4982 -1397
  358. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +39 -19
  359. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +189 -57
  360. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +241 -0
  361. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +1191 -0
  362. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +44 -0
  363. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +92 -0
  364. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +49 -0
  365. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +107 -0
  366. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +28 -15
  367. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +104 -37
  368. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +52 -0
  369. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +138 -0
  370. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +63 -0
  371. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +254 -0
  372. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.c +46 -0
  373. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.h +98 -0
  374. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +47 -0
  375. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +98 -0
  376. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +69 -0
  377. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +221 -0
  378. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +33 -0
  379. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +43 -0
  380. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +71 -0
  381. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +226 -0
  382. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +54 -0
  383. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +150 -0
  384. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +42 -0
  385. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +89 -0
  386. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +96 -0
  387. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +395 -0
  388. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +94 -0
  389. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +445 -0
  390. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +71 -0
  391. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +237 -0
  392. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +55 -0
  393. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +172 -0
  394. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c +62 -0
  395. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +179 -0
  396. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +331 -172
  397. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +2090 -484
  398. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c +46 -0
  399. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +98 -0
  400. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c +52 -0
  401. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +168 -0
  402. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c +46 -0
  403. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +98 -0
  404. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +10 -2
  405. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +8 -4
  406. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +116 -50
  407. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +718 -187
  408. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +43 -27
  409. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +196 -74
  410. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +137 -51
  411. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +833 -158
  412. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +62 -0
  413. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +168 -0
  414. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +16 -3
  415. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +35 -10
  416. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +214 -63
  417. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +1189 -200
  418. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +32 -19
  419. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +138 -56
  420. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +138 -0
  421. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +651 -0
  422. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +48 -0
  423. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +116 -0
  424. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +76 -0
  425. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +265 -0
  426. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +74 -0
  427. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +230 -0
  428. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +29 -14
  429. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +127 -45
  430. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +49 -0
  431. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +121 -0
  432. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +21 -8
  433. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +62 -22
  434. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +20 -7
  435. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +52 -19
  436. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +37 -21
  437. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +156 -55
  438. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +32 -18
  439. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +150 -51
  440. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +60 -0
  441. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +178 -0
  442. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +38 -23
  443. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +186 -68
  444. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +51 -32
  445. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +309 -110
  446. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +54 -37
  447. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +295 -106
  448. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +66 -0
  449. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +213 -0
  450. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +10 -1
  451. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +5 -1
  452. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +42 -0
  453. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +143 -0
  454. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +24 -10
  455. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +87 -26
  456. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +31 -16
  457. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +134 -37
  458. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.c +63 -0
  459. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.h +202 -0
  460. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.c +26 -0
  461. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.h +41 -0
  462. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +20 -7
  463. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +54 -14
  464. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c +51 -0
  465. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +131 -0
  466. data/src/core/ext/upb-generated/google/api/annotations.upb.c +23 -1
  467. data/src/core/ext/upb-generated/google/api/annotations.upb.h +25 -1
  468. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +271 -0
  469. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +1280 -0
  470. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +167 -118
  471. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +965 -338
  472. data/src/core/ext/upb-generated/google/api/http.upb.c +44 -29
  473. data/src/core/ext/upb-generated/google/api/http.upb.h +252 -100
  474. data/src/core/ext/upb-generated/google/api/httpbody.upb.c +46 -0
  475. data/src/core/ext/upb-generated/google/api/httpbody.upb.h +115 -0
  476. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +19 -6
  477. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +52 -17
  478. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +375 -283
  479. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +2467 -972
  480. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +19 -6
  481. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +50 -15
  482. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +16 -3
  483. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +35 -10
  484. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +48 -32
  485. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +213 -78
  486. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +19 -6
  487. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +50 -15
  488. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +58 -37
  489. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +356 -118
  490. data/src/core/ext/upb-generated/google/rpc/status.upb.c +22 -9
  491. data/src/core/ext/upb-generated/google/rpc/status.upb.h +66 -25
  492. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +84 -0
  493. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +335 -0
  494. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +33 -19
  495. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +119 -44
  496. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +136 -108
  497. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +817 -316
  498. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +28 -13
  499. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +105 -33
  500. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +23 -9
  501. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +81 -25
  502. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +82 -62
  503. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +495 -186
  504. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +70 -0
  505. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +216 -0
  506. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +175 -0
  507. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +792 -0
  508. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +76 -14
  509. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +229 -42
  510. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +55 -0
  511. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +112 -0
  512. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +22 -1
  513. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +18 -1
  514. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +32 -6
  515. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +70 -15
  516. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +31 -5
  517. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +63 -13
  518. data/src/core/ext/upb-generated/validate/validate.upb.c +407 -295
  519. data/src/core/ext/upb-generated/validate/validate.upb.h +3054 -1023
  520. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +110 -0
  521. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +290 -0
  522. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +55 -0
  523. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +112 -0
  524. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c +38 -0
  525. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h +46 -0
  526. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +105 -0
  527. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +306 -0
  528. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +53 -0
  529. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +103 -0
  530. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +41 -0
  531. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +83 -0
  532. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.c +47 -0
  533. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.h +107 -0
  534. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +66 -0
  535. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +208 -0
  536. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +56 -0
  537. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +119 -0
  538. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +46 -0
  539. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +107 -0
  540. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +49 -0
  541. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +131 -0
  542. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +68 -0
  543. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +248 -0
  544. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +49 -0
  545. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +125 -0
  546. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +74 -0
  547. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +200 -0
  548. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c +46 -0
  549. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h +113 -0
  550. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.c +46 -0
  551. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.h +98 -0
  552. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.c +62 -0
  553. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.h +174 -0
  554. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.c +36 -0
  555. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.h +74 -0
  556. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.c +65 -0
  557. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.h +191 -0
  558. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +207 -0
  559. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +914 -0
  560. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.c +127 -0
  561. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.h +474 -0
  562. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +52 -0
  563. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +151 -0
  564. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +65 -0
  565. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +226 -0
  566. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.c +67 -0
  567. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.h +214 -0
  568. data/src/core/ext/upb-generated/xds/type/v3/range.upb.c +64 -0
  569. data/src/core/ext/upb-generated/xds/type/v3/range.upb.h +208 -0
  570. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +45 -0
  571. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +107 -0
  572. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.c +84 -0
  573. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.h +55 -0
  574. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.c +127 -0
  575. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.h +50 -0
  576. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +102 -0
  577. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +55 -0
  578. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.c +256 -0
  579. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.h +115 -0
  580. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.c +43 -0
  581. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.h +40 -0
  582. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +56 -0
  583. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.h +40 -0
  584. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.c +49 -0
  585. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.h +35 -0
  586. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.c +46 -0
  587. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.h +35 -0
  588. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.c +46 -0
  589. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.h +35 -0
  590. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.c +142 -0
  591. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.h +40 -0
  592. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.c +51 -0
  593. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.h +35 -0
  594. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +48 -0
  595. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h +30 -0
  596. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +38 -0
  597. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h +35 -0
  598. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +222 -0
  599. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +105 -0
  600. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +397 -0
  601. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +120 -0
  602. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +98 -0
  603. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +45 -0
  604. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +559 -0
  605. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +155 -0
  606. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +51 -0
  607. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h +35 -0
  608. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +138 -0
  609. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h +35 -0
  610. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.c +206 -0
  611. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.h +105 -0
  612. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +112 -0
  613. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +65 -0
  614. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +54 -0
  615. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h +35 -0
  616. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +270 -0
  617. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +150 -0
  618. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +168 -0
  619. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +65 -0
  620. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +53 -0
  621. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h +35 -0
  622. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +47 -0
  623. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +35 -0
  624. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.c +53 -0
  625. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.h +40 -0
  626. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +235 -0
  627. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h +100 -0
  628. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +228 -0
  629. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +75 -0
  630. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +53 -0
  631. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h +35 -0
  632. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +300 -0
  633. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +110 -0
  634. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +41 -0
  635. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +35 -0
  636. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +55 -0
  637. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h +40 -0
  638. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +57 -0
  639. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +35 -0
  640. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +70 -0
  641. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h +35 -0
  642. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +49 -0
  643. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h +35 -0
  644. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +99 -0
  645. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h +50 -0
  646. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +128 -0
  647. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +60 -0
  648. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +136 -0
  649. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h +55 -0
  650. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +48 -0
  651. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h +35 -0
  652. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +220 -0
  653. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +65 -0
  654. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +190 -0
  655. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h +65 -0
  656. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +88 -0
  657. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h +35 -0
  658. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +71 -0
  659. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h +40 -0
  660. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c +69 -0
  661. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.h +35 -0
  662. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +125 -0
  663. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +70 -0
  664. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +134 -0
  665. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +75 -0
  666. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +194 -0
  667. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +75 -0
  668. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +112 -0
  669. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +40 -0
  670. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +939 -0
  671. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +305 -0
  672. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +77 -0
  673. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h +45 -0
  674. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +199 -0
  675. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +90 -0
  676. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.c +54 -0
  677. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.h +35 -0
  678. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.c +57 -0
  679. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.h +35 -0
  680. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +57 -0
  681. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h +40 -0
  682. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.c +72 -0
  683. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.h +35 -0
  684. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.c +99 -0
  685. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.h +35 -0
  686. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.c +47 -0
  687. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.h +35 -0
  688. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.c +52 -0
  689. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.h +35 -0
  690. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.c +71 -0
  691. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.h +40 -0
  692. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +61 -0
  693. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.h +30 -0
  694. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.c +75 -0
  695. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.h +40 -0
  696. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c +77 -0
  697. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.h +35 -0
  698. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +50 -0
  699. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +35 -0
  700. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +92 -0
  701. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +55 -0
  702. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +117 -0
  703. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +45 -0
  704. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +80 -0
  705. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +40 -0
  706. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +78 -0
  707. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +35 -0
  708. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +60 -0
  709. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +40 -0
  710. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +562 -0
  711. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +130 -0
  712. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +50 -0
  713. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +35 -0
  714. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +48 -0
  715. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +30 -0
  716. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +213 -0
  717. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +65 -0
  718. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +91 -0
  719. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +45 -0
  720. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +254 -0
  721. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +65 -0
  722. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +58 -0
  723. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +40 -0
  724. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +58 -0
  725. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h +35 -0
  726. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +197 -0
  727. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +100 -0
  728. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +76 -0
  729. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h +40 -0
  730. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +153 -0
  731. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +55 -0
  732. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.c +46 -0
  733. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.h +35 -0
  734. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +56 -0
  735. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h +50 -0
  736. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.c +52 -0
  737. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.h +50 -0
  738. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +61 -0
  739. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h +40 -0
  740. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +54 -0
  741. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +35 -0
  742. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +52 -0
  743. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h +35 -0
  744. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +51 -0
  745. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h +35 -0
  746. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +71 -0
  747. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h +45 -0
  748. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +65 -0
  749. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h +40 -0
  750. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +58 -0
  751. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +40 -0
  752. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +75 -0
  753. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h +45 -0
  754. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +78 -0
  755. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h +65 -0
  756. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +85 -0
  757. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h +55 -0
  758. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.c +53 -0
  759. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.h +45 -0
  760. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +36 -0
  761. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h +30 -0
  762. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.c +94 -0
  763. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.h +35 -0
  764. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +54 -0
  765. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h +40 -0
  766. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +48 -0
  767. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h +45 -0
  768. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.c +69 -0
  769. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.h +40 -0
  770. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.c +38 -0
  771. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.h +30 -0
  772. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +44 -0
  773. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h +35 -0
  774. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.c +57 -0
  775. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.h +35 -0
  776. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +40 -0
  777. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h +30 -0
  778. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.c +154 -0
  779. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.h +95 -0
  780. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.c +153 -0
  781. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.h +100 -0
  782. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +52 -0
  783. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h +45 -0
  784. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.c +39 -0
  785. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.h +35 -0
  786. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +34 -0
  787. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h +35 -0
  788. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +331 -0
  789. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h +165 -0
  790. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +35 -0
  791. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h +35 -0
  792. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +32 -0
  793. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h +35 -0
  794. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +54 -0
  795. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h +50 -0
  796. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +35 -0
  797. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h +35 -0
  798. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +45 -0
  799. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h +75 -0
  800. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +37 -0
  801. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h +35 -0
  802. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.c +67 -0
  803. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.h +50 -0
  804. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +99 -0
  805. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +75 -0
  806. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +62 -0
  807. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h +45 -0
  808. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +47 -0
  809. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h +35 -0
  810. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +34 -0
  811. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h +30 -0
  812. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +46 -0
  813. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h +35 -0
  814. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +39 -0
  815. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h +35 -0
  816. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +283 -0
  817. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h +145 -0
  818. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.c +63 -0
  819. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.h +45 -0
  820. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.c +47 -0
  821. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.h +35 -0
  822. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.c +35 -0
  823. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.h +30 -0
  824. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +64 -0
  825. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +50 -0
  826. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.c +40 -0
  827. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.h +35 -0
  828. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +38 -0
  829. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +35 -0
  830. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.c +45 -0
  831. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.h +35 -0
  832. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +56 -0
  833. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +40 -0
  834. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +39 -0
  835. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +40 -0
  836. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.c +41 -0
  837. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.h +35 -0
  838. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +45 -0
  839. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +35 -0
  840. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +61 -0
  841. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +40 -0
  842. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +46 -0
  843. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +35 -0
  844. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.c +43 -0
  845. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.h +35 -0
  846. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.c +51 -0
  847. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.h +40 -0
  848. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.c +36 -0
  849. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.h +35 -0
  850. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.c +55 -0
  851. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.h +40 -0
  852. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c +126 -0
  853. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.h +80 -0
  854. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.c +71 -0
  855. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.h +60 -0
  856. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.c +40 -0
  857. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.h +40 -0
  858. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.c +52 -0
  859. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.h +40 -0
  860. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.c +60 -0
  861. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.h +40 -0
  862. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.c +36 -0
  863. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.h +45 -0
  864. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +37 -0
  865. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +35 -0
  866. data/src/core/ext/xds/certificate_provider_store.cc +159 -0
  867. data/src/core/ext/xds/certificate_provider_store.h +138 -0
  868. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +150 -0
  869. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +77 -0
  870. data/src/core/ext/xds/upb_utils.h +45 -0
  871. data/src/core/ext/xds/xds_api.cc +314 -2078
  872. data/src/core/ext/xds/xds_api.h +141 -308
  873. data/src/core/ext/xds/xds_bootstrap.cc +10 -345
  874. data/src/core/ext/xds/xds_bootstrap.h +43 -48
  875. data/src/core/ext/xds/xds_bootstrap_grpc.cc +361 -0
  876. data/src/core/ext/xds/xds_bootstrap_grpc.h +184 -0
  877. data/src/core/ext/xds/xds_certificate_provider.cc +416 -0
  878. data/src/core/ext/xds/xds_certificate_provider.h +183 -0
  879. data/src/core/ext/xds/xds_channel_args.h +11 -5
  880. data/src/core/ext/xds/xds_channel_stack_modifier.cc +119 -0
  881. data/src/core/ext/xds/xds_channel_stack_modifier.h +65 -0
  882. data/src/core/ext/xds/xds_client.cc +1442 -1516
  883. data/src/core/ext/xds/xds_client.h +212 -144
  884. data/src/core/ext/xds/xds_client_grpc.cc +236 -0
  885. data/src/core/ext/xds/xds_client_grpc.h +79 -0
  886. data/src/core/ext/xds/xds_client_stats.cc +103 -59
  887. data/src/core/ext/xds/xds_client_stats.h +71 -40
  888. data/src/core/ext/xds/xds_cluster.cc +707 -0
  889. data/src/core/ext/xds/xds_cluster.h +137 -0
  890. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +132 -0
  891. data/src/core/ext/xds/xds_cluster_specifier_plugin.h +97 -0
  892. data/src/core/ext/xds/xds_common_types.cc +502 -0
  893. data/src/core/ext/xds/xds_common_types.h +108 -0
  894. data/src/core/ext/xds/xds_endpoint.cc +474 -0
  895. data/src/core/ext/xds/xds_endpoint.h +139 -0
  896. data/src/core/ext/xds/xds_health_status.cc +80 -0
  897. data/src/core/ext/xds/xds_health_status.h +82 -0
  898. data/src/core/ext/xds/xds_http_fault_filter.cc +236 -0
  899. data/src/core/ext/xds/xds_http_fault_filter.h +58 -0
  900. data/src/core/ext/xds/xds_http_filters.cc +121 -0
  901. data/src/core/ext/xds/xds_http_filters.h +181 -0
  902. data/src/core/ext/xds/xds_http_rbac_filter.cc +506 -0
  903. data/src/core/ext/xds/xds_http_rbac_filter.h +58 -0
  904. data/src/core/ext/xds/xds_http_stateful_session_filter.cc +218 -0
  905. data/src/core/ext/xds/xds_http_stateful_session_filter.h +58 -0
  906. data/src/core/ext/xds/xds_lb_policy_registry.cc +239 -0
  907. data/src/core/ext/xds/xds_lb_policy_registry.h +71 -0
  908. data/src/core/ext/xds/xds_listener.cc +1130 -0
  909. data/src/core/ext/xds/xds_listener.h +226 -0
  910. data/src/core/ext/xds/xds_resource_type.h +104 -0
  911. data/src/core/ext/xds/xds_resource_type_impl.h +88 -0
  912. data/src/core/ext/xds/xds_route_config.cc +1138 -0
  913. data/src/core/ext/xds/xds_route_config.h +252 -0
  914. data/src/core/ext/xds/xds_routing.cc +264 -0
  915. data/src/core/ext/xds/xds_routing.h +106 -0
  916. data/src/core/ext/xds/xds_server_config_fetcher.cc +1363 -0
  917. data/src/core/ext/xds/xds_transport.h +86 -0
  918. data/src/core/ext/xds/xds_transport_grpc.cc +356 -0
  919. data/src/core/ext/xds/xds_transport_grpc.h +135 -0
  920. data/src/core/lib/address_utils/parse_address.cc +340 -0
  921. data/src/core/lib/address_utils/parse_address.h +86 -0
  922. data/src/core/lib/address_utils/sockaddr_utils.cc +444 -0
  923. data/src/core/lib/address_utils/sockaddr_utils.h +100 -0
  924. data/src/core/lib/avl/avl.h +476 -88
  925. data/src/core/lib/backoff/backoff.cc +26 -57
  926. data/src/core/lib/backoff/backoff.h +30 -30
  927. data/src/core/lib/channel/call_finalization.h +88 -0
  928. data/src/core/lib/channel/call_tracer.h +103 -0
  929. data/src/core/lib/channel/channel_args.cc +309 -64
  930. data/src/core/lib/channel/channel_args.h +454 -44
  931. data/src/core/lib/channel/channel_args_preconditioning.cc +43 -0
  932. data/src/core/lib/channel/channel_args_preconditioning.h +62 -0
  933. data/src/core/lib/channel/channel_fwd.h +26 -0
  934. data/src/core/lib/channel/channel_stack.cc +125 -62
  935. data/src/core/lib/channel/channel_stack.h +226 -136
  936. data/src/core/lib/channel/channel_stack_builder.cc +35 -307
  937. data/src/core/lib/channel/channel_stack_builder.h +112 -158
  938. data/src/core/lib/channel/channel_stack_builder_impl.cc +113 -0
  939. data/src/core/lib/channel/channel_stack_builder_impl.h +48 -0
  940. data/src/core/lib/channel/channel_trace.cc +36 -43
  941. data/src/core/lib/channel/channel_trace.h +27 -23
  942. data/src/core/lib/channel/channelz.cc +201 -151
  943. data/src/core/lib/channel/channelz.h +121 -81
  944. data/src/core/lib/channel/channelz_registry.cc +59 -51
  945. data/src/core/lib/channel/channelz_registry.h +31 -28
  946. data/src/core/lib/channel/connected_channel.cc +745 -81
  947. data/src/core/lib/channel/connected_channel.h +21 -23
  948. data/src/core/lib/channel/context.h +32 -18
  949. data/src/core/lib/channel/promise_based_filter.cc +2249 -0
  950. data/src/core/lib/channel/promise_based_filter.h +857 -0
  951. data/src/core/lib/channel/status_util.cc +76 -19
  952. data/src/core/lib/channel/status_util.h +45 -22
  953. data/src/core/lib/compression/compression.cc +46 -129
  954. data/src/core/lib/compression/compression_internal.cc +191 -229
  955. data/src/core/lib/compression/compression_internal.h +87 -90
  956. data/src/core/lib/compression/message_compress.cc +41 -39
  957. data/src/core/lib/compression/message_compress.h +28 -29
  958. data/src/core/lib/config/core_configuration.cc +111 -0
  959. data/src/core/lib/config/core_configuration.h +243 -0
  960. data/src/core/lib/debug/event_log.cc +88 -0
  961. data/src/core/lib/debug/event_log.h +81 -0
  962. data/src/core/lib/debug/histogram_view.cc +69 -0
  963. data/src/core/lib/debug/histogram_view.h +37 -0
  964. data/src/core/lib/debug/stats.cc +48 -152
  965. data/src/core/lib/debug/stats.h +49 -55
  966. data/src/core/lib/debug/stats_data.cc +291 -637
  967. data/src/core/lib/debug/stats_data.h +264 -527
  968. data/src/core/lib/debug/trace.cc +19 -20
  969. data/src/core/lib/debug/trace.h +34 -32
  970. data/src/core/lib/event_engine/channel_args_endpoint_config.cc +40 -0
  971. data/src/core/lib/event_engine/channel_args_endpoint_config.h +49 -0
  972. data/src/core/lib/event_engine/common_closures.h +71 -0
  973. data/src/core/lib/event_engine/default_event_engine.cc +94 -0
  974. data/src/core/lib/event_engine/default_event_engine.h +49 -0
  975. data/src/core/lib/event_engine/default_event_engine_factory.cc +48 -0
  976. data/src/core/lib/event_engine/default_event_engine_factory.h +33 -0
  977. data/src/core/lib/event_engine/executor/executor.h +38 -0
  978. data/src/core/lib/event_engine/forkable.cc +101 -0
  979. data/src/core/lib/event_engine/forkable.h +61 -0
  980. data/src/core/lib/event_engine/handle_containers.h +67 -0
  981. data/src/core/lib/event_engine/memory_allocator.cc +74 -0
  982. data/src/core/lib/event_engine/poller.h +62 -0
  983. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +614 -0
  984. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +129 -0
  985. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +900 -0
  986. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +97 -0
  987. data/src/core/lib/event_engine/posix_engine/event_poller.h +111 -0
  988. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +74 -0
  989. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h +33 -0
  990. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +77 -0
  991. data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +179 -0
  992. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +265 -0
  993. data/src/core/lib/event_engine/posix_engine/lockfree_event.h +73 -0
  994. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +1308 -0
  995. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +684 -0
  996. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +570 -0
  997. data/src/core/lib/event_engine/posix_engine/posix_engine.h +245 -0
  998. data/src/core/lib/event_engine/posix_engine/posix_engine_closure.h +80 -0
  999. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +236 -0
  1000. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +228 -0
  1001. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +380 -0
  1002. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +91 -0
  1003. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +853 -0
  1004. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +316 -0
  1005. data/src/core/lib/event_engine/posix_engine/timer.cc +311 -0
  1006. data/src/core/lib/event_engine/posix_engine/timer.h +194 -0
  1007. data/src/core/lib/event_engine/posix_engine/timer_heap.cc +107 -0
  1008. data/src/core/lib/event_engine/posix_engine/timer_heap.h +56 -0
  1009. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +173 -0
  1010. data/src/core/lib/event_engine/posix_engine/timer_manager.h +114 -0
  1011. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +332 -0
  1012. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +185 -0
  1013. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +127 -0
  1014. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +45 -0
  1015. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +150 -0
  1016. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h +45 -0
  1017. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +76 -0
  1018. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +67 -0
  1019. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +37 -0
  1020. data/src/core/lib/event_engine/resolved_address.cc +41 -0
  1021. data/src/core/lib/event_engine/slice.cc +103 -0
  1022. data/src/core/lib/event_engine/slice_buffer.cc +50 -0
  1023. data/src/core/lib/event_engine/socket_notifier.h +55 -0
  1024. data/src/core/lib/event_engine/tcp_socket_utils.cc +373 -0
  1025. data/src/core/lib/event_engine/tcp_socket_utils.h +85 -0
  1026. data/src/core/lib/event_engine/thread_pool.cc +277 -0
  1027. data/src/core/lib/event_engine/thread_pool.h +137 -0
  1028. data/src/core/lib/event_engine/time_util.cc +30 -0
  1029. data/src/core/lib/event_engine/time_util.h +32 -0
  1030. data/src/core/lib/event_engine/trace.cc +18 -0
  1031. data/src/core/lib/event_engine/trace.h +30 -0
  1032. data/src/core/lib/event_engine/utils.cc +44 -0
  1033. data/src/core/lib/event_engine/utils.h +36 -0
  1034. data/src/core/lib/event_engine/windows/iocp.cc +156 -0
  1035. data/src/core/lib/event_engine/windows/iocp.h +69 -0
  1036. data/src/core/lib/event_engine/windows/win_socket.cc +196 -0
  1037. data/src/core/lib/event_engine/windows/win_socket.h +120 -0
  1038. data/src/core/lib/event_engine/windows/windows_engine.cc +165 -0
  1039. data/src/core/lib/event_engine/windows/windows_engine.h +124 -0
  1040. data/src/core/lib/experiments/config.cc +146 -0
  1041. data/src/core/lib/experiments/config.h +43 -0
  1042. data/src/core/lib/experiments/experiments.cc +75 -0
  1043. data/src/core/lib/experiments/experiments.h +58 -0
  1044. data/src/core/lib/gpr/alloc.cc +26 -30
  1045. data/src/core/lib/gpr/alloc.h +18 -18
  1046. data/src/core/lib/gpr/atm.cc +18 -18
  1047. data/src/core/lib/gpr/cpu_iphone.cc +34 -26
  1048. data/src/core/lib/gpr/cpu_linux.cc +28 -23
  1049. data/src/core/lib/gpr/cpu_posix.cc +24 -23
  1050. data/src/core/lib/gpr/cpu_windows.cc +20 -18
  1051. data/src/core/lib/gpr/log.cc +91 -36
  1052. data/src/core/lib/gpr/log_android.cc +25 -22
  1053. data/src/core/lib/gpr/log_linux.cc +46 -27
  1054. data/src/core/lib/gpr/log_posix.cc +41 -23
  1055. data/src/core/lib/gpr/log_windows.cc +43 -29
  1056. data/src/core/lib/gpr/spinlock.h +28 -20
  1057. data/src/core/lib/gpr/string.cc +48 -46
  1058. data/src/core/lib/gpr/string.h +62 -63
  1059. data/src/core/lib/gpr/string_posix.cc +24 -24
  1060. data/src/core/lib/gpr/string_util_windows.cc +25 -52
  1061. data/src/core/lib/gpr/string_windows.cc +24 -24
  1062. data/src/core/lib/gpr/sync.cc +31 -31
  1063. data/src/core/lib/gpr/sync_abseil.cc +29 -43
  1064. data/src/core/lib/gpr/sync_posix.cc +26 -37
  1065. data/src/core/lib/gpr/sync_windows.cc +31 -29
  1066. data/src/core/lib/gpr/time.cc +51 -45
  1067. data/src/core/lib/gpr/time_posix.cc +41 -45
  1068. data/src/core/lib/gpr/time_precise.cc +26 -23
  1069. data/src/core/lib/gpr/time_precise.h +25 -22
  1070. data/src/core/lib/gpr/time_windows.cc +38 -31
  1071. data/src/core/lib/gpr/tmpfile.h +22 -22
  1072. data/src/core/lib/gpr/tmpfile_msys.cc +21 -20
  1073. data/src/core/lib/gpr/tmpfile_posix.cc +23 -22
  1074. data/src/core/lib/gpr/tmpfile_windows.cc +28 -29
  1075. data/src/core/lib/gpr/useful.h +169 -50
  1076. data/src/core/lib/gpr/wrap_memcpy.cc +25 -24
  1077. data/src/core/lib/gprpp/atomic_utils.h +47 -0
  1078. data/src/core/lib/gprpp/bitset.h +225 -0
  1079. data/src/core/lib/gprpp/chunked_vector.h +257 -0
  1080. data/src/core/lib/gprpp/construct_destruct.h +40 -0
  1081. data/src/core/lib/gprpp/cpp_impl_of.h +49 -0
  1082. data/src/core/lib/gprpp/crash.cc +33 -0
  1083. data/src/core/lib/gprpp/crash.h +34 -0
  1084. data/src/core/lib/gprpp/debug_location.h +59 -25
  1085. data/src/core/lib/gprpp/dual_ref_counted.h +327 -0
  1086. data/src/core/lib/gprpp/env.h +53 -0
  1087. data/src/core/lib/gprpp/env_linux.cc +80 -0
  1088. data/src/core/lib/gprpp/env_posix.cc +47 -0
  1089. data/src/core/lib/gprpp/env_windows.cc +56 -0
  1090. data/src/core/lib/gprpp/examine_stack.cc +43 -0
  1091. data/src/core/lib/gprpp/examine_stack.h +45 -0
  1092. data/src/core/lib/gprpp/fork.cc +50 -60
  1093. data/src/core/lib/gprpp/fork.h +26 -34
  1094. data/src/core/lib/gprpp/global_config.h +20 -23
  1095. data/src/core/lib/gprpp/global_config_custom.h +18 -18
  1096. data/src/core/lib/gprpp/global_config_env.cc +38 -36
  1097. data/src/core/lib/gprpp/global_config_env.h +28 -26
  1098. data/src/core/lib/gprpp/global_config_generic.h +18 -22
  1099. data/src/core/lib/gprpp/host_port.cc +28 -26
  1100. data/src/core/lib/gprpp/host_port.h +29 -28
  1101. data/src/core/lib/gprpp/load_file.cc +75 -0
  1102. data/src/core/lib/gprpp/load_file.h +33 -0
  1103. data/src/core/lib/gprpp/manual_constructor.h +25 -91
  1104. data/src/core/lib/gprpp/match.h +75 -0
  1105. data/src/core/lib/gprpp/memory.h +26 -24
  1106. data/src/core/lib/gprpp/mpscq.cc +26 -26
  1107. data/src/core/lib/gprpp/mpscq.h +24 -23
  1108. data/src/core/lib/gprpp/no_destruct.h +95 -0
  1109. data/src/core/lib/gprpp/notification.h +67 -0
  1110. data/src/core/lib/gprpp/orphanable.h +27 -34
  1111. data/src/core/lib/gprpp/overload.h +59 -0
  1112. data/src/core/lib/gprpp/packed_table.h +40 -0
  1113. data/src/core/lib/gprpp/per_cpu.h +46 -0
  1114. data/src/core/lib/gprpp/ref_counted.h +142 -105
  1115. data/src/core/lib/gprpp/ref_counted_ptr.h +187 -41
  1116. data/src/core/lib/gprpp/single_set_ptr.h +87 -0
  1117. data/src/core/lib/gprpp/sorted_pack.h +98 -0
  1118. data/src/core/lib/gprpp/stat.h +36 -0
  1119. data/src/core/lib/gprpp/stat_posix.cc +55 -0
  1120. data/src/core/lib/gprpp/stat_windows.cc +50 -0
  1121. data/src/core/lib/gprpp/status_helper.cc +455 -0
  1122. data/src/core/lib/gprpp/status_helper.h +189 -0
  1123. data/src/core/lib/gprpp/strerror.cc +41 -0
  1124. data/src/core/lib/gprpp/strerror.h +29 -0
  1125. data/src/core/lib/gprpp/sync.h +129 -64
  1126. data/src/core/lib/gprpp/table.h +452 -0
  1127. data/src/core/lib/gprpp/tchar.cc +49 -0
  1128. data/src/core/lib/gprpp/tchar.h +33 -0
  1129. data/src/core/lib/gprpp/thd.h +24 -27
  1130. data/src/core/lib/gprpp/thd_posix.cc +76 -70
  1131. data/src/core/lib/gprpp/thd_windows.cc +32 -35
  1132. data/src/core/lib/gprpp/time.cc +240 -0
  1133. data/src/core/lib/gprpp/time.h +366 -0
  1134. data/src/core/lib/gprpp/time_averaged_stats.cc +60 -0
  1135. data/src/core/lib/gprpp/time_averaged_stats.h +79 -0
  1136. data/src/core/lib/gprpp/time_util.cc +81 -0
  1137. data/src/core/lib/gprpp/time_util.h +42 -0
  1138. data/src/core/lib/gprpp/unique_type_name.h +104 -0
  1139. data/src/core/lib/gprpp/validation_errors.cc +61 -0
  1140. data/src/core/lib/gprpp/validation_errors.h +127 -0
  1141. data/src/core/lib/gprpp/work_serializer.cc +247 -0
  1142. data/src/core/lib/gprpp/work_serializer.h +86 -0
  1143. data/src/core/lib/handshaker/proxy_mapper.h +53 -0
  1144. data/src/core/lib/handshaker/proxy_mapper_registry.cc +71 -0
  1145. data/src/core/lib/handshaker/proxy_mapper_registry.h +75 -0
  1146. data/src/core/lib/http/format_request.cc +81 -47
  1147. data/src/core/lib/http/format_request.h +29 -25
  1148. data/src/core/lib/http/httpcli.cc +321 -234
  1149. data/src/core/lib/http/httpcli.h +254 -109
  1150. data/src/core/lib/http/httpcli_security_connector.cc +104 -106
  1151. data/src/core/lib/http/httpcli_ssl_credentials.h +39 -0
  1152. data/src/core/lib/http/parser.cc +208 -129
  1153. data/src/core/lib/http/parser.h +53 -36
  1154. data/src/core/lib/iomgr/block_annotate.h +21 -21
  1155. data/src/core/lib/iomgr/buffer_list.cc +165 -146
  1156. data/src/core/lib/iomgr/buffer_list.h +128 -108
  1157. data/src/core/lib/iomgr/call_combiner.cc +61 -58
  1158. data/src/core/lib/iomgr/call_combiner.h +31 -34
  1159. data/src/core/lib/iomgr/cfstream_handle.cc +38 -41
  1160. data/src/core/lib/iomgr/cfstream_handle.h +23 -23
  1161. data/src/core/lib/iomgr/closure.h +110 -54
  1162. data/src/core/lib/iomgr/combiner.cc +51 -59
  1163. data/src/core/lib/iomgr/combiner.h +21 -20
  1164. data/src/core/lib/iomgr/dualstack_socket_posix.cc +22 -21
  1165. data/src/core/lib/iomgr/dynamic_annotations.h +20 -20
  1166. data/src/core/lib/iomgr/endpoint.cc +22 -26
  1167. data/src/core/lib/iomgr/endpoint.h +53 -54
  1168. data/src/core/lib/iomgr/endpoint_cfstream.cc +78 -99
  1169. data/src/core/lib/iomgr/endpoint_cfstream.h +31 -31
  1170. data/src/core/lib/iomgr/endpoint_pair.h +19 -18
  1171. data/src/core/lib/iomgr/endpoint_pair_posix.cc +39 -30
  1172. data/src/core/lib/iomgr/endpoint_pair_windows.cc +25 -25
  1173. data/src/core/lib/iomgr/error.cc +145 -752
  1174. data/src/core/lib/iomgr/error.h +119 -227
  1175. data/src/core/lib/iomgr/error_cfstream.cc +25 -24
  1176. data/src/core/lib/iomgr/error_cfstream.h +21 -21
  1177. data/src/core/lib/iomgr/ev_apple.cc +40 -36
  1178. data/src/core/lib/iomgr/ev_apple.h +18 -18
  1179. data/src/core/lib/iomgr/ev_epoll1_linux.cc +313 -297
  1180. data/src/core/lib/iomgr/ev_epoll1_linux.h +19 -19
  1181. data/src/core/lib/iomgr/ev_poll_posix.cc +359 -332
  1182. data/src/core/lib/iomgr/ev_poll_posix.h +20 -20
  1183. data/src/core/lib/iomgr/ev_posix.cc +100 -134
  1184. data/src/core/lib/iomgr/ev_posix.h +100 -94
  1185. data/src/core/lib/iomgr/ev_windows.cc +18 -18
  1186. data/src/core/lib/iomgr/exec_ctx.cc +48 -139
  1187. data/src/core/lib/iomgr/exec_ctx.h +175 -221
  1188. data/src/core/lib/iomgr/executor.cc +50 -68
  1189. data/src/core/lib/iomgr/executor.h +28 -31
  1190. data/src/core/lib/iomgr/fork_posix.cc +25 -22
  1191. data/src/core/lib/iomgr/fork_windows.cc +21 -21
  1192. data/src/core/lib/iomgr/gethostname.h +18 -18
  1193. data/src/core/lib/iomgr/gethostname_fallback.cc +17 -17
  1194. data/src/core/lib/iomgr/gethostname_host_name_max.cc +17 -17
  1195. data/src/core/lib/iomgr/gethostname_sysconf.cc +17 -17
  1196. data/src/core/lib/iomgr/grpc_if_nametoindex.h +20 -20
  1197. data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +22 -21
  1198. data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +22 -21
  1199. data/src/core/lib/iomgr/internal_errqueue.cc +44 -50
  1200. data/src/core/lib/iomgr/internal_errqueue.h +81 -86
  1201. data/src/core/lib/iomgr/iocp_windows.cc +32 -31
  1202. data/src/core/lib/iomgr/iocp_windows.h +19 -19
  1203. data/src/core/lib/iomgr/iomgr.cc +31 -24
  1204. data/src/core/lib/iomgr/iomgr.h +35 -35
  1205. data/src/core/lib/iomgr/iomgr_fwd.h +26 -0
  1206. data/src/core/lib/iomgr/iomgr_internal.cc +25 -29
  1207. data/src/core/lib/iomgr/iomgr_internal.h +31 -30
  1208. data/src/core/lib/iomgr/iomgr_posix.cc +25 -23
  1209. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +64 -33
  1210. data/src/core/lib/iomgr/iomgr_windows.cc +27 -26
  1211. data/src/core/lib/iomgr/load_file.cc +26 -29
  1212. data/src/core/lib/iomgr/load_file.h +22 -22
  1213. data/src/core/lib/iomgr/lockfree_event.cc +131 -125
  1214. data/src/core/lib/iomgr/lockfree_event.h +21 -21
  1215. data/src/core/lib/iomgr/nameser.h +84 -84
  1216. data/src/core/lib/iomgr/polling_entity.cc +26 -22
  1217. data/src/core/lib/iomgr/polling_entity.h +33 -27
  1218. data/src/core/lib/iomgr/pollset.cc +22 -22
  1219. data/src/core/lib/iomgr/pollset.h +62 -62
  1220. data/src/core/lib/iomgr/pollset_set.cc +17 -17
  1221. data/src/core/lib/iomgr/pollset_set.h +23 -25
  1222. data/src/core/lib/iomgr/pollset_set_windows.cc +19 -18
  1223. data/src/core/lib/iomgr/pollset_set_windows.h +18 -18
  1224. data/src/core/lib/iomgr/pollset_windows.cc +36 -35
  1225. data/src/core/lib/iomgr/pollset_windows.h +22 -22
  1226. data/src/core/lib/iomgr/port.h +58 -44
  1227. data/src/core/lib/iomgr/python_util.h +26 -25
  1228. data/src/core/lib/iomgr/resolve_address.cc +39 -39
  1229. data/src/core/lib/iomgr/resolve_address.h +100 -65
  1230. data/src/core/lib/iomgr/resolve_address_impl.h +59 -0
  1231. data/src/core/lib/iomgr/resolve_address_posix.cc +136 -109
  1232. data/src/core/lib/iomgr/resolve_address_posix.h +63 -0
  1233. data/src/core/lib/iomgr/resolve_address_windows.cc +133 -90
  1234. data/src/core/lib/iomgr/resolve_address_windows.h +63 -0
  1235. data/src/core/lib/iomgr/resolved_address.h +39 -0
  1236. data/src/core/lib/iomgr/sockaddr.h +24 -24
  1237. data/src/core/lib/iomgr/sockaddr_posix.h +20 -18
  1238. data/src/core/lib/iomgr/sockaddr_utils_posix.cc +64 -0
  1239. data/src/core/lib/iomgr/sockaddr_windows.h +20 -18
  1240. data/src/core/lib/iomgr/socket_factory_posix.cc +25 -24
  1241. data/src/core/lib/iomgr/socket_factory_posix.h +31 -30
  1242. data/src/core/lib/iomgr/socket_mutator.cc +39 -24
  1243. data/src/core/lib/iomgr/socket_mutator.h +54 -30
  1244. data/src/core/lib/iomgr/socket_utils.h +24 -24
  1245. data/src/core/lib/iomgr/socket_utils_common_posix.cc +108 -142
  1246. data/src/core/lib/iomgr/socket_utils_linux.cc +22 -21
  1247. data/src/core/lib/iomgr/socket_utils_posix.cc +105 -21
  1248. data/src/core/lib/iomgr/socket_utils_posix.h +198 -106
  1249. data/src/core/lib/iomgr/socket_utils_windows.cc +22 -21
  1250. data/src/core/lib/iomgr/socket_windows.cc +37 -36
  1251. data/src/core/lib/iomgr/socket_windows.h +56 -58
  1252. data/src/core/lib/iomgr/systemd_utils.cc +116 -0
  1253. data/src/core/lib/iomgr/systemd_utils.h +33 -0
  1254. data/src/core/lib/iomgr/tcp_client.cc +28 -24
  1255. data/src/core/lib/iomgr/tcp_client.h +48 -34
  1256. data/src/core/lib/iomgr/tcp_client_cfstream.cc +53 -58
  1257. data/src/core/lib/iomgr/tcp_client_posix.cc +249 -130
  1258. data/src/core/lib/iomgr/tcp_client_posix.h +55 -51
  1259. data/src/core/lib/iomgr/tcp_client_windows.cc +70 -62
  1260. data/src/core/lib/iomgr/tcp_posix.cc +685 -497
  1261. data/src/core/lib/iomgr/tcp_posix.h +46 -39
  1262. data/src/core/lib/iomgr/tcp_server.cc +36 -27
  1263. data/src/core/lib/iomgr/tcp_server.h +84 -73
  1264. data/src/core/lib/iomgr/tcp_server_posix.cc +216 -164
  1265. data/src/core/lib/iomgr/tcp_server_utils_posix.h +88 -80
  1266. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +140 -99
  1267. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +55 -52
  1268. data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +23 -23
  1269. data/src/core/lib/iomgr/tcp_server_windows.cc +129 -132
  1270. data/src/core/lib/iomgr/tcp_windows.cc +136 -135
  1271. data/src/core/lib/iomgr/tcp_windows.h +32 -33
  1272. data/src/core/lib/iomgr/timer.cc +20 -19
  1273. data/src/core/lib/iomgr/timer.h +81 -72
  1274. data/src/core/lib/iomgr/timer_generic.cc +237 -257
  1275. data/src/core/lib/iomgr/timer_generic.h +20 -19
  1276. data/src/core/lib/iomgr/timer_heap.cc +27 -28
  1277. data/src/core/lib/iomgr/timer_heap.h +19 -19
  1278. data/src/core/lib/iomgr/timer_manager.cc +48 -47
  1279. data/src/core/lib/iomgr/timer_manager.h +25 -25
  1280. data/src/core/lib/iomgr/unix_sockets_posix.cc +48 -52
  1281. data/src/core/lib/iomgr/unix_sockets_posix.h +25 -24
  1282. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +32 -29
  1283. data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +26 -26
  1284. data/src/core/lib/iomgr/wakeup_fd_nospecial.cc +24 -23
  1285. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +37 -35
  1286. data/src/core/lib/iomgr/wakeup_fd_pipe.h +18 -18
  1287. data/src/core/lib/iomgr/wakeup_fd_posix.cc +37 -33
  1288. data/src/core/lib/iomgr/wakeup_fd_posix.h +58 -58
  1289. data/src/core/lib/json/json.h +32 -26
  1290. data/src/core/lib/json/json_args.h +34 -0
  1291. data/src/core/lib/json/json_channel_args.h +42 -0
  1292. data/src/core/lib/json/json_object_loader.cc +217 -0
  1293. data/src/core/lib/json/json_object_loader.h +634 -0
  1294. data/src/core/lib/json/json_reader.cc +193 -118
  1295. data/src/core/lib/json/json_util.cc +106 -0
  1296. data/src/core/lib/json/json_util.h +163 -0
  1297. data/src/core/lib/json/json_writer.cc +64 -61
  1298. data/src/core/lib/load_balancing/lb_policy.cc +93 -0
  1299. data/src/core/lib/load_balancing/lb_policy.h +438 -0
  1300. data/src/core/lib/load_balancing/lb_policy_factory.h +49 -0
  1301. data/src/core/lib/load_balancing/lb_policy_registry.cc +141 -0
  1302. data/src/core/lib/load_balancing/lb_policy_registry.h +82 -0
  1303. data/src/core/lib/load_balancing/subchannel_interface.h +133 -0
  1304. data/src/core/lib/matchers/matchers.cc +331 -0
  1305. data/src/core/lib/matchers/matchers.h +162 -0
  1306. data/src/core/lib/promise/activity.cc +134 -0
  1307. data/src/core/lib/promise/activity.h +612 -0
  1308. data/src/core/lib/promise/arena_promise.h +231 -0
  1309. data/src/core/lib/promise/context.h +93 -0
  1310. data/src/core/lib/promise/detail/basic_seq.h +497 -0
  1311. data/src/core/lib/promise/detail/promise_factory.h +236 -0
  1312. data/src/core/lib/promise/detail/promise_like.h +85 -0
  1313. data/src/core/lib/promise/detail/status.h +78 -0
  1314. data/src/core/lib/promise/detail/switch.h +1455 -0
  1315. data/src/core/lib/promise/exec_ctx_wakeup_scheduler.h +56 -0
  1316. data/src/core/lib/promise/for_each.h +155 -0
  1317. data/src/core/lib/promise/intra_activity_waiter.h +49 -0
  1318. data/src/core/lib/promise/latch.h +97 -0
  1319. data/src/core/lib/promise/loop.h +138 -0
  1320. data/src/core/lib/promise/map.h +88 -0
  1321. data/src/core/lib/promise/map_pipe.h +88 -0
  1322. data/src/core/lib/promise/pipe.cc +19 -0
  1323. data/src/core/lib/promise/pipe.h +505 -0
  1324. data/src/core/lib/promise/poll.h +85 -0
  1325. data/src/core/lib/promise/promise.h +96 -0
  1326. data/src/core/lib/promise/race.h +83 -0
  1327. data/src/core/lib/promise/seq.h +107 -0
  1328. data/src/core/lib/promise/sleep.cc +90 -0
  1329. data/src/core/lib/promise/sleep.h +84 -0
  1330. data/src/core/lib/promise/try_concurrently.h +342 -0
  1331. data/src/core/lib/promise/try_seq.h +175 -0
  1332. data/src/core/lib/resolver/resolver.cc +37 -0
  1333. data/src/core/lib/resolver/resolver.h +138 -0
  1334. data/src/core/lib/resolver/resolver_factory.h +77 -0
  1335. data/src/core/lib/resolver/resolver_registry.cc +149 -0
  1336. data/src/core/lib/resolver/resolver_registry.h +123 -0
  1337. data/src/core/lib/resolver/server_address.cc +181 -0
  1338. data/src/core/lib/resolver/server_address.h +145 -0
  1339. data/src/core/lib/resource_quota/api.cc +104 -0
  1340. data/src/core/lib/resource_quota/api.h +49 -0
  1341. data/src/core/lib/resource_quota/arena.cc +138 -0
  1342. data/src/core/lib/resource_quota/arena.h +252 -0
  1343. data/src/core/lib/resource_quota/memory_quota.cc +699 -0
  1344. data/src/core/lib/resource_quota/memory_quota.h +592 -0
  1345. data/src/core/lib/resource_quota/periodic_update.cc +78 -0
  1346. data/src/core/lib/resource_quota/periodic_update.h +71 -0
  1347. data/src/core/lib/resource_quota/resource_quota.cc +33 -0
  1348. data/src/core/lib/resource_quota/resource_quota.h +74 -0
  1349. data/src/core/lib/resource_quota/thread_quota.cc +45 -0
  1350. data/src/core/lib/resource_quota/thread_quota.h +61 -0
  1351. data/src/core/lib/resource_quota/trace.cc +19 -0
  1352. data/src/core/lib/resource_quota/trace.h +24 -0
  1353. data/src/core/lib/security/authorization/authorization_engine.h +13 -53
  1354. data/src/core/lib/security/authorization/authorization_policy_provider.h +47 -0
  1355. data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +49 -0
  1356. data/src/core/lib/security/authorization/evaluate_args.cc +152 -84
  1357. data/src/core/lib/security/authorization/evaluate_args.h +55 -19
  1358. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +64 -0
  1359. data/src/core/lib/security/authorization/grpc_authorization_engine.h +69 -0
  1360. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +122 -0
  1361. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +61 -0
  1362. data/src/core/lib/security/authorization/matchers.cc +241 -0
  1363. data/src/core/lib/security/authorization/matchers.h +218 -0
  1364. data/src/core/lib/security/authorization/rbac_policy.cc +445 -0
  1365. data/src/core/lib/security/authorization/rbac_policy.h +178 -0
  1366. data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +66 -0
  1367. data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +60 -0
  1368. data/src/core/lib/security/certificate_provider/certificate_provider_registry.h +70 -0
  1369. data/src/core/lib/security/context/security_context.cc +45 -37
  1370. data/src/core/lib/security/context/security_context.h +65 -34
  1371. data/src/core/lib/security/credentials/alts/alts_credentials.cc +36 -27
  1372. data/src/core/lib/security/credentials/alts/alts_credentials.h +68 -54
  1373. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +20 -20
  1374. data/src/core/lib/security/credentials/alts/check_gcp_environment.h +41 -41
  1375. data/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc +19 -19
  1376. data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +20 -19
  1377. data/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +20 -19
  1378. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +20 -22
  1379. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +18 -18
  1380. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h +36 -37
  1381. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc +19 -22
  1382. data/src/core/lib/security/credentials/call_creds_util.cc +97 -0
  1383. data/src/core/lib/security/credentials/call_creds_util.h +43 -0
  1384. data/src/core/lib/security/credentials/channel_creds_registry.h +103 -0
  1385. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +80 -0
  1386. data/src/core/lib/security/credentials/composite/composite_credentials.cc +56 -114
  1387. data/src/core/lib/security/credentials/composite/composite_credentials.h +62 -37
  1388. data/src/core/lib/security/credentials/credentials.cc +37 -39
  1389. data/src/core/lib/security/credentials/credentials.h +148 -134
  1390. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +546 -0
  1391. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +100 -0
  1392. data/src/core/lib/security/credentials/external/aws_request_signer.cc +224 -0
  1393. data/src/core/lib/security/credentials/external/aws_request_signer.h +72 -0
  1394. data/src/core/lib/security/credentials/external/external_account_credentials.cc +561 -0
  1395. data/src/core/lib/security/credentials/external/external_account_credentials.h +129 -0
  1396. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +138 -0
  1397. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +55 -0
  1398. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +242 -0
  1399. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +71 -0
  1400. data/src/core/lib/security/credentials/fake/fake_credentials.cc +64 -63
  1401. data/src/core/lib/security/credentials/fake/fake_credentials.h +68 -60
  1402. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +24 -27
  1403. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +240 -142
  1404. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +38 -26
  1405. data/src/core/lib/security/credentials/iam/iam_credentials.cc +51 -48
  1406. data/src/core/lib/security/credentials/iam/iam_credentials.h +43 -27
  1407. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +73 -0
  1408. data/src/core/lib/security/credentials/insecure/insecure_credentials.h +61 -0
  1409. data/src/core/lib/security/credentials/jwt/json_token.cc +48 -39
  1410. data/src/core/lib/security/credentials/jwt/json_token.h +34 -33
  1411. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +83 -75
  1412. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +62 -36
  1413. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +179 -147
  1414. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +49 -47
  1415. data/src/core/lib/security/credentials/local/local_credentials.cc +37 -30
  1416. data/src/core/lib/security/credentials/local/local_credentials.h +39 -23
  1417. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +269 -287
  1418. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +105 -56
  1419. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +123 -177
  1420. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +98 -45
  1421. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +55 -59
  1422. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +48 -26
  1423. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +340 -0
  1424. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +216 -0
  1425. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +471 -0
  1426. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +206 -0
  1427. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +241 -0
  1428. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +168 -0
  1429. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +83 -206
  1430. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +93 -299
  1431. data/src/core/lib/security/credentials/tls/tls_credentials.cc +79 -58
  1432. data/src/core/lib/security/credentials/tls/tls_credentials.h +33 -24
  1433. data/src/core/lib/security/credentials/tls/tls_utils.cc +127 -0
  1434. data/src/core/lib/security/credentials/tls/tls_utils.h +51 -0
  1435. data/src/core/lib/security/credentials/xds/xds_credentials.cc +235 -0
  1436. data/src/core/lib/security/credentials/xds/xds_credentials.h +114 -0
  1437. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +77 -67
  1438. data/src/core/lib/security/security_connector/alts/alts_security_connector.h +50 -48
  1439. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +94 -104
  1440. data/src/core/lib/security/security_connector/fake/fake_security_connector.h +23 -26
  1441. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +120 -0
  1442. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +103 -0
  1443. data/src/core/lib/security/security_connector/load_system_roots.h +22 -18
  1444. data/src/core/lib/security/security_connector/load_system_roots_fallback.cc +23 -20
  1445. data/src/core/lib/security/security_connector/load_system_roots_supported.cc +175 -0
  1446. data/src/core/lib/security/security_connector/load_system_roots_supported.h +45 -0
  1447. data/src/core/lib/security/security_connector/local/local_security_connector.cc +90 -65
  1448. data/src/core/lib/security/security_connector/local/local_security_connector.h +47 -44
  1449. data/src/core/lib/security/security_connector/security_connector.cc +48 -52
  1450. data/src/core/lib/security/security_connector/security_connector.h +90 -66
  1451. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +78 -66
  1452. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +43 -43
  1453. data/src/core/lib/security/security_connector/ssl_utils.cc +124 -83
  1454. data/src/core/lib/security/security_connector/ssl_utils.h +74 -75
  1455. data/src/core/lib/security/security_connector/ssl_utils_config.cc +22 -22
  1456. data/src/core/lib/security/security_connector/ssl_utils_config.h +19 -20
  1457. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +672 -450
  1458. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +231 -128
  1459. data/src/core/lib/security/transport/auth_filters.h +64 -23
  1460. data/src/core/lib/security/transport/client_auth_filter.cc +143 -383
  1461. data/src/core/lib/security/transport/secure_endpoint.cc +314 -200
  1462. data/src/core/lib/security/transport/secure_endpoint.h +27 -25
  1463. data/src/core/lib/security/transport/security_handshaker.cc +267 -168
  1464. data/src/core/lib/security/transport/security_handshaker.h +27 -21
  1465. data/src/core/lib/security/transport/server_auth_filter.cc +122 -89
  1466. data/src/core/lib/security/transport/tsi_error.cc +24 -22
  1467. data/src/core/lib/security/transport/tsi_error.h +20 -19
  1468. data/src/core/lib/security/util/json_util.cc +29 -31
  1469. data/src/core/lib/security/util/json_util.h +20 -21
  1470. data/src/core/lib/service_config/service_config.h +89 -0
  1471. data/src/core/lib/service_config/service_config_call_data.h +82 -0
  1472. data/src/core/lib/service_config/service_config_impl.cc +191 -0
  1473. data/src/core/lib/service_config/service_config_impl.h +125 -0
  1474. data/src/core/lib/service_config/service_config_parser.cc +81 -0
  1475. data/src/core/lib/service_config/service_config_parser.h +105 -0
  1476. data/src/core/lib/slice/b64.cc +26 -26
  1477. data/src/core/lib/slice/b64.h +31 -29
  1478. data/src/core/lib/slice/percent_encoding.cc +95 -114
  1479. data/src/core/lib/slice/percent_encoding.h +43 -54
  1480. data/src/core/lib/slice/slice.cc +140 -234
  1481. data/src/core/lib/slice/slice.h +435 -0
  1482. data/src/core/lib/slice/slice_buffer.cc +145 -81
  1483. data/src/core/lib/slice/slice_buffer.h +162 -0
  1484. data/src/core/lib/slice/slice_internal.h +37 -305
  1485. data/src/core/lib/slice/slice_refcount.h +60 -0
  1486. data/src/core/lib/slice/slice_string_helpers.cc +17 -116
  1487. data/src/core/lib/slice/slice_string_helpers.h +20 -38
  1488. data/src/core/lib/surface/api_trace.cc +19 -18
  1489. data/src/core/lib/surface/api_trace.h +23 -22
  1490. data/src/core/lib/surface/builtins.cc +54 -0
  1491. data/src/core/lib/surface/builtins.h +26 -0
  1492. data/src/core/lib/surface/byte_buffer.cc +26 -21
  1493. data/src/core/lib/surface/byte_buffer_reader.cc +25 -25
  1494. data/src/core/lib/surface/call.cc +2509 -1450
  1495. data/src/core/lib/surface/call.h +114 -58
  1496. data/src/core/lib/surface/call_details.cc +28 -29
  1497. data/src/core/lib/surface/call_log_batch.cc +26 -20
  1498. data/src/core/lib/surface/call_test_only.h +31 -28
  1499. data/src/core/lib/surface/call_trace.cc +113 -0
  1500. data/src/core/lib/surface/call_trace.h +30 -0
  1501. data/src/core/lib/surface/channel.cc +251 -365
  1502. data/src/core/lib/surface/channel.h +148 -102
  1503. data/src/core/lib/surface/channel_init.cc +39 -93
  1504. data/src/core/lib/surface/channel_init.h +63 -57
  1505. data/src/core/lib/surface/channel_ping.cc +28 -23
  1506. data/src/core/lib/surface/channel_stack_type.cc +21 -18
  1507. data/src/core/lib/surface/channel_stack_type.h +20 -20
  1508. data/src/core/lib/surface/completion_queue.cc +337 -363
  1509. data/src/core/lib/surface/completion_queue.h +56 -53
  1510. data/src/core/lib/surface/completion_queue_factory.cc +37 -31
  1511. data/src/core/lib/surface/completion_queue_factory.h +19 -20
  1512. data/src/core/lib/surface/event_string.cc +18 -23
  1513. data/src/core/lib/surface/event_string.h +19 -19
  1514. data/src/core/lib/surface/init.cc +143 -162
  1515. data/src/core/lib/surface/init.h +20 -22
  1516. data/src/core/lib/surface/init_internally.cc +25 -0
  1517. data/src/core/lib/surface/init_internally.h +37 -0
  1518. data/src/core/lib/surface/lame_client.cc +101 -138
  1519. data/src/core/lib/surface/lame_client.h +63 -20
  1520. data/src/core/lib/surface/metadata_array.cc +20 -19
  1521. data/src/core/lib/surface/server.cc +304 -304
  1522. data/src/core/lib/surface/server.h +189 -62
  1523. data/src/core/lib/surface/validate_metadata.cc +74 -57
  1524. data/src/core/lib/surface/validate_metadata.h +27 -20
  1525. data/src/core/lib/surface/version.cc +21 -21
  1526. data/src/core/lib/transport/bdp_estimator.cc +29 -30
  1527. data/src/core/lib/transport/bdp_estimator.h +23 -24
  1528. data/src/core/lib/transport/connectivity_state.cc +33 -29
  1529. data/src/core/lib/transport/connectivity_state.h +34 -33
  1530. data/src/core/lib/transport/error_utils.cc +90 -73
  1531. data/src/core/lib/transport/error_utils.h +39 -28
  1532. data/src/core/lib/transport/handshaker.cc +228 -0
  1533. data/src/core/lib/transport/handshaker.h +172 -0
  1534. data/src/core/lib/transport/handshaker_factory.h +74 -0
  1535. data/src/core/lib/transport/handshaker_registry.cc +61 -0
  1536. data/src/core/lib/transport/handshaker_registry.h +69 -0
  1537. data/src/core/lib/transport/http2_errors.h +20 -20
  1538. data/src/core/lib/transport/http_connect_handshaker.cc +400 -0
  1539. data/src/core/lib/transport/http_connect_handshaker.h +42 -0
  1540. data/src/core/lib/transport/metadata_batch.cc +218 -316
  1541. data/src/core/lib/transport/metadata_batch.h +1322 -177
  1542. data/src/core/lib/transport/parsed_metadata.cc +35 -0
  1543. data/src/core/lib/transport/parsed_metadata.h +410 -0
  1544. data/src/core/lib/transport/pid_controller.cc +24 -24
  1545. data/src/core/lib/transport/pid_controller.h +24 -24
  1546. data/src/core/lib/transport/status_conversion.cc +25 -25
  1547. data/src/core/lib/transport/status_conversion.h +23 -23
  1548. data/src/core/lib/transport/tcp_connect_handshaker.cc +246 -0
  1549. data/src/core/lib/transport/tcp_connect_handshaker.h +39 -0
  1550. data/src/core/lib/transport/timeout_encoding.cc +229 -96
  1551. data/src/core/lib/transport/timeout_encoding.h +62 -28
  1552. data/src/core/lib/transport/transport.cc +118 -91
  1553. data/src/core/lib/transport/transport.h +276 -153
  1554. data/src/core/lib/transport/transport_fwd.h +20 -0
  1555. data/src/core/lib/transport/transport_impl.h +56 -32
  1556. data/src/core/lib/transport/transport_op_string.cc +46 -68
  1557. data/src/core/lib/uri/uri_parser.cc +312 -248
  1558. data/src/core/lib/uri/uri_parser.h +90 -40
  1559. data/src/core/plugin_registry/grpc_plugin_registry.cc +108 -118
  1560. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +66 -0
  1561. data/src/core/tsi/alts/crypt/aes_gcm.cc +26 -23
  1562. data/src/core/tsi/alts/crypt/gsec.cc +31 -30
  1563. data/src/core/tsi/alts/crypt/gsec.h +339 -334
  1564. data/src/core/tsi/alts/frame_protector/alts_counter.cc +23 -23
  1565. data/src/core/tsi/alts/frame_protector/alts_counter.h +66 -66
  1566. data/src/core/tsi/alts/frame_protector/alts_crypter.cc +19 -19
  1567. data/src/core/tsi/alts/frame_protector/alts_crypter.h +206 -206
  1568. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +85 -83
  1569. data/src/core/tsi/alts/frame_protector/alts_frame_protector.h +38 -38
  1570. data/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc +18 -18
  1571. data/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.h +80 -81
  1572. data/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc +22 -22
  1573. data/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc +22 -22
  1574. data/src/core/tsi/alts/frame_protector/frame_handler.cc +44 -42
  1575. data/src/core/tsi/alts/frame_protector/frame_handler.h +166 -166
  1576. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +167 -148
  1577. data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +103 -104
  1578. data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +27 -18
  1579. data/src/core/tsi/alts/handshaker/alts_shared_resource.h +41 -42
  1580. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +131 -108
  1581. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +59 -59
  1582. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +23 -22
  1583. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +23 -22
  1584. data/src/core/tsi/alts/handshaker/alts_tsi_utils.h +37 -37
  1585. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +22 -24
  1586. data/src/core/tsi/alts/handshaker/transport_security_common_api.h +104 -103
  1587. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +47 -46
  1588. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h +38 -39
  1589. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +38 -36
  1590. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h +33 -34
  1591. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol.h +65 -66
  1592. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +33 -32
  1593. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h +53 -54
  1594. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +62 -59
  1595. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h +138 -139
  1596. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +73 -64
  1597. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h +41 -42
  1598. data/src/core/tsi/fake_transport_security.cc +177 -121
  1599. data/src/core/tsi/fake_transport_security.h +33 -27
  1600. data/src/core/tsi/local_transport_security.cc +84 -120
  1601. data/src/core/tsi/local_transport_security.h +33 -37
  1602. data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +146 -0
  1603. data/src/core/tsi/ssl/key_logging/ssl_key_logging.h +81 -0
  1604. data/src/core/tsi/ssl/session_cache/ssl_session.h +21 -21
  1605. data/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc +22 -20
  1606. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +38 -72
  1607. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +37 -28
  1608. data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +29 -22
  1609. data/src/core/tsi/ssl_transport_security.cc +495 -453
  1610. data/src/core/tsi/ssl_transport_security.h +239 -198
  1611. data/src/core/tsi/ssl_transport_security_utils.cc +250 -0
  1612. data/src/core/tsi/ssl_transport_security_utils.h +147 -0
  1613. data/src/core/tsi/ssl_types.h +25 -25
  1614. data/src/core/tsi/transport_security.cc +69 -43
  1615. data/src/core/tsi/transport_security.h +50 -34
  1616. data/src/core/tsi/transport_security_grpc.cc +23 -22
  1617. data/src/core/tsi/transport_security_grpc.h +43 -39
  1618. data/src/core/tsi/transport_security_interface.h +368 -328
  1619. data/src/ruby/bin/math_services_pb.rb +1 -1
  1620. data/src/ruby/ext/grpc/ext-export-truffleruby-with-ruby-abi-version.clang +2 -0
  1621. data/src/ruby/ext/grpc/ext-export-truffleruby-with-ruby-abi-version.gcc +7 -0
  1622. data/src/ruby/ext/grpc/ext-export-with-ruby-abi-version.clang +2 -0
  1623. data/src/ruby/ext/grpc/ext-export-with-ruby-abi-version.gcc +7 -0
  1624. data/src/ruby/ext/grpc/ext-export.gcc +1 -1
  1625. data/src/ruby/ext/grpc/extconf.rb +122 -24
  1626. data/src/ruby/ext/grpc/rb_byte_buffer.c +2 -1
  1627. data/src/ruby/ext/grpc/rb_call.c +6 -5
  1628. data/src/ruby/ext/grpc/rb_call_credentials.c +5 -5
  1629. data/src/ruby/ext/grpc/rb_channel.c +25 -10
  1630. data/src/ruby/ext/grpc/rb_channel_args.c +3 -2
  1631. data/src/ruby/ext/grpc/rb_channel_credentials.c +15 -5
  1632. data/src/ruby/ext/grpc/rb_channel_credentials.h +5 -0
  1633. data/src/ruby/ext/grpc/rb_completion_queue.c +3 -2
  1634. data/src/ruby/ext/grpc/rb_compression_options.c +7 -6
  1635. data/src/ruby/ext/grpc/rb_enable_cpp.cc +1 -1
  1636. data/src/ruby/ext/grpc/rb_event_thread.c +4 -2
  1637. data/src/ruby/ext/grpc/rb_grpc.c +10 -4
  1638. data/src/ruby/ext/grpc/rb_grpc.h +1 -0
  1639. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +108 -84
  1640. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +178 -142
  1641. data/src/ruby/ext/grpc/rb_loader.c +6 -2
  1642. data/src/ruby/ext/grpc/rb_server.c +26 -10
  1643. data/src/ruby/ext/grpc/rb_server_credentials.c +22 -6
  1644. data/src/ruby/ext/grpc/rb_server_credentials.h +5 -0
  1645. data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +218 -0
  1646. data/src/ruby/ext/grpc/rb_xds_channel_credentials.h +37 -0
  1647. data/src/ruby/ext/grpc/rb_xds_server_credentials.c +170 -0
  1648. data/src/ruby/ext/grpc/rb_xds_server_credentials.h +37 -0
  1649. data/src/ruby/lib/grpc/errors.rb +1 -1
  1650. data/src/ruby/lib/grpc/generic/active_call.rb +7 -1
  1651. data/src/ruby/lib/grpc/generic/bidi_call.rb +2 -0
  1652. data/src/ruby/lib/grpc/generic/client_stub.rb +4 -2
  1653. data/src/ruby/lib/grpc/grpc.rb +1 -1
  1654. data/src/ruby/lib/grpc/version.rb +1 -1
  1655. data/src/ruby/pb/generate_proto_ruby.sh +1 -0
  1656. data/src/ruby/pb/grpc/health/v1/health_services_pb.rb +1 -1
  1657. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +39 -0
  1658. data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +1 -0
  1659. data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +23 -5
  1660. data/src/ruby/pb/test/client.rb +769 -0
  1661. data/src/ruby/pb/test/server.rb +252 -0
  1662. data/src/ruby/pb/test/xds_client.rb +415 -0
  1663. data/src/ruby/spec/call_spec.rb +1 -1
  1664. data/src/ruby/spec/channel_credentials_spec.rb +32 -0
  1665. data/src/ruby/spec/channel_spec.rb +21 -48
  1666. data/src/ruby/spec/client_auth_spec.rb +27 -1
  1667. data/src/ruby/spec/client_server_spec.rb +21 -9
  1668. data/src/ruby/spec/errors_spec.rb +1 -1
  1669. data/src/ruby/spec/generic/active_call_spec.rb +14 -5
  1670. data/src/ruby/spec/generic/client_stub_spec.rb +27 -27
  1671. data/src/ruby/spec/generic/rpc_server_spec.rb +1 -1
  1672. data/src/ruby/spec/generic/server_interceptors_spec.rb +1 -1
  1673. data/src/ruby/spec/pb/codegen/package_option_spec.rb +2 -6
  1674. data/src/ruby/spec/server_credentials_spec.rb +25 -0
  1675. data/src/ruby/spec/server_spec.rb +22 -0
  1676. data/src/ruby/spec/user_agent_spec.rb +1 -1
  1677. data/third_party/abseil-cpp/absl/algorithm/container.h +164 -117
  1678. data/third_party/abseil-cpp/absl/base/attributes.h +211 -70
  1679. data/third_party/abseil-cpp/absl/base/call_once.h +3 -10
  1680. data/third_party/abseil-cpp/absl/base/casts.h +61 -65
  1681. data/third_party/abseil-cpp/absl/base/config.h +320 -78
  1682. data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +417 -335
  1683. data/third_party/abseil-cpp/absl/base/internal/cycleclock.cc +12 -42
  1684. data/third_party/abseil-cpp/absl/base/internal/cycleclock.h +67 -2
  1685. data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +12 -4
  1686. data/third_party/abseil-cpp/absl/base/internal/dynamic_annotations.h +398 -0
  1687. data/third_party/abseil-cpp/absl/base/internal/endian.h +78 -62
  1688. data/third_party/abseil-cpp/absl/base/internal/fast_type_id.h +50 -0
  1689. data/third_party/abseil-cpp/absl/base/internal/invoke.h +58 -4
  1690. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +1 -1
  1691. data/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h +31 -4
  1692. data/third_party/abseil-cpp/absl/base/internal/prefetch.h +138 -0
  1693. data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +56 -47
  1694. data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +29 -16
  1695. data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +39 -40
  1696. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +44 -31
  1697. data/third_party/abseil-cpp/absl/base/internal/spinlock_akaros.inc +2 -2
  1698. data/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +13 -8
  1699. data/third_party/abseil-cpp/absl/base/internal/spinlock_posix.inc +2 -2
  1700. data/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h +13 -11
  1701. data/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc +5 -5
  1702. data/third_party/abseil-cpp/absl/base/internal/strerror.cc +88 -0
  1703. data/third_party/abseil-cpp/absl/base/internal/strerror.h +39 -0
  1704. data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +96 -5
  1705. data/third_party/abseil-cpp/absl/base/internal/sysinfo.h +8 -0
  1706. data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +11 -7
  1707. data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +58 -52
  1708. data/third_party/abseil-cpp/absl/base/internal/throw_delegate.cc +111 -7
  1709. data/third_party/abseil-cpp/absl/base/internal/tsan_mutex_interface.h +3 -1
  1710. data/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +0 -76
  1711. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +23 -10
  1712. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +18 -9
  1713. data/third_party/abseil-cpp/absl/base/log_severity.cc +28 -0
  1714. data/third_party/abseil-cpp/absl/base/log_severity.h +55 -4
  1715. data/third_party/abseil-cpp/absl/base/macros.h +47 -109
  1716. data/third_party/abseil-cpp/absl/base/optimization.h +77 -6
  1717. data/third_party/abseil-cpp/absl/base/options.h +31 -4
  1718. data/third_party/abseil-cpp/absl/base/policy_checks.h +1 -1
  1719. data/third_party/abseil-cpp/absl/base/port.h +0 -1
  1720. data/third_party/abseil-cpp/absl/base/thread_annotations.h +97 -42
  1721. data/third_party/abseil-cpp/absl/cleanup/cleanup.h +140 -0
  1722. data/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h +100 -0
  1723. data/third_party/abseil-cpp/absl/container/fixed_array.h +46 -32
  1724. data/third_party/abseil-cpp/absl/container/flat_hash_map.h +613 -0
  1725. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +18 -11
  1726. data/third_party/abseil-cpp/absl/container/inlined_vector.h +155 -137
  1727. data/third_party/abseil-cpp/absl/container/internal/common.h +12 -7
  1728. data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +34 -9
  1729. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +59 -57
  1730. data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +23 -6
  1731. data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +24 -7
  1732. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +83 -114
  1733. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +99 -97
  1734. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +2 -1
  1735. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +495 -434
  1736. data/third_party/abseil-cpp/absl/container/internal/layout.h +11 -9
  1737. data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +198 -0
  1738. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +25 -2
  1739. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +852 -369
  1740. data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc +45 -87
  1741. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +93 -29
  1742. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +16 -11
  1743. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +7 -2
  1744. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +17 -5
  1745. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +21 -7
  1746. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +42 -24
  1747. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +110 -0
  1748. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +12 -3
  1749. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +14 -4
  1750. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +236 -0
  1751. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +10 -2
  1752. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +33 -10
  1753. data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +33 -8
  1754. data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +35 -25
  1755. data/third_party/abseil-cpp/absl/debugging/stacktrace.cc +2 -0
  1756. data/third_party/abseil-cpp/absl/debugging/symbolize.cc +19 -1
  1757. data/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc +101 -0
  1758. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +160 -27
  1759. data/third_party/abseil-cpp/absl/debugging/symbolize_emscripten.inc +72 -0
  1760. data/third_party/abseil-cpp/absl/functional/any_invocable.h +313 -0
  1761. data/third_party/abseil-cpp/absl/functional/bind_front.h +193 -0
  1762. data/third_party/abseil-cpp/absl/functional/function_ref.h +7 -3
  1763. data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +857 -0
  1764. data/third_party/abseil-cpp/absl/functional/internal/front_binder.h +95 -0
  1765. data/third_party/abseil-cpp/absl/functional/internal/function_ref.h +2 -2
  1766. data/third_party/abseil-cpp/absl/hash/hash.h +110 -13
  1767. data/third_party/abseil-cpp/absl/hash/internal/city.cc +15 -12
  1768. data/third_party/abseil-cpp/absl/hash/internal/city.h +1 -19
  1769. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +27 -13
  1770. data/third_party/abseil-cpp/absl/hash/internal/hash.h +426 -123
  1771. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc +123 -0
  1772. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.h +50 -0
  1773. data/third_party/abseil-cpp/absl/memory/memory.h +4 -0
  1774. data/third_party/abseil-cpp/absl/meta/type_traits.h +49 -11
  1775. data/third_party/abseil-cpp/absl/numeric/bits.h +178 -0
  1776. data/third_party/abseil-cpp/absl/numeric/int128.cc +18 -37
  1777. data/third_party/abseil-cpp/absl/numeric/int128.h +161 -87
  1778. data/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +19 -25
  1779. data/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +73 -70
  1780. data/third_party/abseil-cpp/absl/numeric/internal/bits.h +358 -0
  1781. data/third_party/abseil-cpp/absl/numeric/internal/representation.h +55 -0
  1782. data/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.cc +93 -0
  1783. data/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.h +130 -0
  1784. data/third_party/abseil-cpp/absl/profiling/internal/sample_recorder.h +245 -0
  1785. data/third_party/abseil-cpp/absl/random/bernoulli_distribution.h +200 -0
  1786. data/third_party/abseil-cpp/absl/random/beta_distribution.h +427 -0
  1787. data/third_party/abseil-cpp/absl/random/discrete_distribution.cc +98 -0
  1788. data/third_party/abseil-cpp/absl/random/discrete_distribution.h +247 -0
  1789. data/third_party/abseil-cpp/absl/random/distributions.h +452 -0
  1790. data/third_party/abseil-cpp/absl/random/exponential_distribution.h +165 -0
  1791. data/third_party/abseil-cpp/absl/random/gaussian_distribution.cc +104 -0
  1792. data/third_party/abseil-cpp/absl/random/gaussian_distribution.h +275 -0
  1793. data/third_party/abseil-cpp/absl/random/internal/distribution_caller.h +95 -0
  1794. data/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits.h +269 -0
  1795. data/third_party/abseil-cpp/absl/random/internal/fastmath.h +57 -0
  1796. data/third_party/abseil-cpp/absl/random/internal/generate_real.h +144 -0
  1797. data/third_party/abseil-cpp/absl/random/internal/iostream_state_saver.h +245 -0
  1798. data/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h +161 -0
  1799. data/third_party/abseil-cpp/absl/random/internal/pcg_engine.h +308 -0
  1800. data/third_party/abseil-cpp/absl/random/internal/platform.h +171 -0
  1801. data/third_party/abseil-cpp/absl/random/internal/pool_urbg.cc +253 -0
  1802. data/third_party/abseil-cpp/absl/random/internal/pool_urbg.h +131 -0
  1803. data/third_party/abseil-cpp/absl/random/internal/randen.cc +91 -0
  1804. data/third_party/abseil-cpp/absl/random/internal/randen.h +96 -0
  1805. data/third_party/abseil-cpp/absl/random/internal/randen_detect.cc +225 -0
  1806. data/third_party/abseil-cpp/absl/random/internal/randen_detect.h +33 -0
  1807. data/third_party/abseil-cpp/absl/random/internal/randen_engine.h +264 -0
  1808. data/third_party/abseil-cpp/absl/random/internal/randen_hwaes.cc +526 -0
  1809. data/third_party/abseil-cpp/absl/random/internal/randen_hwaes.h +50 -0
  1810. data/third_party/abseil-cpp/absl/random/internal/randen_round_keys.cc +462 -0
  1811. data/third_party/abseil-cpp/absl/random/internal/randen_slow.cc +471 -0
  1812. data/third_party/abseil-cpp/absl/random/internal/randen_slow.h +40 -0
  1813. data/third_party/abseil-cpp/absl/random/internal/randen_traits.h +88 -0
  1814. data/third_party/abseil-cpp/absl/random/internal/salted_seed_seq.h +165 -0
  1815. data/third_party/abseil-cpp/absl/random/internal/seed_material.cc +267 -0
  1816. data/third_party/abseil-cpp/absl/random/internal/seed_material.h +104 -0
  1817. data/third_party/abseil-cpp/absl/random/internal/traits.h +149 -0
  1818. data/third_party/abseil-cpp/absl/random/internal/uniform_helper.h +244 -0
  1819. data/third_party/abseil-cpp/absl/random/internal/wide_multiply.h +96 -0
  1820. data/third_party/abseil-cpp/absl/random/log_uniform_int_distribution.h +256 -0
  1821. data/third_party/abseil-cpp/absl/random/poisson_distribution.h +261 -0
  1822. data/third_party/abseil-cpp/absl/random/random.h +189 -0
  1823. data/third_party/abseil-cpp/absl/random/seed_gen_exception.cc +46 -0
  1824. data/third_party/abseil-cpp/absl/random/seed_gen_exception.h +55 -0
  1825. data/third_party/abseil-cpp/absl/random/seed_sequences.cc +29 -0
  1826. data/third_party/abseil-cpp/absl/random/seed_sequences.h +111 -0
  1827. data/third_party/abseil-cpp/absl/random/uniform_int_distribution.h +275 -0
  1828. data/third_party/abseil-cpp/absl/random/uniform_real_distribution.h +202 -0
  1829. data/third_party/abseil-cpp/absl/random/zipf_distribution.h +272 -0
  1830. data/third_party/abseil-cpp/absl/status/internal/status_internal.h +86 -0
  1831. data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +396 -0
  1832. data/third_party/abseil-cpp/absl/status/status.cc +205 -36
  1833. data/third_party/abseil-cpp/absl/status/status.h +586 -122
  1834. data/third_party/abseil-cpp/absl/status/status_payload_printer.cc +5 -10
  1835. data/third_party/abseil-cpp/absl/status/statusor.cc +103 -0
  1836. data/third_party/abseil-cpp/absl/status/statusor.h +776 -0
  1837. data/third_party/abseil-cpp/absl/strings/ascii.h +4 -4
  1838. data/third_party/abseil-cpp/absl/strings/charconv.cc +10 -10
  1839. data/third_party/abseil-cpp/absl/strings/charconv.h +3 -2
  1840. data/third_party/abseil-cpp/absl/strings/cord.cc +592 -1283
  1841. data/third_party/abseil-cpp/absl/strings/cord.h +840 -319
  1842. data/third_party/abseil-cpp/absl/strings/cord_analysis.cc +188 -0
  1843. data/third_party/abseil-cpp/absl/strings/cord_analysis.h +44 -0
  1844. data/third_party/abseil-cpp/absl/strings/cord_buffer.cc +30 -0
  1845. data/third_party/abseil-cpp/absl/strings/cord_buffer.h +572 -0
  1846. data/third_party/abseil-cpp/absl/strings/escaping.cc +13 -13
  1847. data/third_party/abseil-cpp/absl/strings/internal/char_map.h +1 -1
  1848. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc +1 -1
  1849. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h +2 -2
  1850. data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +9 -9
  1851. data/third_party/abseil-cpp/absl/strings/internal/cord_data_edge.h +63 -0
  1852. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +77 -0
  1853. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +561 -57
  1854. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +1228 -0
  1855. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h +924 -0
  1856. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc +187 -0
  1857. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.h +267 -0
  1858. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc +69 -0
  1859. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.h +212 -0
  1860. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.cc +62 -0
  1861. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.h +50 -0
  1862. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.cc +54 -0
  1863. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.h +102 -0
  1864. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +187 -0
  1865. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.cc +773 -0
  1866. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.h +607 -0
  1867. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring_reader.h +118 -0
  1868. data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.cc +96 -0
  1869. data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.h +85 -0
  1870. data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc +139 -0
  1871. data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.h +131 -0
  1872. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +418 -0
  1873. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.h +298 -0
  1874. data/third_party/abseil-cpp/absl/strings/internal/cordz_statistics.h +88 -0
  1875. data/third_party/abseil-cpp/absl/strings/internal/cordz_update_scope.h +71 -0
  1876. data/third_party/abseil-cpp/absl/strings/internal/cordz_update_tracker.h +123 -0
  1877. data/third_party/abseil-cpp/absl/strings/internal/escaping.cc +6 -5
  1878. data/third_party/abseil-cpp/absl/strings/internal/ostringstream.cc +1 -1
  1879. data/third_party/abseil-cpp/absl/strings/internal/resize_uninitialized.h +48 -2
  1880. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +236 -136
  1881. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +159 -65
  1882. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +19 -6
  1883. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +63 -24
  1884. data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +28 -16
  1885. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +36 -13
  1886. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +188 -155
  1887. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +1017 -87
  1888. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +17 -3
  1889. data/third_party/abseil-cpp/absl/strings/internal/str_format/output.h +6 -13
  1890. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +82 -77
  1891. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +55 -29
  1892. data/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +9 -6
  1893. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +49 -74
  1894. data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +72 -0
  1895. data/third_party/abseil-cpp/absl/strings/internal/utf8.cc +9 -9
  1896. data/third_party/abseil-cpp/absl/strings/match.cc +6 -3
  1897. data/third_party/abseil-cpp/absl/strings/match.h +16 -6
  1898. data/third_party/abseil-cpp/absl/strings/numbers.cc +135 -7
  1899. data/third_party/abseil-cpp/absl/strings/numbers.h +69 -32
  1900. data/third_party/abseil-cpp/absl/strings/str_cat.cc +8 -8
  1901. data/third_party/abseil-cpp/absl/strings/str_cat.h +21 -14
  1902. data/third_party/abseil-cpp/absl/strings/str_format.h +290 -15
  1903. data/third_party/abseil-cpp/absl/strings/str_join.h +9 -15
  1904. data/third_party/abseil-cpp/absl/strings/str_split.cc +2 -2
  1905. data/third_party/abseil-cpp/absl/strings/str_split.h +40 -6
  1906. data/third_party/abseil-cpp/absl/strings/string_view.cc +18 -34
  1907. data/third_party/abseil-cpp/absl/strings/string_view.h +146 -57
  1908. data/third_party/abseil-cpp/absl/strings/strip.h +8 -6
  1909. data/third_party/abseil-cpp/absl/strings/substitute.cc +7 -6
  1910. data/third_party/abseil-cpp/absl/strings/substitute.h +119 -83
  1911. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc +25 -15
  1912. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.h +5 -3
  1913. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +12 -9
  1914. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.h +0 -4
  1915. data/third_party/abseil-cpp/absl/synchronization/internal/futex.h +154 -0
  1916. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +4 -3
  1917. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +29 -28
  1918. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +2 -6
  1919. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +6 -11
  1920. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +2 -83
  1921. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +14 -12
  1922. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +209 -151
  1923. data/third_party/abseil-cpp/absl/synchronization/mutex.h +106 -72
  1924. data/third_party/abseil-cpp/absl/synchronization/notification.h +3 -2
  1925. data/third_party/abseil-cpp/absl/time/civil_time.cc +9 -11
  1926. data/third_party/abseil-cpp/absl/time/clock.cc +146 -130
  1927. data/third_party/abseil-cpp/absl/time/clock.h +2 -2
  1928. data/third_party/abseil-cpp/absl/time/duration.cc +98 -65
  1929. data/third_party/abseil-cpp/absl/time/format.cc +43 -36
  1930. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +42 -32
  1931. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +97 -22
  1932. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/zone_info_source.h +1 -1
  1933. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +1 -1
  1934. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +136 -29
  1935. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h +2 -1
  1936. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +13 -21
  1937. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h +1 -1
  1938. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +219 -150
  1939. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h +4 -5
  1940. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +15 -8
  1941. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +49 -0
  1942. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +3 -3
  1943. data/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +1 -1
  1944. data/third_party/abseil-cpp/absl/time/time.cc +4 -3
  1945. data/third_party/abseil-cpp/absl/time/time.h +122 -86
  1946. data/third_party/abseil-cpp/absl/types/bad_optional_access.h +1 -1
  1947. data/third_party/abseil-cpp/absl/types/bad_variant_access.h +2 -2
  1948. data/third_party/abseil-cpp/absl/types/internal/optional.h +8 -0
  1949. data/third_party/abseil-cpp/absl/types/internal/variant.h +8 -8
  1950. data/third_party/abseil-cpp/absl/types/optional.h +26 -23
  1951. data/third_party/abseil-cpp/absl/types/span.h +52 -38
  1952. data/third_party/abseil-cpp/absl/types/variant.h +9 -4
  1953. data/third_party/abseil-cpp/absl/utility/utility.h +2 -2
  1954. data/third_party/address_sorting/address_sorting_posix.c +1 -0
  1955. data/third_party/address_sorting/include/address_sorting/address_sorting.h +2 -0
  1956. data/third_party/boringssl-with-bazel/err_data.c +763 -721
  1957. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +70 -57
  1958. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +22 -23
  1959. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c +0 -2
  1960. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_enum.c +2 -2
  1961. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c +6 -1
  1962. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c +5 -5
  1963. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +16 -23
  1964. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +67 -54
  1965. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.c +3 -3
  1966. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_print.c +19 -29
  1967. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.c +650 -0
  1968. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +106 -153
  1969. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +4 -4
  1970. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +22 -10
  1971. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +3 -42
  1972. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utf8.c +1 -1
  1973. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +74 -68
  1974. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.c +1 -1
  1975. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +24 -28
  1976. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c +5 -0
  1977. data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +224 -0
  1978. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +79 -354
  1979. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +327 -281
  1980. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +15 -26
  1981. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c +20 -75
  1982. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c +8 -8
  1983. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c +3 -2
  1984. data/third_party/boringssl-with-bazel/src/crypto/asn1/time_support.c +1 -1
  1985. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +24 -8
  1986. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +2 -0
  1987. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +1 -7
  1988. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.c +1 -5
  1989. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +0 -4
  1990. data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +1 -7
  1991. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.c +1 -6
  1992. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.c +3 -17
  1993. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +4 -0
  1994. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +156 -0
  1995. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/bn_asn1.c +3 -10
  1996. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c +11 -10
  1997. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.c +9 -0
  1998. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +68 -45
  1999. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +38 -47
  2000. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/cipher_extra.c +49 -65
  2001. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c +6 -81
  2002. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +1 -88
  2003. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +101 -3
  2004. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +119 -273
  2005. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +14 -3
  2006. data/third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-win.c +41 -0
  2007. data/third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.c +11 -2
  2008. data/third_party/boringssl-with-bazel/src/crypto/cpu-arm.c +3 -3
  2009. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +1 -1
  2010. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +1 -1
  2011. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c +272 -0
  2012. data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +31 -3
  2013. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +30 -43
  2014. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +55 -4
  2015. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +34 -0
  2016. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +2 -17
  2017. data/third_party/boringssl-with-bazel/src/crypto/err/err.c +87 -80
  2018. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +13 -0
  2019. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +2 -2
  2020. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c +6 -2
  2021. data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.c +32 -34
  2022. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +4 -1
  2023. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.c +13 -20
  2024. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +28 -12
  2025. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.c +3 -2
  2026. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +15 -4
  2027. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.c +0 -4
  2028. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.c +5 -9
  2029. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +44 -16
  2030. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +208 -37
  2031. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/des/des.c +10 -11
  2032. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/des/internal.h +1 -3
  2033. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.c +456 -0
  2034. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c +11 -0
  2035. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c +10 -2
  2036. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +87 -160
  2037. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +16 -0
  2038. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +9 -2
  2039. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +0 -4
  2040. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +105 -95
  2041. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +39 -0
  2042. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +56 -72
  2043. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +56 -73
  2044. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +33 -22
  2045. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c +9 -8
  2046. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +9 -8
  2047. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +17 -13
  2048. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.c +1 -1
  2049. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +1 -22
  2050. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +2 -1
  2051. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +30 -9
  2052. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +123 -44
  2053. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +30 -20
  2054. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +4 -0
  2055. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +80 -43
  2056. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +120 -62
  2057. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c +79 -0
  2058. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +176 -18
  2059. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +93 -107
  2060. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +91 -113
  2061. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +50 -86
  2062. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +401 -239
  2063. data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c +219 -121
  2064. data/third_party/boringssl-with-bazel/src/crypto/hrss/internal.h +9 -2
  2065. data/third_party/boringssl-with-bazel/src/crypto/internal.h +125 -0
  2066. data/third_party/boringssl-with-bazel/src/crypto/lhash/internal.h +253 -0
  2067. data/third_party/boringssl-with-bazel/src/crypto/lhash/lhash.c +28 -23
  2068. data/third_party/boringssl-with-bazel/src/crypto/mem.c +46 -9
  2069. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +10 -6
  2070. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.c +0 -9
  2071. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.c +0 -2
  2072. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +0 -8
  2073. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c +0 -2
  2074. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c +0 -4
  2075. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/internal.h +16 -7
  2076. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.c +38 -4
  2077. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +156 -15
  2078. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +0 -1
  2079. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +1 -1
  2080. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +96 -49
  2081. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c +11 -8
  2082. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.c +13 -11
  2083. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.c +4 -0
  2084. data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +5 -1
  2085. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.c +59 -22
  2086. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c +4 -0
  2087. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/fuchsia.c +4 -0
  2088. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c +34 -0
  2089. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +5 -1
  2090. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c +4 -0
  2091. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_asn1.c +1 -2
  2092. data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c +6 -6
  2093. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +7 -13
  2094. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +0 -28
  2095. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +118 -49
  2096. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +267 -95
  2097. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +210 -34
  2098. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +766 -0
  2099. data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.c +15 -11
  2100. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +7 -5
  2101. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +2 -18
  2102. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +1 -0
  2103. data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.c +2 -0
  2104. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +351 -13
  2105. data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.c +246 -0
  2106. data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c +20 -5
  2107. data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c +13 -8
  2108. data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +2 -0
  2109. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +1 -180
  2110. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.c +7 -2
  2111. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +24 -47
  2112. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +11 -33
  2113. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c +29 -23
  2114. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +1 -5
  2115. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c +2 -1
  2116. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +42 -89
  2117. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +41 -27
  2118. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +5 -3
  2119. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.c +67 -67
  2120. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +29 -26
  2121. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +54 -104
  2122. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +54 -74
  2123. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +74 -25
  2124. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +11 -12
  2125. data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.c +3 -0
  2126. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +21 -19
  2127. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c +13 -26
  2128. data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +21 -34
  2129. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +17 -15
  2130. data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.c +2 -0
  2131. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +49 -59
  2132. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pkey.c +2 -2
  2133. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +25 -22
  2134. data/third_party/boringssl-with-bazel/src/crypto/x509/x_req.c +5 -8
  2135. data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c +5 -0
  2136. data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +2 -0
  2137. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +49 -11
  2138. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +5 -2
  2139. data/third_party/boringssl-with-bazel/src/crypto/x509v3/ext_dat.h +1 -4
  2140. data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +239 -11
  2141. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_cache.c +2 -1
  2142. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_data.c +7 -5
  2143. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_lib.c +1 -1
  2144. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_map.c +2 -1
  2145. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_node.c +1 -1
  2146. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_tree.c +5 -4
  2147. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akey.c +27 -8
  2148. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c +43 -32
  2149. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_bitst.c +6 -3
  2150. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c +33 -28
  2151. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +10 -13
  2152. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_crld.c +4 -2
  2153. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_enum.c +7 -1
  2154. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_genn.c +42 -22
  2155. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ia5.c +3 -4
  2156. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_info.c +1 -1
  2157. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +48 -40
  2158. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ncons.c +112 -55
  2159. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pci.c +2 -1
  2160. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c +15 -14
  2161. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +57 -10
  2162. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +8 -7
  2163. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +86 -44
  2164. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +25 -4
  2165. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +76 -9
  2166. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +1794 -666
  2167. data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +5 -179
  2168. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +67 -15
  2169. data/third_party/boringssl-with-bazel/src/include/openssl/base64.h +8 -0
  2170. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +7 -1
  2171. data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +62 -0
  2172. data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +3 -3
  2173. data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +32 -7
  2174. data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +1 -1
  2175. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +42 -7
  2176. data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +8 -5
  2177. data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +22 -32
  2178. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +25 -5
  2179. data/third_party/boringssl-with-bazel/src/include/openssl/des.h +6 -0
  2180. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +66 -32
  2181. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +19 -2
  2182. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +27 -41
  2183. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +20 -2
  2184. data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +12 -27
  2185. data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +41 -10
  2186. data/third_party/boringssl-with-bazel/src/include/openssl/err.h +3 -2
  2187. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +70 -106
  2188. data/third_party/boringssl-with-bazel/src/include/openssl/evp_errors.h +99 -0
  2189. data/third_party/boringssl-with-bazel/src/include/openssl/hkdf.h +4 -0
  2190. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +350 -0
  2191. data/third_party/boringssl-with-bazel/src/include/openssl/hrss.h +14 -12
  2192. data/third_party/boringssl-with-bazel/src/include/openssl/lhash.h +4 -205
  2193. data/third_party/boringssl-with-bazel/src/include/openssl/mem.h +12 -3
  2194. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +26 -6
  2195. data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +3 -0
  2196. data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +194 -146
  2197. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +42 -18
  2198. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +15 -2
  2199. data/third_party/boringssl-with-bazel/src/include/openssl/pool.h +7 -1
  2200. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +5 -2
  2201. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +128 -91
  2202. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +39 -16
  2203. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +499 -122
  2204. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +52 -36
  2205. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +42 -14
  2206. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +1554 -427
  2207. data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +16 -679
  2208. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +642 -452
  2209. data/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc +18 -5
  2210. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +16 -18
  2211. data/third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc +1 -1
  2212. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +1084 -0
  2213. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +4325 -0
  2214. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +333 -22
  2215. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +99 -51
  2216. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +315 -219
  2217. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +178 -36
  2218. data/third_party/boringssl-with-bazel/src/ssl/internal.h +533 -159
  2219. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +9 -3
  2220. data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +0 -2
  2221. data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +14 -19
  2222. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +49 -9
  2223. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +4 -6
  2224. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +10 -11
  2225. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +34 -31
  2226. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +129 -110
  2227. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +2 -0
  2228. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +147 -118
  2229. data/third_party/boringssl-with-bazel/src/ssl/ssl_stat.cc +3 -0
  2230. data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +12 -17
  2231. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +11 -3
  2232. data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +28 -23
  2233. data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +5 -7
  2234. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +80 -36
  2235. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +285 -190
  2236. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +160 -91
  2237. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +381 -136
  2238. data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +4 -2
  2239. data/third_party/cares/cares/include/ares.h +742 -0
  2240. data/third_party/cares/cares/include/ares_dns.h +112 -0
  2241. data/third_party/cares/cares/include/ares_version.h +24 -0
  2242. data/third_party/cares/cares/src/lib/ares__close_sockets.c +61 -0
  2243. data/third_party/cares/cares/src/lib/ares__get_hostent.c +260 -0
  2244. data/third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c +260 -0
  2245. data/third_party/cares/cares/src/lib/ares__readaddrinfo.c +264 -0
  2246. data/third_party/cares/cares/src/lib/ares__sortaddrinfo.c +499 -0
  2247. data/third_party/cares/cares/src/lib/ares_android.c +444 -0
  2248. data/third_party/cares/cares/src/lib/ares_android.h +27 -0
  2249. data/third_party/cares/cares/src/lib/ares_create_query.c +197 -0
  2250. data/third_party/cares/cares/src/lib/ares_data.c +240 -0
  2251. data/third_party/cares/cares/src/lib/ares_data.h +74 -0
  2252. data/third_party/cares/cares/src/lib/ares_expand_name.c +300 -0
  2253. data/third_party/cares/cares/src/lib/ares_expand_string.c +67 -0
  2254. data/third_party/cares/cares/src/lib/ares_free_hostent.c +43 -0
  2255. data/third_party/cares/cares/src/lib/ares_freeaddrinfo.c +59 -0
  2256. data/third_party/cares/cares/src/lib/ares_getaddrinfo.c +772 -0
  2257. data/third_party/cares/cares/src/lib/ares_getenv.c +28 -0
  2258. data/third_party/cares/cares/src/lib/ares_gethostbyaddr.c +287 -0
  2259. data/third_party/cares/cares/src/lib/ares_gethostbyname.c +534 -0
  2260. data/third_party/cares/cares/src/lib/ares_getnameinfo.c +447 -0
  2261. data/third_party/cares/cares/src/lib/ares_init.c +2654 -0
  2262. data/third_party/cares/cares/src/lib/ares_ipv6.h +85 -0
  2263. data/third_party/cares/cares/src/lib/ares_library_init.c +200 -0
  2264. data/third_party/cares/cares/src/lib/ares_library_init.h +43 -0
  2265. data/third_party/cares/cares/src/lib/ares_nameser.h +482 -0
  2266. data/third_party/cares/cares/src/lib/ares_parse_a_reply.c +209 -0
  2267. data/third_party/cares/cares/src/lib/ares_parse_aaaa_reply.c +212 -0
  2268. data/third_party/cares/cares/src/lib/ares_parse_caa_reply.c +199 -0
  2269. data/third_party/cares/cares/src/lib/ares_parse_mx_reply.c +164 -0
  2270. data/third_party/cares/cares/src/lib/ares_parse_naptr_reply.c +183 -0
  2271. data/third_party/cares/cares/src/lib/ares_parse_ns_reply.c +177 -0
  2272. data/third_party/cares/cares/src/lib/ares_parse_ptr_reply.c +228 -0
  2273. data/third_party/cares/cares/src/lib/ares_parse_soa_reply.c +179 -0
  2274. data/third_party/cares/cares/src/lib/ares_parse_srv_reply.c +168 -0
  2275. data/third_party/cares/cares/src/lib/ares_parse_txt_reply.c +214 -0
  2276. data/third_party/cares/cares/src/lib/ares_private.h +423 -0
  2277. data/third_party/cares/cares/src/lib/ares_process.c +1548 -0
  2278. data/third_party/cares/cares/src/lib/ares_query.c +180 -0
  2279. data/third_party/cares/cares/src/lib/ares_search.c +321 -0
  2280. data/third_party/cares/cares/src/lib/ares_send.c +131 -0
  2281. data/third_party/cares/cares/src/lib/ares_setup.h +220 -0
  2282. data/third_party/cares/cares/src/lib/ares_strsplit.c +178 -0
  2283. data/third_party/cares/cares/src/lib/ares_writev.h +36 -0
  2284. data/third_party/cares/cares/src/lib/config-dos.h +115 -0
  2285. data/third_party/cares/cares/src/lib/inet_net_pton.c +444 -0
  2286. data/third_party/cares/cares/src/lib/inet_ntop.c +201 -0
  2287. data/third_party/re2/re2/bitstate.cc +3 -3
  2288. data/third_party/re2/re2/compile.cc +91 -109
  2289. data/third_party/re2/re2/dfa.cc +40 -52
  2290. data/third_party/re2/re2/filtered_re2.cc +18 -2
  2291. data/third_party/re2/re2/filtered_re2.h +10 -5
  2292. data/third_party/re2/re2/nfa.cc +5 -5
  2293. data/third_party/re2/re2/onepass.cc +2 -2
  2294. data/third_party/re2/re2/parse.cc +42 -23
  2295. data/third_party/re2/re2/perl_groups.cc +34 -34
  2296. data/third_party/re2/re2/prefilter.cc +3 -2
  2297. data/third_party/re2/re2/prefilter_tree.cc +27 -59
  2298. data/third_party/re2/re2/prefilter_tree.h +3 -2
  2299. data/third_party/re2/re2/prog.cc +193 -6
  2300. data/third_party/re2/re2/prog.h +45 -14
  2301. data/third_party/re2/re2/re2.cc +93 -129
  2302. data/third_party/re2/re2/re2.h +156 -141
  2303. data/third_party/re2/re2/regexp.cc +13 -7
  2304. data/third_party/re2/re2/regexp.h +8 -2
  2305. data/third_party/re2/re2/set.cc +31 -9
  2306. data/third_party/re2/re2/set.h +9 -4
  2307. data/third_party/re2/re2/simplify.cc +11 -3
  2308. data/third_party/re2/re2/stringpiece.h +10 -7
  2309. data/third_party/re2/re2/tostring.cc +1 -1
  2310. data/third_party/re2/re2/unicode_casefold.cc +25 -11
  2311. data/third_party/re2/re2/unicode_groups.cc +319 -151
  2312. data/third_party/re2/re2/walker-inl.h +4 -3
  2313. data/third_party/re2/util/mutex.h +6 -6
  2314. data/third_party/re2/util/pcre.h +3 -3
  2315. data/third_party/upb/third_party/utf8_range/naive.c +92 -0
  2316. data/third_party/upb/third_party/utf8_range/range2-neon.c +157 -0
  2317. data/third_party/upb/third_party/utf8_range/range2-sse.c +170 -0
  2318. data/third_party/upb/third_party/utf8_range/utf8_range.h +9 -0
  2319. data/third_party/upb/upb/arena.c +277 -0
  2320. data/third_party/upb/upb/arena.h +225 -0
  2321. data/third_party/upb/upb/array.c +114 -0
  2322. data/third_party/upb/upb/array.h +83 -0
  2323. data/third_party/upb/upb/collections.h +36 -0
  2324. data/third_party/upb/upb/decode.c +979 -379
  2325. data/third_party/upb/upb/decode.h +80 -6
  2326. data/third_party/upb/upb/decode_fast.c +1055 -0
  2327. data/third_party/upb/upb/decode_fast.h +153 -0
  2328. data/third_party/upb/upb/def.c +3269 -0
  2329. data/third_party/upb/upb/def.h +416 -0
  2330. data/third_party/upb/upb/def.hpp +441 -0
  2331. data/third_party/upb/upb/encode.c +439 -246
  2332. data/third_party/upb/upb/encode.h +66 -6
  2333. data/third_party/upb/upb/extension_registry.c +93 -0
  2334. data/third_party/upb/upb/extension_registry.h +84 -0
  2335. data/third_party/upb/upb/internal/decode.h +211 -0
  2336. data/third_party/upb/upb/internal/table.h +385 -0
  2337. data/third_party/upb/upb/internal/upb.h +68 -0
  2338. data/third_party/upb/upb/internal/vsnprintf_compat.h +52 -0
  2339. data/third_party/upb/upb/json_decode.c +1512 -0
  2340. data/third_party/upb/upb/json_decode.h +47 -0
  2341. data/third_party/upb/upb/json_encode.c +780 -0
  2342. data/third_party/upb/upb/json_encode.h +65 -0
  2343. data/third_party/upb/upb/map.c +108 -0
  2344. data/third_party/upb/upb/map.h +117 -0
  2345. data/third_party/upb/upb/message_value.h +66 -0
  2346. data/third_party/upb/upb/mini_table.c +1147 -0
  2347. data/third_party/upb/upb/mini_table.h +189 -0
  2348. data/third_party/upb/upb/mini_table.hpp +112 -0
  2349. data/third_party/upb/upb/msg.c +291 -100
  2350. data/third_party/upb/upb/msg.h +48 -450
  2351. data/third_party/upb/upb/msg_internal.h +837 -0
  2352. data/third_party/upb/upb/port_def.inc +166 -83
  2353. data/third_party/upb/upb/port_undef.inc +43 -8
  2354. data/third_party/upb/upb/reflection.c +323 -0
  2355. data/third_party/upb/upb/reflection.h +110 -0
  2356. data/third_party/upb/upb/reflection.hpp +37 -0
  2357. data/third_party/upb/upb/status.c +86 -0
  2358. data/third_party/upb/upb/status.h +66 -0
  2359. data/third_party/upb/upb/table.c +422 -376
  2360. data/third_party/upb/upb/table_internal.h +36 -0
  2361. data/third_party/upb/upb/text_encode.c +473 -0
  2362. data/third_party/upb/upb/text_encode.h +64 -0
  2363. data/third_party/upb/upb/upb.c +56 -267
  2364. data/third_party/upb/upb/upb.h +115 -239
  2365. data/third_party/upb/upb/upb.hpp +51 -24
  2366. data/third_party/xxhash/xxhash.h +5580 -0
  2367. data/third_party/zlib/compress.c +3 -3
  2368. data/third_party/zlib/crc32.c +975 -292
  2369. data/third_party/zlib/crc32.h +9441 -436
  2370. data/third_party/zlib/deflate.c +183 -129
  2371. data/third_party/zlib/deflate.h +12 -15
  2372. data/third_party/zlib/gzguts.h +3 -2
  2373. data/third_party/zlib/gzlib.c +6 -4
  2374. data/third_party/zlib/gzread.c +8 -12
  2375. data/third_party/zlib/gzwrite.c +26 -14
  2376. data/third_party/zlib/infback.c +12 -8
  2377. data/third_party/zlib/inffast.c +14 -14
  2378. data/third_party/zlib/inflate.c +44 -10
  2379. data/third_party/zlib/inflate.h +3 -2
  2380. data/third_party/zlib/inftrees.c +3 -3
  2381. data/third_party/zlib/inftrees.h +1 -1
  2382. data/third_party/zlib/trees.c +85 -107
  2383. data/third_party/zlib/uncompr.c +2 -2
  2384. data/third_party/zlib/zconf.h +16 -3
  2385. data/third_party/zlib/zlib.h +129 -106
  2386. data/third_party/zlib/zutil.c +11 -9
  2387. data/third_party/zlib/zutil.h +13 -9
  2388. metadata +1180 -323
  2389. data/include/grpc/impl/codegen/gpr_slice.h +0 -69
  2390. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +0 -389
  2391. data/src/core/ext/filters/client_channel/http_connect_handshaker.h +0 -34
  2392. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +0 -45
  2393. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +0 -85
  2394. data/src/core/ext/filters/client_channel/lb_policy/xds/eds.cc +0 -946
  2395. data/src/core/ext/filters/client_channel/lb_policy/xds/lrs.cc +0 -537
  2396. data/src/core/ext/filters/client_channel/lb_policy/xds/xds.h +0 -32
  2397. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_routing.cc +0 -1141
  2398. data/src/core/ext/filters/client_channel/lb_policy.cc +0 -138
  2399. data/src/core/ext/filters/client_channel/lb_policy.h +0 -425
  2400. data/src/core/ext/filters/client_channel/lb_policy_factory.h +0 -47
  2401. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +0 -181
  2402. data/src/core/ext/filters/client_channel/lb_policy_registry.h +0 -65
  2403. data/src/core/ext/filters/client_channel/proxy_mapper.h +0 -54
  2404. data/src/core/ext/filters/client_channel/proxy_mapper_registry.cc +0 -89
  2405. data/src/core/ext/filters/client_channel/proxy_mapper_registry.h +0 -50
  2406. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.cc +0 -485
  2407. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc +0 -179
  2408. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc +0 -68
  2409. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc +0 -38
  2410. data/src/core/ext/filters/client_channel/resolver.cc +0 -85
  2411. data/src/core/ext/filters/client_channel/resolver.h +0 -144
  2412. data/src/core/ext/filters/client_channel/resolver_factory.h +0 -73
  2413. data/src/core/ext/filters/client_channel/resolver_registry.cc +0 -196
  2414. data/src/core/ext/filters/client_channel/resolver_registry.h +0 -89
  2415. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +0 -442
  2416. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +0 -126
  2417. data/src/core/ext/filters/client_channel/resolving_lb_policy.cc +0 -354
  2418. data/src/core/ext/filters/client_channel/resolving_lb_policy.h +0 -142
  2419. data/src/core/ext/filters/client_channel/server_address.cc +0 -81
  2420. data/src/core/ext/filters/client_channel/server_address.h +0 -128
  2421. data/src/core/ext/filters/client_channel/service_config.cc +0 -221
  2422. data/src/core/ext/filters/client_channel/service_config.h +0 -123
  2423. data/src/core/ext/filters/client_channel/service_config_call_data.h +0 -68
  2424. data/src/core/ext/filters/client_channel/service_config_parser.cc +0 -87
  2425. data/src/core/ext/filters/client_channel/service_config_parser.h +0 -89
  2426. data/src/core/ext/filters/client_channel/subchannel_interface.h +0 -94
  2427. data/src/core/ext/filters/client_idle/client_idle_filter.cc +0 -440
  2428. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +0 -546
  2429. data/src/core/ext/filters/http/message_compress/message_compress_filter.h +0 -53
  2430. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +0 -399
  2431. data/src/core/ext/filters/http/message_compress/message_decompress_filter.h +0 -31
  2432. data/src/core/ext/filters/max_age/max_age_filter.cc +0 -557
  2433. data/src/core/ext/filters/max_age/max_age_filter.h +0 -26
  2434. data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +0 -210
  2435. data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h +0 -27
  2436. data/src/core/ext/filters/workarounds/workaround_utils.cc +0 -53
  2437. data/src/core/ext/filters/workarounds/workaround_utils.h +0 -39
  2438. data/src/core/ext/transport/chttp2/client/authority.cc +0 -42
  2439. data/src/core/ext/transport/chttp2/client/authority.h +0 -36
  2440. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +0 -112
  2441. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +0 -79
  2442. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +0 -200
  2443. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +0 -45
  2444. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +0 -69
  2445. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +0 -86
  2446. data/src/core/ext/transport/chttp2/transport/chttp2_plugin.cc +0 -37
  2447. data/src/core/ext/transport/chttp2/transport/hpack_table.cc +0 -242
  2448. data/src/core/ext/transport/chttp2/transport/hpack_table.h +0 -148
  2449. data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +0 -66
  2450. data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +0 -58
  2451. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c +0 -27
  2452. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +0 -49
  2453. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c +0 -30
  2454. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +0 -49
  2455. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c +0 -30
  2456. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +0 -49
  2457. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c +0 -29
  2458. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +0 -49
  2459. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c +0 -27
  2460. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +0 -49
  2461. data/src/core/ext/upb-generated/gogoproto/gogo.upb.c +0 -17
  2462. data/src/core/ext/upb-generated/gogoproto/gogo.upb.h +0 -29
  2463. data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c +0 -58
  2464. data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h +0 -117
  2465. data/src/core/ext/xds/xds_channel.h +0 -46
  2466. data/src/core/ext/xds/xds_channel_secure.cc +0 -103
  2467. data/src/core/lib/avl/avl.cc +0 -306
  2468. data/src/core/lib/channel/handshaker.cc +0 -262
  2469. data/src/core/lib/channel/handshaker.h +0 -179
  2470. data/src/core/lib/channel/handshaker_factory.h +0 -42
  2471. data/src/core/lib/channel/handshaker_registry.cc +0 -105
  2472. data/src/core/lib/channel/handshaker_registry.h +0 -54
  2473. data/src/core/lib/compression/algorithm_metadata.h +0 -61
  2474. data/src/core/lib/compression/compression_args.cc +0 -134
  2475. data/src/core/lib/compression/compression_args.h +0 -56
  2476. data/src/core/lib/compression/stream_compression.cc +0 -80
  2477. data/src/core/lib/compression/stream_compression.h +0 -116
  2478. data/src/core/lib/compression/stream_compression_gzip.cc +0 -230
  2479. data/src/core/lib/compression/stream_compression_gzip.h +0 -28
  2480. data/src/core/lib/compression/stream_compression_identity.cc +0 -92
  2481. data/src/core/lib/compression/stream_compression_identity.h +0 -29
  2482. data/src/core/lib/gpr/arena.h +0 -47
  2483. data/src/core/lib/gpr/env.h +0 -40
  2484. data/src/core/lib/gpr/env_linux.cc +0 -76
  2485. data/src/core/lib/gpr/env_posix.cc +0 -47
  2486. data/src/core/lib/gpr/env_windows.cc +0 -74
  2487. data/src/core/lib/gpr/murmur_hash.cc +0 -80
  2488. data/src/core/lib/gpr/murmur_hash.h +0 -29
  2489. data/src/core/lib/gpr/string_windows.h +0 -32
  2490. data/src/core/lib/gpr/tls.h +0 -68
  2491. data/src/core/lib/gpr/tls_gcc.h +0 -52
  2492. data/src/core/lib/gpr/tls_msvc.h +0 -52
  2493. data/src/core/lib/gpr/tls_pthread.cc +0 -30
  2494. data/src/core/lib/gpr/tls_pthread.h +0 -56
  2495. data/src/core/lib/gprpp/arena.cc +0 -103
  2496. data/src/core/lib/gprpp/arena.h +0 -120
  2497. data/src/core/lib/gprpp/atomic.h +0 -104
  2498. data/src/core/lib/gprpp/map.h +0 -53
  2499. data/src/core/lib/iomgr/endpoint_pair_uv.cc +0 -40
  2500. data/src/core/lib/iomgr/error_internal.h +0 -61
  2501. data/src/core/lib/iomgr/ev_epollex_linux.cc +0 -1650
  2502. data/src/core/lib/iomgr/ev_epollex_linux.h +0 -30
  2503. data/src/core/lib/iomgr/executor/mpmcqueue.cc +0 -183
  2504. data/src/core/lib/iomgr/executor/mpmcqueue.h +0 -175
  2505. data/src/core/lib/iomgr/executor/threadpool.cc +0 -137
  2506. data/src/core/lib/iomgr/executor/threadpool.h +0 -149
  2507. data/src/core/lib/iomgr/iomgr_custom.cc +0 -79
  2508. data/src/core/lib/iomgr/iomgr_custom.h +0 -49
  2509. data/src/core/lib/iomgr/iomgr_posix.h +0 -26
  2510. data/src/core/lib/iomgr/iomgr_uv.cc +0 -43
  2511. data/src/core/lib/iomgr/is_epollexclusive_available.cc +0 -119
  2512. data/src/core/lib/iomgr/is_epollexclusive_available.h +0 -36
  2513. data/src/core/lib/iomgr/parse_address.cc +0 -238
  2514. data/src/core/lib/iomgr/parse_address.h +0 -53
  2515. data/src/core/lib/iomgr/poller/eventmanager_libuv.cc +0 -87
  2516. data/src/core/lib/iomgr/poller/eventmanager_libuv.h +0 -88
  2517. data/src/core/lib/iomgr/pollset_custom.cc +0 -106
  2518. data/src/core/lib/iomgr/pollset_custom.h +0 -35
  2519. data/src/core/lib/iomgr/pollset_set_custom.cc +0 -48
  2520. data/src/core/lib/iomgr/pollset_set_custom.h +0 -26
  2521. data/src/core/lib/iomgr/pollset_uv.cc +0 -93
  2522. data/src/core/lib/iomgr/pollset_uv.h +0 -32
  2523. data/src/core/lib/iomgr/resolve_address_custom.cc +0 -168
  2524. data/src/core/lib/iomgr/resolve_address_custom.h +0 -45
  2525. data/src/core/lib/iomgr/resource_quota.cc +0 -1016
  2526. data/src/core/lib/iomgr/resource_quota.h +0 -177
  2527. data/src/core/lib/iomgr/sockaddr_custom.h +0 -54
  2528. data/src/core/lib/iomgr/sockaddr_utils.cc +0 -296
  2529. data/src/core/lib/iomgr/sockaddr_utils.h +0 -80
  2530. data/src/core/lib/iomgr/socket_utils_uv.cc +0 -49
  2531. data/src/core/lib/iomgr/sys_epoll_wrapper.h +0 -30
  2532. data/src/core/lib/iomgr/tcp_client_custom.cc +0 -160
  2533. data/src/core/lib/iomgr/tcp_custom.cc +0 -386
  2534. data/src/core/lib/iomgr/tcp_custom.h +0 -84
  2535. data/src/core/lib/iomgr/tcp_server_custom.cc +0 -477
  2536. data/src/core/lib/iomgr/tcp_uv.cc +0 -419
  2537. data/src/core/lib/iomgr/time_averaged_stats.cc +0 -64
  2538. data/src/core/lib/iomgr/time_averaged_stats.h +0 -72
  2539. data/src/core/lib/iomgr/timer_custom.cc +0 -95
  2540. data/src/core/lib/iomgr/timer_custom.h +0 -43
  2541. data/src/core/lib/iomgr/timer_uv.cc +0 -66
  2542. data/src/core/lib/iomgr/udp_server.cc +0 -748
  2543. data/src/core/lib/iomgr/udp_server.h +0 -104
  2544. data/src/core/lib/iomgr/work_serializer.cc +0 -155
  2545. data/src/core/lib/iomgr/work_serializer.h +0 -65
  2546. data/src/core/lib/profiling/basic_timers.cc +0 -293
  2547. data/src/core/lib/profiling/stap_timers.cc +0 -50
  2548. data/src/core/lib/profiling/timers.h +0 -94
  2549. data/src/core/lib/security/authorization/authorization_engine.cc +0 -177
  2550. data/src/core/lib/security/authorization/mock_cel/activation.h +0 -57
  2551. data/src/core/lib/security/authorization/mock_cel/cel_expr_builder_factory.h +0 -42
  2552. data/src/core/lib/security/authorization/mock_cel/cel_expression.h +0 -68
  2553. data/src/core/lib/security/authorization/mock_cel/cel_value.h +0 -93
  2554. data/src/core/lib/security/authorization/mock_cel/evaluator_core.h +0 -67
  2555. data/src/core/lib/security/authorization/mock_cel/flat_expr_builder.h +0 -56
  2556. data/src/core/lib/security/authorization/mock_cel/statusor.h +0 -50
  2557. data/src/core/lib/security/credentials/credentials_metadata.cc +0 -62
  2558. data/src/core/lib/security/security_connector/load_system_roots_linux.cc +0 -171
  2559. data/src/core/lib/security/security_connector/load_system_roots_linux.h +0 -44
  2560. data/src/core/lib/slice/slice_intern.cc +0 -375
  2561. data/src/core/lib/slice/slice_utils.h +0 -200
  2562. data/src/core/lib/surface/init_secure.cc +0 -81
  2563. data/src/core/lib/transport/authority_override.cc +0 -38
  2564. data/src/core/lib/transport/authority_override.h +0 -32
  2565. data/src/core/lib/transport/byte_stream.cc +0 -158
  2566. data/src/core/lib/transport/byte_stream.h +0 -165
  2567. data/src/core/lib/transport/metadata.cc +0 -679
  2568. data/src/core/lib/transport/metadata.h +0 -446
  2569. data/src/core/lib/transport/static_metadata.cc +0 -1249
  2570. data/src/core/lib/transport/static_metadata.h +0 -604
  2571. data/src/core/lib/transport/status_metadata.cc +0 -61
  2572. data/src/core/lib/transport/status_metadata.h +0 -48
  2573. data/third_party/abseil-cpp/absl/base/dynamic_annotations.cc +0 -129
  2574. data/third_party/abseil-cpp/absl/base/internal/bits.h +0 -218
  2575. data/third_party/abseil-cpp/absl/base/internal/exponential_biased.cc +0 -93
  2576. data/third_party/abseil-cpp/absl/base/internal/exponential_biased.h +0 -130
  2577. data/third_party/abseil-cpp/absl/container/internal/have_sse.h +0 -49
  2578. data/third_party/abseil-cpp/absl/synchronization/internal/mutex_nonprod.inc +0 -261
  2579. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_locl.h +0 -104
  2580. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_enum.c +0 -93
  2581. data/third_party/boringssl-with-bazel/src/crypto/dh/dh.c +0 -533
  2582. data/third_party/boringssl-with-bazel/src/crypto/dh/params.c +0 -93
  2583. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/is_fips.c +0 -29
  2584. data/third_party/boringssl-with-bazel/src/crypto/hpke/internal.h +0 -192
  2585. data/third_party/boringssl-with-bazel/src/crypto/x509/a_strex.c +0 -653
  2586. data/third_party/boringssl-with-bazel/src/crypto/x509/vpm_int.h +0 -71
  2587. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_r2x.c +0 -116
  2588. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_int.h +0 -217
  2589. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pku.c +0 -110
  2590. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_sxnet.c +0 -274
  2591. data/third_party/boringssl-with-bazel/src/ssl/t1_lib.cc +0 -3895
  2592. data/third_party/cares/cares/ares.h +0 -670
  2593. data/third_party/cares/cares/ares__close_sockets.c +0 -61
  2594. data/third_party/cares/cares/ares__get_hostent.c +0 -261
  2595. data/third_party/cares/cares/ares_create_query.c +0 -206
  2596. data/third_party/cares/cares/ares_data.c +0 -222
  2597. data/third_party/cares/cares/ares_data.h +0 -72
  2598. data/third_party/cares/cares/ares_dns.h +0 -103
  2599. data/third_party/cares/cares/ares_expand_name.c +0 -209
  2600. data/third_party/cares/cares/ares_expand_string.c +0 -70
  2601. data/third_party/cares/cares/ares_free_hostent.c +0 -41
  2602. data/third_party/cares/cares/ares_getenv.c +0 -30
  2603. data/third_party/cares/cares/ares_gethostbyaddr.c +0 -294
  2604. data/third_party/cares/cares/ares_gethostbyname.c +0 -529
  2605. data/third_party/cares/cares/ares_getnameinfo.c +0 -453
  2606. data/third_party/cares/cares/ares_getopt.c +0 -122
  2607. data/third_party/cares/cares/ares_getopt.h +0 -53
  2608. data/third_party/cares/cares/ares_init.c +0 -2615
  2609. data/third_party/cares/cares/ares_ipv6.h +0 -78
  2610. data/third_party/cares/cares/ares_library_init.c +0 -195
  2611. data/third_party/cares/cares/ares_library_init.h +0 -43
  2612. data/third_party/cares/cares/ares_parse_a_reply.c +0 -264
  2613. data/third_party/cares/cares/ares_parse_aaaa_reply.c +0 -264
  2614. data/third_party/cares/cares/ares_parse_mx_reply.c +0 -170
  2615. data/third_party/cares/cares/ares_parse_naptr_reply.c +0 -194
  2616. data/third_party/cares/cares/ares_parse_ns_reply.c +0 -183
  2617. data/third_party/cares/cares/ares_parse_ptr_reply.c +0 -221
  2618. data/third_party/cares/cares/ares_parse_soa_reply.c +0 -133
  2619. data/third_party/cares/cares/ares_parse_srv_reply.c +0 -179
  2620. data/third_party/cares/cares/ares_parse_txt_reply.c +0 -220
  2621. data/third_party/cares/cares/ares_private.h +0 -382
  2622. data/third_party/cares/cares/ares_process.c +0 -1473
  2623. data/third_party/cares/cares/ares_query.c +0 -186
  2624. data/third_party/cares/cares/ares_search.c +0 -323
  2625. data/third_party/cares/cares/ares_send.c +0 -137
  2626. data/third_party/cares/cares/ares_setup.h +0 -217
  2627. data/third_party/cares/cares/ares_strsplit.c +0 -174
  2628. data/third_party/cares/cares/ares_version.h +0 -24
  2629. data/third_party/cares/cares/inet_net_pton.c +0 -450
  2630. data/third_party/cares/cares/inet_ntop.c +0 -207
  2631. data/third_party/upb/upb/port.c +0 -26
  2632. data/third_party/upb/upb/table.int.h +0 -466
  2633. /data/third_party/boringssl-with-bazel/src/crypto/{x509 → asn1}/charmap.h +0 -0
  2634. /data/third_party/boringssl-with-bazel/src/crypto/{dh → dh_extra}/dh_asn1.c +0 -0
  2635. /data/third_party/boringssl-with-bazel/src/crypto/{dh → fipsmodule/dh}/check.c +0 -0
  2636. /data/third_party/cares/cares/{ares_rules.h → include/ares_rules.h} +0 -0
  2637. /data/third_party/cares/cares/{ares__read_line.c → src/lib/ares__read_line.c} +0 -0
  2638. /data/third_party/cares/cares/{ares__timeval.c → src/lib/ares__timeval.c} +0 -0
  2639. /data/third_party/cares/cares/{ares_cancel.c → src/lib/ares_cancel.c} +0 -0
  2640. /data/third_party/cares/cares/{ares_destroy.c → src/lib/ares_destroy.c} +0 -0
  2641. /data/third_party/cares/cares/{ares_fds.c → src/lib/ares_fds.c} +0 -0
  2642. /data/third_party/cares/cares/{ares_free_string.c → src/lib/ares_free_string.c} +0 -0
  2643. /data/third_party/cares/cares/{ares_getenv.h → src/lib/ares_getenv.h} +0 -0
  2644. /data/third_party/cares/cares/{ares_getsock.c → src/lib/ares_getsock.c} +0 -0
  2645. /data/third_party/cares/cares/{ares_inet_net_pton.h → src/lib/ares_inet_net_pton.h} +0 -0
  2646. /data/third_party/cares/cares/{ares_iphlpapi.h → src/lib/ares_iphlpapi.h} +0 -0
  2647. /data/third_party/cares/cares/{ares_llist.c → src/lib/ares_llist.c} +0 -0
  2648. /data/third_party/cares/cares/{ares_llist.h → src/lib/ares_llist.h} +0 -0
  2649. /data/third_party/cares/cares/{ares_mkquery.c → src/lib/ares_mkquery.c} +0 -0
  2650. /data/third_party/cares/cares/{ares_nowarn.c → src/lib/ares_nowarn.c} +0 -0
  2651. /data/third_party/cares/cares/{ares_nowarn.h → src/lib/ares_nowarn.h} +0 -0
  2652. /data/third_party/cares/cares/{ares_options.c → src/lib/ares_options.c} +0 -0
  2653. /data/third_party/cares/cares/{ares_platform.c → src/lib/ares_platform.c} +0 -0
  2654. /data/third_party/cares/cares/{ares_platform.h → src/lib/ares_platform.h} +0 -0
  2655. /data/third_party/cares/cares/{ares_strcasecmp.c → src/lib/ares_strcasecmp.c} +0 -0
  2656. /data/third_party/cares/cares/{ares_strcasecmp.h → src/lib/ares_strcasecmp.h} +0 -0
  2657. /data/third_party/cares/cares/{ares_strdup.c → src/lib/ares_strdup.c} +0 -0
  2658. /data/third_party/cares/cares/{ares_strdup.h → src/lib/ares_strdup.h} +0 -0
  2659. /data/third_party/cares/cares/{ares_strerror.c → src/lib/ares_strerror.c} +0 -0
  2660. /data/third_party/cares/cares/{ares_strsplit.h → src/lib/ares_strsplit.h} +0 -0
  2661. /data/third_party/cares/cares/{ares_timeout.c → src/lib/ares_timeout.c} +0 -0
  2662. /data/third_party/cares/cares/{ares_version.c → src/lib/ares_version.c} +0 -0
  2663. /data/third_party/cares/cares/{ares_writev.c → src/lib/ares_writev.c} +0 -0
  2664. /data/third_party/cares/cares/{bitncmp.c → src/lib/bitncmp.c} +0 -0
  2665. /data/third_party/cares/cares/{bitncmp.h → src/lib/bitncmp.h} +0 -0
  2666. /data/third_party/cares/cares/{config-win32.h → src/lib/config-win32.h} +0 -0
  2667. /data/third_party/cares/cares/{setup_once.h → src/lib/setup_once.h} +0 -0
  2668. /data/third_party/cares/cares/{windows_port.c → src/lib/windows_port.c} +0 -0
@@ -1,389 +1,471 @@
1
- /*
2
- * Copyright 2017 The Abseil Authors.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * https://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- /* This file defines dynamic annotations for use with dynamic analysis
17
- tool such as valgrind, PIN, etc.
18
-
19
- Dynamic annotation is a source code annotation that affects
20
- the generated code (that is, the annotation is not a comment).
21
- Each such annotation is attached to a particular
22
- instruction and/or to a particular object (address) in the program.
23
-
24
- The annotations that should be used by users are macros in all upper-case
25
- (e.g., ANNOTATE_THREAD_NAME).
26
-
27
- Actual implementation of these macros may differ depending on the
28
- dynamic analysis tool being used.
29
-
30
- This file supports the following configurations:
31
- - Dynamic Annotations enabled (with static thread-safety warnings disabled).
32
- In this case, macros expand to functions implemented by Thread Sanitizer,
33
- when building with TSan. When not provided an external implementation,
34
- dynamic_annotations.cc provides no-op implementations.
35
-
36
- - Static Clang thread-safety warnings enabled.
37
- When building with a Clang compiler that supports thread-safety warnings,
38
- a subset of annotations can be statically-checked at compile-time. We
39
- expand these macros to static-inline functions that can be analyzed for
40
- thread-safety, but afterwards elided when building the final binary.
41
-
42
- - All annotations are disabled.
43
- If neither Dynamic Annotations nor Clang thread-safety warnings are
44
- enabled, then all annotation-macros expand to empty. */
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
+ // This file defines dynamic annotations for use with dynamic analysis tool
16
+ // such as valgrind, PIN, etc.
17
+ //
18
+ // Dynamic annotation is a source code annotation that affects the generated
19
+ // code (that is, the annotation is not a comment). Each such annotation is
20
+ // attached to a particular instruction and/or to a particular object (address)
21
+ // in the program.
22
+ //
23
+ // The annotations that should be used by users are macros in all upper-case
24
+ // (e.g., ABSL_ANNOTATE_THREAD_NAME).
25
+ //
26
+ // Actual implementation of these macros may differ depending on the dynamic
27
+ // analysis tool being used.
28
+ //
29
+ // This file supports the following configurations:
30
+ // - Dynamic Annotations enabled (with static thread-safety warnings disabled).
31
+ // In this case, macros expand to functions implemented by Thread Sanitizer,
32
+ // when building with TSan. When not provided an external implementation,
33
+ // dynamic_annotations.cc provides no-op implementations.
34
+ //
35
+ // - Static Clang thread-safety warnings enabled.
36
+ // When building with a Clang compiler that supports thread-safety warnings,
37
+ // a subset of annotations can be statically-checked at compile-time. We
38
+ // expand these macros to static-inline functions that can be analyzed for
39
+ // thread-safety, but afterwards elided when building the final binary.
40
+ //
41
+ // - All annotations are disabled.
42
+ // If neither Dynamic Annotations nor Clang thread-safety warnings are
43
+ // enabled, then all annotation-macros expand to empty.
45
44
 
46
45
  #ifndef ABSL_BASE_DYNAMIC_ANNOTATIONS_H_
47
46
  #define ABSL_BASE_DYNAMIC_ANNOTATIONS_H_
48
47
 
49
- #ifndef DYNAMIC_ANNOTATIONS_ENABLED
50
- # define DYNAMIC_ANNOTATIONS_ENABLED 0
51
- #endif
48
+ #include <stddef.h>
52
49
 
53
- #if DYNAMIC_ANNOTATIONS_ENABLED != 0
54
-
55
- /* -------------------------------------------------------------
56
- Annotations that suppress errors. It is usually better to express the
57
- program's synchronization using the other annotations, but these can
58
- be used when all else fails. */
59
-
60
- /* Report that we may have a benign race at "pointer", with size
61
- "sizeof(*(pointer))". "pointer" must be a non-void* pointer. Insert at the
62
- point where "pointer" has been allocated, preferably close to the point
63
- where the race happens. See also ANNOTATE_BENIGN_RACE_STATIC. */
64
- #define ANNOTATE_BENIGN_RACE(pointer, description) \
65
- AnnotateBenignRaceSized(__FILE__, __LINE__, pointer, \
66
- sizeof(*(pointer)), description)
67
-
68
- /* Same as ANNOTATE_BENIGN_RACE(address, description), but applies to
69
- the memory range [address, address+size). */
70
- #define ANNOTATE_BENIGN_RACE_SIZED(address, size, description) \
71
- AnnotateBenignRaceSized(__FILE__, __LINE__, address, size, description)
72
-
73
- /* Enable (enable!=0) or disable (enable==0) race detection for all threads.
74
- This annotation could be useful if you want to skip expensive race analysis
75
- during some period of program execution, e.g. during initialization. */
76
- #define ANNOTATE_ENABLE_RACE_DETECTION(enable) \
77
- AnnotateEnableRaceDetection(__FILE__, __LINE__, enable)
78
-
79
- /* -------------------------------------------------------------
80
- Annotations useful for debugging. */
81
-
82
- /* Report the current thread name to a race detector. */
83
- #define ANNOTATE_THREAD_NAME(name) \
84
- AnnotateThreadName(__FILE__, __LINE__, name)
85
-
86
- /* -------------------------------------------------------------
87
- Annotations useful when implementing locks. They are not
88
- normally needed by modules that merely use locks.
89
- The "lock" argument is a pointer to the lock object. */
90
-
91
- /* Report that a lock has been created at address "lock". */
92
- #define ANNOTATE_RWLOCK_CREATE(lock) \
93
- AnnotateRWLockCreate(__FILE__, __LINE__, lock)
94
-
95
- /* Report that a linker initialized lock has been created at address "lock".
96
- */
97
- #ifdef THREAD_SANITIZER
98
- #define ANNOTATE_RWLOCK_CREATE_STATIC(lock) \
99
- AnnotateRWLockCreateStatic(__FILE__, __LINE__, lock)
100
- #else
101
- #define ANNOTATE_RWLOCK_CREATE_STATIC(lock) ANNOTATE_RWLOCK_CREATE(lock)
50
+ #include "absl/base/attributes.h"
51
+ #include "absl/base/config.h"
52
+ #ifdef __cplusplus
53
+ #include "absl/base/macros.h"
102
54
  #endif
103
55
 
104
- /* Report that the lock at address "lock" is about to be destroyed. */
105
- #define ANNOTATE_RWLOCK_DESTROY(lock) \
106
- AnnotateRWLockDestroy(__FILE__, __LINE__, lock)
56
+ // TODO(rogeeff): Remove after the backward compatibility period.
57
+ #include "absl/base/internal/dynamic_annotations.h" // IWYU pragma: export
107
58
 
108
- /* Report that the lock at address "lock" has been acquired.
109
- is_w=1 for writer lock, is_w=0 for reader lock. */
110
- #define ANNOTATE_RWLOCK_ACQUIRED(lock, is_w) \
111
- AnnotateRWLockAcquired(__FILE__, __LINE__, lock, is_w)
59
+ // -------------------------------------------------------------------------
60
+ // Decide which features are enabled.
112
61
 
113
- /* Report that the lock at address "lock" is about to be released. */
114
- #define ANNOTATE_RWLOCK_RELEASED(lock, is_w) \
115
- AnnotateRWLockReleased(__FILE__, __LINE__, lock, is_w)
62
+ #ifdef ABSL_HAVE_THREAD_SANITIZER
116
63
 
117
- #else /* DYNAMIC_ANNOTATIONS_ENABLED == 0 */
64
+ #define ABSL_INTERNAL_RACE_ANNOTATIONS_ENABLED 1
65
+ #define ABSL_INTERNAL_READS_ANNOTATIONS_ENABLED 1
66
+ #define ABSL_INTERNAL_WRITES_ANNOTATIONS_ENABLED 1
67
+ #define ABSL_INTERNAL_ANNOTALYSIS_ENABLED 0
68
+ #define ABSL_INTERNAL_READS_WRITES_ANNOTATIONS_ENABLED 1
118
69
 
119
- #define ANNOTATE_RWLOCK_CREATE(lock) /* empty */
120
- #define ANNOTATE_RWLOCK_CREATE_STATIC(lock) /* empty */
121
- #define ANNOTATE_RWLOCK_DESTROY(lock) /* empty */
122
- #define ANNOTATE_RWLOCK_ACQUIRED(lock, is_w) /* empty */
123
- #define ANNOTATE_RWLOCK_RELEASED(lock, is_w) /* empty */
124
- #define ANNOTATE_BENIGN_RACE(address, description) /* empty */
125
- #define ANNOTATE_BENIGN_RACE_SIZED(address, size, description) /* empty */
126
- #define ANNOTATE_THREAD_NAME(name) /* empty */
127
- #define ANNOTATE_ENABLE_RACE_DETECTION(enable) /* empty */
70
+ #else
128
71
 
129
- #endif /* DYNAMIC_ANNOTATIONS_ENABLED */
72
+ #define ABSL_INTERNAL_RACE_ANNOTATIONS_ENABLED 0
73
+ #define ABSL_INTERNAL_READS_ANNOTATIONS_ENABLED 0
74
+ #define ABSL_INTERNAL_WRITES_ANNOTATIONS_ENABLED 0
130
75
 
131
- /* These annotations are also made available to LLVM's Memory Sanitizer */
132
- #if DYNAMIC_ANNOTATIONS_ENABLED == 1 || defined(MEMORY_SANITIZER)
133
- #define ANNOTATE_MEMORY_IS_INITIALIZED(address, size) \
134
- AnnotateMemoryIsInitialized(__FILE__, __LINE__, address, size)
76
+ // Clang provides limited support for static thread-safety analysis through a
77
+ // feature called Annotalysis. We configure macro-definitions according to
78
+ // whether Annotalysis support is available. When running in opt-mode, GCC
79
+ // will issue a warning, if these attributes are compiled. Only include them
80
+ // when compiling using Clang.
135
81
 
136
- #define ANNOTATE_MEMORY_IS_UNINITIALIZED(address, size) \
137
- AnnotateMemoryIsUninitialized(__FILE__, __LINE__, address, size)
82
+ #if defined(__clang__)
83
+ #define ABSL_INTERNAL_ANNOTALYSIS_ENABLED 1
84
+ #if !defined(SWIG)
85
+ #define ABSL_INTERNAL_IGNORE_READS_ATTRIBUTE_ENABLED 1
86
+ #endif
138
87
  #else
139
- #define ANNOTATE_MEMORY_IS_INITIALIZED(address, size) /* empty */
140
- #define ANNOTATE_MEMORY_IS_UNINITIALIZED(address, size) /* empty */
141
- #endif /* DYNAMIC_ANNOTATIONS_ENABLED || MEMORY_SANITIZER */
142
-
143
- /* TODO(delesley) -- Replace __CLANG_SUPPORT_DYN_ANNOTATION__ with the
144
- appropriate feature ID. */
145
- #if defined(__clang__) && (!defined(SWIG)) \
146
- && defined(__CLANG_SUPPORT_DYN_ANNOTATION__)
147
-
148
- #if DYNAMIC_ANNOTATIONS_ENABLED == 0
149
- #define ANNOTALYSIS_ENABLED
150
- #endif
151
-
152
- /* When running in opt-mode, GCC will issue a warning, if these attributes are
153
- compiled. Only include them when compiling using Clang. */
154
- #define ATTRIBUTE_IGNORE_READS_BEGIN \
155
- __attribute((exclusive_lock_function("*")))
156
- #define ATTRIBUTE_IGNORE_READS_END \
157
- __attribute((unlock_function("*")))
88
+ #define ABSL_INTERNAL_ANNOTALYSIS_ENABLED 0
89
+ #endif
90
+
91
+ // Read/write annotations are enabled in Annotalysis mode; disabled otherwise.
92
+ #define ABSL_INTERNAL_READS_WRITES_ANNOTATIONS_ENABLED \
93
+ ABSL_INTERNAL_ANNOTALYSIS_ENABLED
94
+
95
+ #endif // ABSL_HAVE_THREAD_SANITIZER
96
+
97
+ #ifdef __cplusplus
98
+ #define ABSL_INTERNAL_BEGIN_EXTERN_C extern "C" {
99
+ #define ABSL_INTERNAL_END_EXTERN_C } // extern "C"
100
+ #define ABSL_INTERNAL_GLOBAL_SCOPED(F) ::F
101
+ #define ABSL_INTERNAL_STATIC_INLINE inline
158
102
  #else
159
- #define ATTRIBUTE_IGNORE_READS_BEGIN /* empty */
160
- #define ATTRIBUTE_IGNORE_READS_END /* empty */
161
- #endif /* defined(__clang__) && ... */
103
+ #define ABSL_INTERNAL_BEGIN_EXTERN_C // empty
104
+ #define ABSL_INTERNAL_END_EXTERN_C // empty
105
+ #define ABSL_INTERNAL_GLOBAL_SCOPED(F) F
106
+ #define ABSL_INTERNAL_STATIC_INLINE static inline
107
+ #endif
162
108
 
163
- #if (DYNAMIC_ANNOTATIONS_ENABLED != 0) || defined(ANNOTALYSIS_ENABLED)
164
- #define ANNOTATIONS_ENABLED
109
+ // -------------------------------------------------------------------------
110
+ // Define race annotations.
111
+
112
+ #if ABSL_INTERNAL_RACE_ANNOTATIONS_ENABLED == 1
113
+ // Some of the symbols used in this section (e.g. AnnotateBenignRaceSized) are
114
+ // defined by the compiler-based santizer implementation, not by the Abseil
115
+ // library. Therefore they do not use ABSL_INTERNAL_C_SYMBOL.
116
+
117
+ // -------------------------------------------------------------
118
+ // Annotations that suppress errors. It is usually better to express the
119
+ // program's synchronization using the other annotations, but these can be used
120
+ // when all else fails.
121
+
122
+ // Report that we may have a benign race at `pointer`, with size
123
+ // "sizeof(*(pointer))". `pointer` must be a non-void* pointer. Insert at the
124
+ // point where `pointer` has been allocated, preferably close to the point
125
+ // where the race happens. See also ABSL_ANNOTATE_BENIGN_RACE_STATIC.
126
+ #define ABSL_ANNOTATE_BENIGN_RACE(pointer, description) \
127
+ ABSL_INTERNAL_GLOBAL_SCOPED(AnnotateBenignRaceSized) \
128
+ (__FILE__, __LINE__, pointer, sizeof(*(pointer)), description)
129
+
130
+ // Same as ABSL_ANNOTATE_BENIGN_RACE(`address`, `description`), but applies to
131
+ // the memory range [`address`, `address`+`size`).
132
+ #define ABSL_ANNOTATE_BENIGN_RACE_SIZED(address, size, description) \
133
+ ABSL_INTERNAL_GLOBAL_SCOPED(AnnotateBenignRaceSized) \
134
+ (__FILE__, __LINE__, address, size, description)
135
+
136
+ // Enable (`enable`!=0) or disable (`enable`==0) race detection for all threads.
137
+ // This annotation could be useful if you want to skip expensive race analysis
138
+ // during some period of program execution, e.g. during initialization.
139
+ #define ABSL_ANNOTATE_ENABLE_RACE_DETECTION(enable) \
140
+ ABSL_INTERNAL_GLOBAL_SCOPED(AnnotateEnableRaceDetection) \
141
+ (__FILE__, __LINE__, enable)
142
+
143
+ // -------------------------------------------------------------
144
+ // Annotations useful for debugging.
145
+
146
+ // Report the current thread `name` to a race detector.
147
+ #define ABSL_ANNOTATE_THREAD_NAME(name) \
148
+ ABSL_INTERNAL_GLOBAL_SCOPED(AnnotateThreadName)(__FILE__, __LINE__, name)
149
+
150
+ // -------------------------------------------------------------
151
+ // Annotations useful when implementing locks. They are not normally needed by
152
+ // modules that merely use locks. The `lock` argument is a pointer to the lock
153
+ // object.
154
+
155
+ // Report that a lock has been created at address `lock`.
156
+ #define ABSL_ANNOTATE_RWLOCK_CREATE(lock) \
157
+ ABSL_INTERNAL_GLOBAL_SCOPED(AnnotateRWLockCreate)(__FILE__, __LINE__, lock)
158
+
159
+ // Report that a linker initialized lock has been created at address `lock`.
160
+ #ifdef ABSL_HAVE_THREAD_SANITIZER
161
+ #define ABSL_ANNOTATE_RWLOCK_CREATE_STATIC(lock) \
162
+ ABSL_INTERNAL_GLOBAL_SCOPED(AnnotateRWLockCreateStatic) \
163
+ (__FILE__, __LINE__, lock)
164
+ #else
165
+ #define ABSL_ANNOTATE_RWLOCK_CREATE_STATIC(lock) \
166
+ ABSL_ANNOTATE_RWLOCK_CREATE(lock)
165
167
  #endif
166
168
 
167
- #if (DYNAMIC_ANNOTATIONS_ENABLED != 0)
169
+ // Report that the lock at address `lock` is about to be destroyed.
170
+ #define ABSL_ANNOTATE_RWLOCK_DESTROY(lock) \
171
+ ABSL_INTERNAL_GLOBAL_SCOPED(AnnotateRWLockDestroy)(__FILE__, __LINE__, lock)
172
+
173
+ // Report that the lock at address `lock` has been acquired.
174
+ // `is_w`=1 for writer lock, `is_w`=0 for reader lock.
175
+ #define ABSL_ANNOTATE_RWLOCK_ACQUIRED(lock, is_w) \
176
+ ABSL_INTERNAL_GLOBAL_SCOPED(AnnotateRWLockAcquired) \
177
+ (__FILE__, __LINE__, lock, is_w)
178
+
179
+ // Report that the lock at address `lock` is about to be released.
180
+ // `is_w`=1 for writer lock, `is_w`=0 for reader lock.
181
+ #define ABSL_ANNOTATE_RWLOCK_RELEASED(lock, is_w) \
182
+ ABSL_INTERNAL_GLOBAL_SCOPED(AnnotateRWLockReleased) \
183
+ (__FILE__, __LINE__, lock, is_w)
184
+
185
+ // Apply ABSL_ANNOTATE_BENIGN_RACE_SIZED to a static variable `static_var`.
186
+ #define ABSL_ANNOTATE_BENIGN_RACE_STATIC(static_var, description) \
187
+ namespace { \
188
+ class static_var##_annotator { \
189
+ public: \
190
+ static_var##_annotator() { \
191
+ ABSL_ANNOTATE_BENIGN_RACE_SIZED(&static_var, sizeof(static_var), \
192
+ #static_var ": " description); \
193
+ } \
194
+ }; \
195
+ static static_var##_annotator the##static_var##_annotator; \
196
+ } // namespace
197
+
198
+ // Function prototypes of annotations provided by the compiler-based sanitizer
199
+ // implementation.
200
+ ABSL_INTERNAL_BEGIN_EXTERN_C
201
+ void AnnotateRWLockCreate(const char* file, int line,
202
+ const volatile void* lock);
203
+ void AnnotateRWLockCreateStatic(const char* file, int line,
204
+ const volatile void* lock);
205
+ void AnnotateRWLockDestroy(const char* file, int line,
206
+ const volatile void* lock);
207
+ void AnnotateRWLockAcquired(const char* file, int line,
208
+ const volatile void* lock, long is_w); // NOLINT
209
+ void AnnotateRWLockReleased(const char* file, int line,
210
+ const volatile void* lock, long is_w); // NOLINT
211
+ void AnnotateBenignRace(const char* file, int line,
212
+ const volatile void* address, const char* description);
213
+ void AnnotateBenignRaceSized(const char* file, int line,
214
+ const volatile void* address, size_t size,
215
+ const char* description);
216
+ void AnnotateThreadName(const char* file, int line, const char* name);
217
+ void AnnotateEnableRaceDetection(const char* file, int line, int enable);
218
+ ABSL_INTERNAL_END_EXTERN_C
219
+
220
+ #else // ABSL_INTERNAL_RACE_ANNOTATIONS_ENABLED == 0
221
+
222
+ #define ABSL_ANNOTATE_RWLOCK_CREATE(lock) // empty
223
+ #define ABSL_ANNOTATE_RWLOCK_CREATE_STATIC(lock) // empty
224
+ #define ABSL_ANNOTATE_RWLOCK_DESTROY(lock) // empty
225
+ #define ABSL_ANNOTATE_RWLOCK_ACQUIRED(lock, is_w) // empty
226
+ #define ABSL_ANNOTATE_RWLOCK_RELEASED(lock, is_w) // empty
227
+ #define ABSL_ANNOTATE_BENIGN_RACE(address, description) // empty
228
+ #define ABSL_ANNOTATE_BENIGN_RACE_SIZED(address, size, description) // empty
229
+ #define ABSL_ANNOTATE_THREAD_NAME(name) // empty
230
+ #define ABSL_ANNOTATE_ENABLE_RACE_DETECTION(enable) // empty
231
+ #define ABSL_ANNOTATE_BENIGN_RACE_STATIC(static_var, description) // empty
232
+
233
+ #endif // ABSL_INTERNAL_RACE_ANNOTATIONS_ENABLED
234
+
235
+ // -------------------------------------------------------------------------
236
+ // Define memory annotations.
237
+
238
+ #ifdef ABSL_HAVE_MEMORY_SANITIZER
239
+
240
+ #include <sanitizer/msan_interface.h>
241
+
242
+ #define ABSL_ANNOTATE_MEMORY_IS_INITIALIZED(address, size) \
243
+ __msan_unpoison(address, size)
244
+
245
+ #define ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED(address, size) \
246
+ __msan_allocated_memory(address, size)
247
+
248
+ #else // !defined(ABSL_HAVE_MEMORY_SANITIZER)
249
+
250
+ // TODO(rogeeff): remove this branch
251
+ #ifdef ABSL_HAVE_THREAD_SANITIZER
252
+ #define ABSL_ANNOTATE_MEMORY_IS_INITIALIZED(address, size) \
253
+ do { \
254
+ (void)(address); \
255
+ (void)(size); \
256
+ } while (0)
257
+ #define ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED(address, size) \
258
+ do { \
259
+ (void)(address); \
260
+ (void)(size); \
261
+ } while (0)
262
+ #else
263
+
264
+ #define ABSL_ANNOTATE_MEMORY_IS_INITIALIZED(address, size) // empty
265
+ #define ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED(address, size) // empty
266
+
267
+ #endif
268
+
269
+ #endif // ABSL_HAVE_MEMORY_SANITIZER
270
+
271
+ // -------------------------------------------------------------------------
272
+ // Define IGNORE_READS_BEGIN/_END attributes.
273
+
274
+ #if defined(ABSL_INTERNAL_IGNORE_READS_ATTRIBUTE_ENABLED)
275
+
276
+ #define ABSL_INTERNAL_IGNORE_READS_BEGIN_ATTRIBUTE \
277
+ __attribute((exclusive_lock_function("*")))
278
+ #define ABSL_INTERNAL_IGNORE_READS_END_ATTRIBUTE \
279
+ __attribute((unlock_function("*")))
280
+
281
+ #else // !defined(ABSL_INTERNAL_IGNORE_READS_ATTRIBUTE_ENABLED)
282
+
283
+ #define ABSL_INTERNAL_IGNORE_READS_BEGIN_ATTRIBUTE // empty
284
+ #define ABSL_INTERNAL_IGNORE_READS_END_ATTRIBUTE // empty
285
+
286
+ #endif // defined(ABSL_INTERNAL_IGNORE_READS_ATTRIBUTE_ENABLED)
287
+
288
+ // -------------------------------------------------------------------------
289
+ // Define IGNORE_READS_BEGIN/_END annotations.
168
290
 
169
- /* Request the analysis tool to ignore all reads in the current thread
170
- until ANNOTATE_IGNORE_READS_END is called.
171
- Useful to ignore intentional racey reads, while still checking
172
- other reads and all writes.
173
- See also ANNOTATE_UNPROTECTED_READ. */
174
- #define ANNOTATE_IGNORE_READS_BEGIN() \
175
- AnnotateIgnoreReadsBegin(__FILE__, __LINE__)
291
+ #if ABSL_INTERNAL_READS_ANNOTATIONS_ENABLED == 1
292
+ // Some of the symbols used in this section (e.g. AnnotateIgnoreReadsBegin) are
293
+ // defined by the compiler-based implementation, not by the Abseil
294
+ // library. Therefore they do not use ABSL_INTERNAL_C_SYMBOL.
176
295
 
177
- /* Stop ignoring reads. */
178
- #define ANNOTATE_IGNORE_READS_END() \
179
- AnnotateIgnoreReadsEnd(__FILE__, __LINE__)
296
+ // Request the analysis tool to ignore all reads in the current thread until
297
+ // ABSL_ANNOTATE_IGNORE_READS_END is called. Useful to ignore intentional racey
298
+ // reads, while still checking other reads and all writes.
299
+ // See also ABSL_ANNOTATE_UNPROTECTED_READ.
300
+ #define ABSL_ANNOTATE_IGNORE_READS_BEGIN() \
301
+ ABSL_INTERNAL_GLOBAL_SCOPED(AnnotateIgnoreReadsBegin) \
302
+ (__FILE__, __LINE__)
180
303
 
181
- /* Similar to ANNOTATE_IGNORE_READS_BEGIN, but ignore writes instead. */
182
- #define ANNOTATE_IGNORE_WRITES_BEGIN() \
183
- AnnotateIgnoreWritesBegin(__FILE__, __LINE__)
304
+ // Stop ignoring reads.
305
+ #define ABSL_ANNOTATE_IGNORE_READS_END() \
306
+ ABSL_INTERNAL_GLOBAL_SCOPED(AnnotateIgnoreReadsEnd) \
307
+ (__FILE__, __LINE__)
184
308
 
185
- /* Stop ignoring writes. */
186
- #define ANNOTATE_IGNORE_WRITES_END() \
187
- AnnotateIgnoreWritesEnd(__FILE__, __LINE__)
309
+ // Function prototypes of annotations provided by the compiler-based sanitizer
310
+ // implementation.
311
+ ABSL_INTERNAL_BEGIN_EXTERN_C
312
+ void AnnotateIgnoreReadsBegin(const char* file, int line)
313
+ ABSL_INTERNAL_IGNORE_READS_BEGIN_ATTRIBUTE;
314
+ void AnnotateIgnoreReadsEnd(const char* file,
315
+ int line) ABSL_INTERNAL_IGNORE_READS_END_ATTRIBUTE;
316
+ ABSL_INTERNAL_END_EXTERN_C
188
317
 
189
- /* Clang provides limited support for static thread-safety analysis
190
- through a feature called Annotalysis. We configure macro-definitions
191
- according to whether Annotalysis support is available. */
192
- #elif defined(ANNOTALYSIS_ENABLED)
318
+ #elif defined(ABSL_INTERNAL_ANNOTALYSIS_ENABLED)
193
319
 
194
- #define ANNOTATE_IGNORE_READS_BEGIN() \
195
- StaticAnnotateIgnoreReadsBegin(__FILE__, __LINE__)
320
+ // When Annotalysis is enabled without Dynamic Annotations, the use of
321
+ // static-inline functions allows the annotations to be read at compile-time,
322
+ // while still letting the compiler elide the functions from the final build.
323
+ //
324
+ // TODO(delesley) -- The exclusive lock here ignores writes as well, but
325
+ // allows IGNORE_READS_AND_WRITES to work properly.
196
326
 
197
- #define ANNOTATE_IGNORE_READS_END() \
198
- StaticAnnotateIgnoreReadsEnd(__FILE__, __LINE__)
327
+ #define ABSL_ANNOTATE_IGNORE_READS_BEGIN() \
328
+ ABSL_INTERNAL_GLOBAL_SCOPED( \
329
+ ABSL_INTERNAL_C_SYMBOL(AbslInternalAnnotateIgnoreReadsBegin)) \
330
+ ()
199
331
 
200
- #define ANNOTATE_IGNORE_WRITES_BEGIN() \
201
- StaticAnnotateIgnoreWritesBegin(__FILE__, __LINE__)
332
+ #define ABSL_ANNOTATE_IGNORE_READS_END() \
333
+ ABSL_INTERNAL_GLOBAL_SCOPED( \
334
+ ABSL_INTERNAL_C_SYMBOL(AbslInternalAnnotateIgnoreReadsEnd)) \
335
+ ()
202
336
 
203
- #define ANNOTATE_IGNORE_WRITES_END() \
204
- StaticAnnotateIgnoreWritesEnd(__FILE__, __LINE__)
337
+ ABSL_INTERNAL_STATIC_INLINE void ABSL_INTERNAL_C_SYMBOL(
338
+ AbslInternalAnnotateIgnoreReadsBegin)()
339
+ ABSL_INTERNAL_IGNORE_READS_BEGIN_ATTRIBUTE {}
340
+
341
+ ABSL_INTERNAL_STATIC_INLINE void ABSL_INTERNAL_C_SYMBOL(
342
+ AbslInternalAnnotateIgnoreReadsEnd)()
343
+ ABSL_INTERNAL_IGNORE_READS_END_ATTRIBUTE {}
205
344
 
206
345
  #else
207
- #define ANNOTATE_IGNORE_READS_BEGIN() /* empty */
208
- #define ANNOTATE_IGNORE_READS_END() /* empty */
209
- #define ANNOTATE_IGNORE_WRITES_BEGIN() /* empty */
210
- #define ANNOTATE_IGNORE_WRITES_END() /* empty */
346
+
347
+ #define ABSL_ANNOTATE_IGNORE_READS_BEGIN() // empty
348
+ #define ABSL_ANNOTATE_IGNORE_READS_END() // empty
349
+
211
350
  #endif
212
351
 
213
- /* Implement the ANNOTATE_IGNORE_READS_AND_WRITES_* annotations using the more
214
- primitive annotations defined above. */
215
- #if defined(ANNOTATIONS_ENABLED)
352
+ // -------------------------------------------------------------------------
353
+ // Define IGNORE_WRITES_BEGIN/_END annotations.
216
354
 
217
- /* Start ignoring all memory accesses (both reads and writes). */
218
- #define ANNOTATE_IGNORE_READS_AND_WRITES_BEGIN() \
219
- do { \
220
- ANNOTATE_IGNORE_READS_BEGIN(); \
221
- ANNOTATE_IGNORE_WRITES_BEGIN(); \
222
- }while (0)
355
+ #if ABSL_INTERNAL_WRITES_ANNOTATIONS_ENABLED == 1
223
356
 
224
- /* Stop ignoring both reads and writes. */
225
- #define ANNOTATE_IGNORE_READS_AND_WRITES_END() \
226
- do { \
227
- ANNOTATE_IGNORE_WRITES_END(); \
228
- ANNOTATE_IGNORE_READS_END(); \
229
- }while (0)
357
+ // Similar to ABSL_ANNOTATE_IGNORE_READS_BEGIN, but ignore writes instead.
358
+ #define ABSL_ANNOTATE_IGNORE_WRITES_BEGIN() \
359
+ ABSL_INTERNAL_GLOBAL_SCOPED(AnnotateIgnoreWritesBegin)(__FILE__, __LINE__)
360
+
361
+ // Stop ignoring writes.
362
+ #define ABSL_ANNOTATE_IGNORE_WRITES_END() \
363
+ ABSL_INTERNAL_GLOBAL_SCOPED(AnnotateIgnoreWritesEnd)(__FILE__, __LINE__)
364
+
365
+ // Function prototypes of annotations provided by the compiler-based sanitizer
366
+ // implementation.
367
+ ABSL_INTERNAL_BEGIN_EXTERN_C
368
+ void AnnotateIgnoreWritesBegin(const char* file, int line);
369
+ void AnnotateIgnoreWritesEnd(const char* file, int line);
370
+ ABSL_INTERNAL_END_EXTERN_C
230
371
 
231
372
  #else
232
- #define ANNOTATE_IGNORE_READS_AND_WRITES_BEGIN() /* empty */
233
- #define ANNOTATE_IGNORE_READS_AND_WRITES_END() /* empty */
234
- #endif
235
373
 
236
- /* Use the macros above rather than using these functions directly. */
237
- #include <stddef.h>
238
- #ifdef __cplusplus
239
- extern "C" {
240
- #endif
241
- void AnnotateRWLockCreate(const char *file, int line,
242
- const volatile void *lock);
243
- void AnnotateRWLockCreateStatic(const char *file, int line,
244
- const volatile void *lock);
245
- void AnnotateRWLockDestroy(const char *file, int line,
246
- const volatile void *lock);
247
- void AnnotateRWLockAcquired(const char *file, int line,
248
- const volatile void *lock, long is_w); /* NOLINT */
249
- void AnnotateRWLockReleased(const char *file, int line,
250
- const volatile void *lock, long is_w); /* NOLINT */
251
- void AnnotateBenignRace(const char *file, int line,
252
- const volatile void *address,
253
- const char *description);
254
- void AnnotateBenignRaceSized(const char *file, int line,
255
- const volatile void *address,
256
- size_t size,
257
- const char *description);
258
- void AnnotateThreadName(const char *file, int line,
259
- const char *name);
260
- void AnnotateEnableRaceDetection(const char *file, int line, int enable);
261
- void AnnotateMemoryIsInitialized(const char *file, int line,
262
- const volatile void *mem, size_t size);
263
- void AnnotateMemoryIsUninitialized(const char *file, int line,
264
- const volatile void *mem, size_t size);
265
-
266
- /* Annotations expand to these functions, when Dynamic Annotations are enabled.
267
- These functions are either implemented as no-op calls, if no Sanitizer is
268
- attached, or provided with externally-linked implementations by a library
269
- like ThreadSanitizer. */
270
- void AnnotateIgnoreReadsBegin(const char *file, int line)
271
- ATTRIBUTE_IGNORE_READS_BEGIN;
272
- void AnnotateIgnoreReadsEnd(const char *file, int line)
273
- ATTRIBUTE_IGNORE_READS_END;
274
- void AnnotateIgnoreWritesBegin(const char *file, int line);
275
- void AnnotateIgnoreWritesEnd(const char *file, int line);
276
-
277
- #if defined(ANNOTALYSIS_ENABLED)
278
- /* When Annotalysis is enabled without Dynamic Annotations, the use of
279
- static-inline functions allows the annotations to be read at compile-time,
280
- while still letting the compiler elide the functions from the final build.
281
-
282
- TODO(delesley) -- The exclusive lock here ignores writes as well, but
283
- allows IGNORE_READS_AND_WRITES to work properly. */
284
- #pragma GCC diagnostic push
285
- #pragma GCC diagnostic ignored "-Wunused-function"
286
- static inline void StaticAnnotateIgnoreReadsBegin(const char *file, int line)
287
- ATTRIBUTE_IGNORE_READS_BEGIN { (void)file; (void)line; }
288
- static inline void StaticAnnotateIgnoreReadsEnd(const char *file, int line)
289
- ATTRIBUTE_IGNORE_READS_END { (void)file; (void)line; }
290
- static inline void StaticAnnotateIgnoreWritesBegin(
291
- const char *file, int line) { (void)file; (void)line; }
292
- static inline void StaticAnnotateIgnoreWritesEnd(
293
- const char *file, int line) { (void)file; (void)line; }
294
- #pragma GCC diagnostic pop
374
+ #define ABSL_ANNOTATE_IGNORE_WRITES_BEGIN() // empty
375
+ #define ABSL_ANNOTATE_IGNORE_WRITES_END() // empty
376
+
295
377
  #endif
296
378
 
297
- /* Return non-zero value if running under valgrind.
298
-
299
- If "valgrind.h" is included into dynamic_annotations.cc,
300
- the regular valgrind mechanism will be used.
301
- See http://valgrind.org/docs/manual/manual-core-adv.html about
302
- RUNNING_ON_VALGRIND and other valgrind "client requests".
303
- The file "valgrind.h" may be obtained by doing
304
- svn co svn://svn.valgrind.org/valgrind/trunk/include
305
-
306
- If for some reason you can't use "valgrind.h" or want to fake valgrind,
307
- there are two ways to make this function return non-zero:
308
- - Use environment variable: export RUNNING_ON_VALGRIND=1
309
- - Make your tool intercept the function RunningOnValgrind() and
310
- change its return value.
311
- */
312
- int RunningOnValgrind(void);
313
-
314
- /* ValgrindSlowdown returns:
315
- * 1.0, if (RunningOnValgrind() == 0)
316
- * 50.0, if (RunningOnValgrind() != 0 && getenv("VALGRIND_SLOWDOWN") == NULL)
317
- * atof(getenv("VALGRIND_SLOWDOWN")) otherwise
318
- This function can be used to scale timeout values:
319
- EXAMPLE:
320
- for (;;) {
321
- DoExpensiveBackgroundTask();
322
- SleepForSeconds(5 * ValgrindSlowdown());
323
- }
324
- */
325
- double ValgrindSlowdown(void);
379
+ // -------------------------------------------------------------------------
380
+ // Define the ABSL_ANNOTATE_IGNORE_READS_AND_WRITES_* annotations using the more
381
+ // primitive annotations defined above.
382
+ //
383
+ // Instead of doing
384
+ // ABSL_ANNOTATE_IGNORE_READS_BEGIN();
385
+ // ... = x;
386
+ // ABSL_ANNOTATE_IGNORE_READS_END();
387
+ // one can use
388
+ // ... = ABSL_ANNOTATE_UNPROTECTED_READ(x);
389
+
390
+ #if defined(ABSL_INTERNAL_READS_WRITES_ANNOTATIONS_ENABLED)
391
+
392
+ // Start ignoring all memory accesses (both reads and writes).
393
+ #define ABSL_ANNOTATE_IGNORE_READS_AND_WRITES_BEGIN() \
394
+ do { \
395
+ ABSL_ANNOTATE_IGNORE_READS_BEGIN(); \
396
+ ABSL_ANNOTATE_IGNORE_WRITES_BEGIN(); \
397
+ } while (0)
398
+
399
+ // Stop ignoring both reads and writes.
400
+ #define ABSL_ANNOTATE_IGNORE_READS_AND_WRITES_END() \
401
+ do { \
402
+ ABSL_ANNOTATE_IGNORE_WRITES_END(); \
403
+ ABSL_ANNOTATE_IGNORE_READS_END(); \
404
+ } while (0)
326
405
 
327
406
  #ifdef __cplusplus
328
- }
329
- #endif
407
+ // ABSL_ANNOTATE_UNPROTECTED_READ is the preferred way to annotate racey reads.
408
+ #define ABSL_ANNOTATE_UNPROTECTED_READ(x) \
409
+ absl::base_internal::AnnotateUnprotectedRead(x)
330
410
 
331
- /* ANNOTATE_UNPROTECTED_READ is the preferred way to annotate racey reads.
411
+ namespace absl {
412
+ ABSL_NAMESPACE_BEGIN
413
+ namespace base_internal {
332
414
 
333
- Instead of doing
334
- ANNOTATE_IGNORE_READS_BEGIN();
335
- ... = x;
336
- ANNOTATE_IGNORE_READS_END();
337
- one can use
338
- ... = ANNOTATE_UNPROTECTED_READ(x); */
339
- #if defined(__cplusplus) && defined(ANNOTATIONS_ENABLED)
340
415
  template <typename T>
341
- inline T ANNOTATE_UNPROTECTED_READ(const volatile T &x) { /* NOLINT */
342
- ANNOTATE_IGNORE_READS_BEGIN();
416
+ inline T AnnotateUnprotectedRead(const volatile T& x) { // NOLINT
417
+ ABSL_ANNOTATE_IGNORE_READS_BEGIN();
343
418
  T res = x;
344
- ANNOTATE_IGNORE_READS_END();
419
+ ABSL_ANNOTATE_IGNORE_READS_END();
345
420
  return res;
346
- }
421
+ }
422
+
423
+ } // namespace base_internal
424
+ ABSL_NAMESPACE_END
425
+ } // namespace absl
426
+ #endif
427
+
347
428
  #else
348
- #define ANNOTATE_UNPROTECTED_READ(x) (x)
429
+
430
+ #define ABSL_ANNOTATE_IGNORE_READS_AND_WRITES_BEGIN() // empty
431
+ #define ABSL_ANNOTATE_IGNORE_READS_AND_WRITES_END() // empty
432
+ #define ABSL_ANNOTATE_UNPROTECTED_READ(x) (x)
433
+
349
434
  #endif
350
435
 
351
- #if DYNAMIC_ANNOTATIONS_ENABLED != 0 && defined(__cplusplus)
352
- /* Apply ANNOTATE_BENIGN_RACE_SIZED to a static variable. */
353
- #define ANNOTATE_BENIGN_RACE_STATIC(static_var, description) \
354
- namespace { \
355
- class static_var ## _annotator { \
356
- public: \
357
- static_var ## _annotator() { \
358
- ANNOTATE_BENIGN_RACE_SIZED(&static_var, \
359
- sizeof(static_var), \
360
- # static_var ": " description); \
361
- } \
362
- }; \
363
- static static_var ## _annotator the ## static_var ## _annotator;\
364
- } // namespace
365
- #else /* DYNAMIC_ANNOTATIONS_ENABLED == 0 */
366
- #define ANNOTATE_BENIGN_RACE_STATIC(static_var, description) /* empty */
367
- #endif /* DYNAMIC_ANNOTATIONS_ENABLED */
368
-
369
- #ifdef ADDRESS_SANITIZER
370
- /* Describe the current state of a contiguous container such as e.g.
371
- * std::vector or std::string. For more details see
372
- * sanitizer/common_interface_defs.h, which is provided by the compiler. */
436
+ // -------------------------------------------------------------------------
437
+ // Address sanitizer annotations
438
+
439
+ #ifdef ABSL_HAVE_ADDRESS_SANITIZER
440
+ // Describe the current state of a contiguous container such as e.g.
441
+ // std::vector or std::string. For more details see
442
+ // sanitizer/common_interface_defs.h, which is provided by the compiler.
373
443
  #include <sanitizer/common_interface_defs.h>
374
- #define ANNOTATE_CONTIGUOUS_CONTAINER(beg, end, old_mid, new_mid) \
444
+
445
+ #define ABSL_ANNOTATE_CONTIGUOUS_CONTAINER(beg, end, old_mid, new_mid) \
375
446
  __sanitizer_annotate_contiguous_container(beg, end, old_mid, new_mid)
376
- #define ADDRESS_SANITIZER_REDZONE(name) \
377
- struct { char x[8] __attribute__ ((aligned (8))); } name
447
+ #define ABSL_ADDRESS_SANITIZER_REDZONE(name) \
448
+ struct { \
449
+ alignas(8) char x[8]; \
450
+ } name
451
+
378
452
  #else
379
- #define ANNOTATE_CONTIGUOUS_CONTAINER(beg, end, old_mid, new_mid)
380
- #define ADDRESS_SANITIZER_REDZONE(name) static_assert(true, "")
381
- #endif // ADDRESS_SANITIZER
382
453
 
383
- /* Undefine the macros intended only in this file. */
384
- #undef ANNOTALYSIS_ENABLED
385
- #undef ANNOTATIONS_ENABLED
386
- #undef ATTRIBUTE_IGNORE_READS_BEGIN
387
- #undef ATTRIBUTE_IGNORE_READS_END
454
+ #define ABSL_ANNOTATE_CONTIGUOUS_CONTAINER(beg, end, old_mid, new_mid) // empty
455
+ #define ABSL_ADDRESS_SANITIZER_REDZONE(name) static_assert(true, "")
456
+
457
+ #endif // ABSL_HAVE_ADDRESS_SANITIZER
458
+
459
+ // -------------------------------------------------------------------------
460
+ // Undefine the macros intended only for this file.
461
+
462
+ #undef ABSL_INTERNAL_RACE_ANNOTATIONS_ENABLED
463
+ #undef ABSL_INTERNAL_READS_ANNOTATIONS_ENABLED
464
+ #undef ABSL_INTERNAL_WRITES_ANNOTATIONS_ENABLED
465
+ #undef ABSL_INTERNAL_ANNOTALYSIS_ENABLED
466
+ #undef ABSL_INTERNAL_READS_WRITES_ANNOTATIONS_ENABLED
467
+ #undef ABSL_INTERNAL_BEGIN_EXTERN_C
468
+ #undef ABSL_INTERNAL_END_EXTERN_C
469
+ #undef ABSL_INTERNAL_STATIC_INLINE
388
470
 
389
- #endif /* ABSL_BASE_DYNAMIC_ANNOTATIONS_H_ */
471
+ #endif // ABSL_BASE_DYNAMIC_ANNOTATIONS_H_