grpc 1.50.0.pre1-x86_64-linux → 1.52.0.pre2-x86_64-linux

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 (2569) hide show
  1. checksums.yaml +4 -4
  2. data/grpc_c.32-msvcrt.ruby +0 -0
  3. data/grpc_c.64-msvcrt.ruby +0 -0
  4. data/grpc_c.64-ucrt.ruby +0 -0
  5. data/src/ruby/ext/grpc/{ext-export-truffleruby.clang → ext-export-truffleruby-with-ruby-abi-version.clang} +0 -0
  6. data/src/ruby/ext/grpc/{ext-export-truffleruby.gcc → ext-export-truffleruby-with-ruby-abi-version.gcc} +0 -0
  7. data/src/ruby/ext/grpc/ext-export-with-ruby-abi-version.clang +2 -0
  8. data/src/ruby/ext/grpc/ext-export-with-ruby-abi-version.gcc +7 -0
  9. data/src/ruby/ext/grpc/ext-export.clang +0 -1
  10. data/src/ruby/ext/grpc/ext-export.gcc +1 -2
  11. data/src/ruby/ext/grpc/extconf.rb +47 -2
  12. data/src/ruby/ext/grpc/rb_call.c +1 -0
  13. data/src/ruby/ext/grpc/rb_channel.c +1 -0
  14. data/src/ruby/ext/grpc/rb_channel_args.c +1 -0
  15. data/src/ruby/ext/grpc/rb_compression_options.c +1 -1
  16. data/src/ruby/ext/grpc/rb_grpc.c +1 -0
  17. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +38 -38
  18. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +59 -59
  19. data/src/ruby/lib/grpc/2.7/grpc_c.so +0 -0
  20. data/src/ruby/lib/grpc/3.0/grpc_c.so +0 -0
  21. data/src/ruby/lib/grpc/3.1/grpc_c.so +0 -0
  22. data/src/ruby/lib/grpc/{grpc_c.so → 3.2/grpc_c.so} +0 -0
  23. data/src/ruby/lib/grpc/generic/bidi_call.rb +2 -0
  24. data/src/ruby/lib/grpc/version.rb +1 -1
  25. data/src/ruby/spec/channel_spec.rb +0 -43
  26. data/src/ruby/spec/client_server_spec.rb +20 -8
  27. data/src/ruby/spec/generic/active_call_spec.rb +12 -3
  28. metadata +26 -2562
  29. data/.yardopts +0 -1
  30. data/Makefile +0 -3169
  31. data/include/grpc/byte_buffer.h +0 -27
  32. data/include/grpc/byte_buffer_reader.h +0 -26
  33. data/include/grpc/census.h +0 -40
  34. data/include/grpc/compression.h +0 -75
  35. data/include/grpc/event_engine/README.md +0 -38
  36. data/include/grpc/event_engine/endpoint_config.h +0 -49
  37. data/include/grpc/event_engine/event_engine.h +0 -446
  38. data/include/grpc/event_engine/internal/memory_allocator_impl.h +0 -68
  39. data/include/grpc/event_engine/memory_allocator.h +0 -211
  40. data/include/grpc/event_engine/memory_request.h +0 -57
  41. data/include/grpc/event_engine/port.h +0 -39
  42. data/include/grpc/event_engine/slice.h +0 -286
  43. data/include/grpc/event_engine/slice_buffer.h +0 -118
  44. data/include/grpc/fork.h +0 -26
  45. data/include/grpc/grpc.h +0 -605
  46. data/include/grpc/grpc_cronet.h +0 -38
  47. data/include/grpc/grpc_posix.h +0 -63
  48. data/include/grpc/grpc_security.h +0 -1270
  49. data/include/grpc/grpc_security_constants.h +0 -152
  50. data/include/grpc/impl/codegen/README.md +0 -22
  51. data/include/grpc/impl/codegen/atm.h +0 -97
  52. data/include/grpc/impl/codegen/atm_gcc_atomic.h +0 -84
  53. data/include/grpc/impl/codegen/atm_gcc_sync.h +0 -85
  54. data/include/grpc/impl/codegen/atm_windows.h +0 -132
  55. data/include/grpc/impl/codegen/byte_buffer.h +0 -103
  56. data/include/grpc/impl/codegen/byte_buffer_reader.h +0 -44
  57. data/include/grpc/impl/codegen/compression_types.h +0 -109
  58. data/include/grpc/impl/codegen/connectivity_state.h +0 -47
  59. data/include/grpc/impl/codegen/fork.h +0 -50
  60. data/include/grpc/impl/codegen/gpr_slice.h +0 -71
  61. data/include/grpc/impl/codegen/gpr_types.h +0 -62
  62. data/include/grpc/impl/codegen/grpc_types.h +0 -818
  63. data/include/grpc/impl/codegen/log.h +0 -112
  64. data/include/grpc/impl/codegen/port_platform.h +0 -782
  65. data/include/grpc/impl/codegen/propagation_bits.h +0 -54
  66. data/include/grpc/impl/codegen/slice.h +0 -132
  67. data/include/grpc/impl/codegen/status.h +0 -156
  68. data/include/grpc/impl/codegen/sync.h +0 -68
  69. data/include/grpc/impl/codegen/sync_abseil.h +0 -38
  70. data/include/grpc/impl/codegen/sync_custom.h +0 -40
  71. data/include/grpc/impl/codegen/sync_generic.h +0 -51
  72. data/include/grpc/impl/codegen/sync_posix.h +0 -54
  73. data/include/grpc/impl/codegen/sync_windows.h +0 -42
  74. data/include/grpc/load_reporting.h +0 -48
  75. data/include/grpc/module.modulemap +0 -64
  76. data/include/grpc/slice.h +0 -161
  77. data/include/grpc/slice_buffer.h +0 -84
  78. data/include/grpc/status.h +0 -26
  79. data/include/grpc/support/alloc.h +0 -52
  80. data/include/grpc/support/atm.h +0 -26
  81. data/include/grpc/support/atm_gcc_atomic.h +0 -26
  82. data/include/grpc/support/atm_gcc_sync.h +0 -26
  83. data/include/grpc/support/atm_windows.h +0 -26
  84. data/include/grpc/support/cpu.h +0 -44
  85. data/include/grpc/support/log.h +0 -26
  86. data/include/grpc/support/log_windows.h +0 -38
  87. data/include/grpc/support/port_platform.h +0 -24
  88. data/include/grpc/support/string_util.h +0 -51
  89. data/include/grpc/support/sync.h +0 -282
  90. data/include/grpc/support/sync_abseil.h +0 -26
  91. data/include/grpc/support/sync_custom.h +0 -26
  92. data/include/grpc/support/sync_generic.h +0 -26
  93. data/include/grpc/support/sync_posix.h +0 -26
  94. data/include/grpc/support/sync_windows.h +0 -26
  95. data/include/grpc/support/thd_id.h +0 -44
  96. data/include/grpc/support/time.h +0 -92
  97. data/include/grpc/support/workaround_list.h +0 -31
  98. data/src/core/ext/filters/census/grpc_context.cc +0 -42
  99. data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +0 -309
  100. data/src/core/ext/filters/channel_idle/channel_idle_filter.h +0 -141
  101. data/src/core/ext/filters/channel_idle/idle_filter_state.cc +0 -96
  102. data/src/core/ext/filters/channel_idle/idle_filter_state.h +0 -68
  103. data/src/core/ext/filters/client_channel/backend_metric.cc +0 -84
  104. data/src/core/ext/filters/client_channel/backend_metric.h +0 -47
  105. data/src/core/ext/filters/client_channel/backup_poller.cc +0 -187
  106. data/src/core/ext/filters/client_channel/backup_poller.h +0 -40
  107. data/src/core/ext/filters/client_channel/channel_connectivity.cc +0 -242
  108. data/src/core/ext/filters/client_channel/client_channel.cc +0 -3208
  109. data/src/core/ext/filters/client_channel/client_channel.h +0 -627
  110. data/src/core/ext/filters/client_channel/client_channel_channelz.cc +0 -94
  111. data/src/core/ext/filters/client_channel/client_channel_channelz.h +0 -85
  112. data/src/core/ext/filters/client_channel/client_channel_factory.cc +0 -32
  113. data/src/core/ext/filters/client_channel/client_channel_factory.h +0 -46
  114. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +0 -42
  115. data/src/core/ext/filters/client_channel/config_selector.cc +0 -60
  116. data/src/core/ext/filters/client_channel/config_selector.h +0 -155
  117. data/src/core/ext/filters/client_channel/connector.h +0 -84
  118. data/src/core/ext/filters/client_channel/dynamic_filters.cc +0 -202
  119. data/src/core/ext/filters/client_channel/dynamic_filters.h +0 -109
  120. data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +0 -65
  121. data/src/core/ext/filters/client_channel/global_subchannel_pool.h +0 -63
  122. data/src/core/ext/filters/client_channel/health/health_check_client.cc +0 -176
  123. data/src/core/ext/filters/client_channel/health/health_check_client.h +0 -43
  124. data/src/core/ext/filters/client_channel/http_proxy.cc +0 -201
  125. data/src/core/ext/filters/client_channel/http_proxy.h +0 -52
  126. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +0 -101
  127. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.h +0 -103
  128. data/src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h +0 -49
  129. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +0 -320
  130. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h +0 -89
  131. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +0 -149
  132. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h +0 -30
  133. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +0 -1942
  134. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +0 -40
  135. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +0 -89
  136. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +0 -41
  137. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +0 -92
  138. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +0 -82
  139. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +0 -202
  140. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +0 -76
  141. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc +0 -416
  142. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h +0 -57
  143. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +0 -1140
  144. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +0 -94
  145. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +0 -545
  146. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +0 -954
  147. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +0 -891
  148. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +0 -47
  149. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +0 -2513
  150. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +0 -531
  151. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +0 -439
  152. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +0 -775
  153. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +0 -772
  154. data/src/core/ext/filters/client_channel/lb_policy/xds/xds.h +0 -66
  155. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +0 -29
  156. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +0 -800
  157. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +0 -731
  158. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +0 -1300
  159. data/src/core/ext/filters/client_channel/local_subchannel_pool.cc +0 -60
  160. data/src/core/ext/filters/client_channel/local_subchannel_pool.h +0 -59
  161. data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +0 -149
  162. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +0 -877
  163. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +0 -91
  164. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +0 -116
  165. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +0 -883
  166. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +0 -1206
  167. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +0 -137
  168. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc +0 -29
  169. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +0 -35
  170. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.cc +0 -30
  171. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.h +0 -30
  172. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +0 -203
  173. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +0 -370
  174. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +0 -110
  175. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +0 -464
  176. data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +0 -259
  177. data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +0 -123
  178. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +0 -193
  179. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +0 -1130
  180. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h +0 -30
  181. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +0 -188
  182. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +0 -108
  183. data/src/core/ext/filters/client_channel/retry_filter.cc +0 -2683
  184. data/src/core/ext/filters/client_channel/retry_filter.h +0 -31
  185. data/src/core/ext/filters/client_channel/retry_service_config.cc +0 -324
  186. data/src/core/ext/filters/client_channel/retry_service_config.h +0 -108
  187. data/src/core/ext/filters/client_channel/retry_throttle.cc +0 -141
  188. data/src/core/ext/filters/client_channel/retry_throttle.h +0 -91
  189. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +0 -174
  190. data/src/core/ext/filters/client_channel/subchannel.cc +0 -978
  191. data/src/core/ext/filters/client_channel/subchannel.h +0 -435
  192. data/src/core/ext/filters/client_channel/subchannel_interface_internal.h +0 -38
  193. data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +0 -66
  194. data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +0 -100
  195. data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +0 -471
  196. data/src/core/ext/filters/client_channel/subchannel_stream_client.h +0 -222
  197. data/src/core/ext/filters/deadline/deadline_filter.cc +0 -401
  198. data/src/core/ext/filters/deadline/deadline_filter.h +0 -93
  199. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +0 -279
  200. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +0 -75
  201. data/src/core/ext/filters/fault_injection/service_config_parser.cc +0 -187
  202. data/src/core/ext/filters/fault_injection/service_config_parser.h +0 -104
  203. data/src/core/ext/filters/http/client/http_client_filter.cc +0 -159
  204. data/src/core/ext/filters/http/client/http_client_filter.h +0 -61
  205. data/src/core/ext/filters/http/client_authority_filter.cc +0 -90
  206. data/src/core/ext/filters/http/client_authority_filter.h +0 -56
  207. data/src/core/ext/filters/http/http_filters_plugin.cc +0 -97
  208. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +0 -332
  209. data/src/core/ext/filters/http/message_compress/message_compress_filter.h +0 -52
  210. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +0 -322
  211. data/src/core/ext/filters/http/message_compress/message_decompress_filter.h +0 -32
  212. data/src/core/ext/filters/http/server/http_server_filter.cc +0 -160
  213. data/src/core/ext/filters/http/server/http_server_filter.h +0 -63
  214. data/src/core/ext/filters/message_size/message_size_filter.cc +0 -404
  215. data/src/core/ext/filters/message_size/message_size_filter.h +0 -83
  216. data/src/core/ext/filters/rbac/rbac_filter.cc +0 -174
  217. data/src/core/ext/filters/rbac/rbac_filter.h +0 -84
  218. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +0 -621
  219. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +0 -85
  220. data/src/core/ext/filters/server_config_selector/server_config_selector.cc +0 -62
  221. data/src/core/ext/filters/server_config_selector/server_config_selector.h +0 -85
  222. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +0 -161
  223. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.h +0 -33
  224. data/src/core/ext/transport/chttp2/alpn/alpn.cc +0 -45
  225. data/src/core/ext/transport/chttp2/alpn/alpn.h +0 -36
  226. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +0 -438
  227. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +0 -77
  228. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +0 -1109
  229. data/src/core/ext/transport/chttp2/server/chttp2_server.h +0 -47
  230. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +0 -252
  231. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +0 -58
  232. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +0 -232
  233. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +0 -42
  234. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +0 -3004
  235. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +0 -77
  236. data/src/core/ext/transport/chttp2/transport/context_list.cc +0 -71
  237. data/src/core/ext/transport/chttp2/transport/context_list.h +0 -54
  238. data/src/core/ext/transport/chttp2/transport/decode_huff.cc +0 -287
  239. data/src/core/ext/transport/chttp2/transport/decode_huff.h +0 -1018
  240. data/src/core/ext/transport/chttp2/transport/flow_control.cc +0 -411
  241. data/src/core/ext/transport/chttp2/transport/flow_control.h +0 -385
  242. data/src/core/ext/transport/chttp2/transport/frame.h +0 -43
  243. data/src/core/ext/transport/chttp2/transport/frame_data.cc +0 -155
  244. data/src/core/ext/transport/chttp2/transport/frame_data.h +0 -60
  245. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +0 -190
  246. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +0 -65
  247. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +0 -136
  248. data/src/core/ext/transport/chttp2/transport/frame_ping.h +0 -49
  249. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +0 -127
  250. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +0 -54
  251. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +0 -243
  252. data/src/core/ext/transport/chttp2/transport/frame_settings.h +0 -66
  253. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +0 -121
  254. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +0 -46
  255. data/src/core/ext/transport/chttp2/transport/hpack_constants.h +0 -47
  256. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +0 -668
  257. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +0 -236
  258. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +0 -88
  259. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +0 -80
  260. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +0 -1390
  261. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +0 -142
  262. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +0 -246
  263. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +0 -137
  264. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +0 -62
  265. data/src/core/ext/transport/chttp2/transport/http2_settings.h +0 -60
  266. data/src/core/ext/transport/chttp2/transport/huffsyms.cc +0 -92
  267. data/src/core/ext/transport/chttp2/transport/huffsyms.h +0 -32
  268. data/src/core/ext/transport/chttp2/transport/internal.h +0 -787
  269. data/src/core/ext/transport/chttp2/transport/parsing.cc +0 -731
  270. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +0 -216
  271. data/src/core/ext/transport/chttp2/transport/stream_map.cc +0 -177
  272. data/src/core/ext/transport/chttp2/transport/stream_map.h +0 -68
  273. data/src/core/ext/transport/chttp2/transport/varint.cc +0 -62
  274. data/src/core/ext/transport/chttp2/transport/varint.h +0 -73
  275. data/src/core/ext/transport/chttp2/transport/writing.cc +0 -683
  276. data/src/core/ext/transport/inproc/inproc_plugin.cc +0 -23
  277. data/src/core/ext/transport/inproc/inproc_transport.cc +0 -1292
  278. data/src/core/ext/transport/inproc/inproc_transport.h +0 -34
  279. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +0 -117
  280. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +0 -502
  281. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +0 -121
  282. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +0 -569
  283. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +0 -125
  284. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +0 -516
  285. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.c +0 -352
  286. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.h +0 -1768
  287. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +0 -56
  288. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +0 -159
  289. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +0 -64
  290. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +0 -189
  291. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +0 -46
  292. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +0 -128
  293. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +0 -43
  294. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +0 -106
  295. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c +0 -43
  296. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +0 -101
  297. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c +0 -106
  298. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +0 -613
  299. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +0 -48
  300. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +0 -107
  301. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +0 -60
  302. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +0 -81
  303. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +0 -53
  304. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +0 -103
  305. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +0 -270
  306. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +0 -1300
  307. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +0 -413
  308. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +0 -2251
  309. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +0 -95
  310. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +0 -394
  311. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +0 -544
  312. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +0 -3066
  313. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +0 -48
  314. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +0 -107
  315. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +0 -89
  316. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +0 -549
  317. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +0 -299
  318. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +0 -1437
  319. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +0 -145
  320. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +0 -664
  321. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +0 -49
  322. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +0 -120
  323. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +0 -421
  324. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +0 -1891
  325. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +0 -163
  326. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +0 -806
  327. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +0 -47
  328. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +0 -104
  329. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +0 -47
  330. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +0 -107
  331. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +0 -58
  332. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +0 -159
  333. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +0 -269
  334. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +0 -1329
  335. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +0 -220
  336. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +0 -1255
  337. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +0 -49
  338. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +0 -126
  339. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +0 -323
  340. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +0 -1759
  341. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +0 -40
  342. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +0 -88
  343. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +0 -60
  344. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +0 -177
  345. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +0 -47
  346. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +0 -148
  347. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +0 -56
  348. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +0 -182
  349. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +0 -48
  350. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +0 -122
  351. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +0 -106
  352. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +0 -360
  353. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +0 -144
  354. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +0 -647
  355. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +0 -129
  356. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +0 -588
  357. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +0 -46
  358. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +0 -98
  359. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +0 -189
  360. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +0 -1041
  361. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +0 -186
  362. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +0 -969
  363. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +0 -63
  364. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +0 -238
  365. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +0 -59
  366. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +0 -186
  367. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +0 -53
  368. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +0 -140
  369. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +0 -165
  370. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +0 -748
  371. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +0 -174
  372. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +0 -757
  373. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +0 -221
  374. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +0 -1094
  375. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +0 -86
  376. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +0 -402
  377. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +0 -1096
  378. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +0 -6440
  379. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +0 -79
  380. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +0 -267
  381. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +0 -241
  382. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +0 -1191
  383. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +0 -44
  384. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +0 -92
  385. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +0 -49
  386. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +0 -107
  387. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +0 -63
  388. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +0 -175
  389. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +0 -52
  390. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +0 -138
  391. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +0 -63
  392. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +0 -254
  393. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.c +0 -46
  394. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.h +0 -98
  395. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +0 -47
  396. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +0 -98
  397. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +0 -69
  398. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +0 -221
  399. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +0 -33
  400. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +0 -43
  401. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +0 -71
  402. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +0 -226
  403. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +0 -54
  404. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +0 -150
  405. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +0 -42
  406. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +0 -89
  407. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +0 -96
  408. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +0 -395
  409. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +0 -94
  410. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +0 -445
  411. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +0 -71
  412. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +0 -237
  413. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +0 -55
  414. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +0 -172
  415. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +0 -471
  416. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +0 -2731
  417. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c +0 -52
  418. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +0 -168
  419. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c +0 -46
  420. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +0 -98
  421. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +0 -28
  422. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +0 -38
  423. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +0 -177
  424. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +0 -932
  425. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +0 -88
  426. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +0 -320
  427. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +0 -191
  428. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +0 -1063
  429. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +0 -62
  430. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +0 -168
  431. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +0 -38
  432. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +0 -74
  433. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +0 -280
  434. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +0 -1375
  435. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +0 -68
  436. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +0 -218
  437. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +0 -138
  438. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +0 -651
  439. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +0 -48
  440. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +0 -116
  441. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +0 -76
  442. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +0 -265
  443. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +0 -74
  444. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +0 -230
  445. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +0 -62
  446. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +0 -196
  447. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +0 -49
  448. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +0 -121
  449. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +0 -48
  450. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +0 -117
  451. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +0 -47
  452. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +0 -104
  453. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +0 -80
  454. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +0 -246
  455. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +0 -67
  456. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +0 -226
  457. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +0 -60
  458. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +0 -178
  459. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +0 -78
  460. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +0 -306
  461. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +0 -107
  462. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +0 -457
  463. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +0 -107
  464. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +0 -439
  465. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +0 -66
  466. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +0 -213
  467. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +0 -26
  468. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +0 -39
  469. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +0 -42
  470. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +0 -143
  471. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +0 -54
  472. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +0 -147
  473. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +0 -66
  474. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +0 -208
  475. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.c +0 -63
  476. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.h +0 -202
  477. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.c +0 -26
  478. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.h +0 -41
  479. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +0 -43
  480. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +0 -101
  481. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c +0 -51
  482. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +0 -131
  483. data/src/core/ext/upb-generated/google/api/annotations.upb.c +0 -40
  484. data/src/core/ext/upb-generated/google/api/annotations.upb.h +0 -53
  485. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +0 -271
  486. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +0 -1280
  487. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +0 -283
  488. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +0 -1386
  489. data/src/core/ext/upb-generated/google/api/http.upb.c +0 -81
  490. data/src/core/ext/upb-generated/google/api/http.upb.h +0 -343
  491. data/src/core/ext/upb-generated/google/api/httpbody.upb.c +0 -46
  492. data/src/core/ext/upb-generated/google/api/httpbody.upb.h +0 -115
  493. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +0 -40
  494. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +0 -92
  495. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +0 -578
  496. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +0 -3217
  497. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +0 -40
  498. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +0 -92
  499. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +0 -35
  500. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +0 -74
  501. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +0 -95
  502. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +0 -329
  503. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +0 -40
  504. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +0 -92
  505. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +0 -127
  506. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +0 -475
  507. data/src/core/ext/upb-generated/google/rpc/status.upb.c +0 -46
  508. data/src/core/ext/upb-generated/google/rpc/status.upb.h +0 -115
  509. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +0 -84
  510. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +0 -335
  511. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +0 -63
  512. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +0 -188
  513. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +0 -240
  514. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +0 -1173
  515. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +0 -57
  516. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +0 -182
  517. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +0 -50
  518. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +0 -139
  519. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +0 -161
  520. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +0 -705
  521. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +0 -70
  522. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +0 -216
  523. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +0 -175
  524. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +0 -792
  525. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +0 -110
  526. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +0 -290
  527. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +0 -55
  528. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +0 -112
  529. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +0 -38
  530. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +0 -46
  531. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +0 -54
  532. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +0 -119
  533. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +0 -53
  534. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +0 -103
  535. data/src/core/ext/upb-generated/validate/validate.upb.c +0 -560
  536. data/src/core/ext/upb-generated/validate/validate.upb.h +0 -4105
  537. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +0 -110
  538. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +0 -290
  539. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +0 -55
  540. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +0 -112
  541. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c +0 -38
  542. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h +0 -46
  543. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +0 -105
  544. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +0 -306
  545. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +0 -53
  546. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +0 -103
  547. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +0 -41
  548. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +0 -83
  549. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +0 -66
  550. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +0 -208
  551. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +0 -56
  552. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +0 -119
  553. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +0 -46
  554. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +0 -107
  555. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +0 -49
  556. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +0 -131
  557. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +0 -68
  558. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +0 -248
  559. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +0 -49
  560. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +0 -125
  561. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +0 -73
  562. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +0 -191
  563. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c +0 -47
  564. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h +0 -113
  565. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +0 -207
  566. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +0 -914
  567. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +0 -52
  568. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +0 -151
  569. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +0 -65
  570. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +0 -226
  571. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +0 -46
  572. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +0 -107
  573. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.c +0 -84
  574. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.h +0 -55
  575. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.c +0 -127
  576. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.h +0 -50
  577. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +0 -102
  578. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +0 -55
  579. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.c +0 -256
  580. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.h +0 -115
  581. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.c +0 -43
  582. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.h +0 -40
  583. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +0 -56
  584. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.h +0 -40
  585. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.c +0 -49
  586. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.h +0 -35
  587. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.c +0 -46
  588. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.h +0 -35
  589. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.c +0 -46
  590. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.h +0 -35
  591. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.c +0 -142
  592. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.h +0 -40
  593. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.c +0 -51
  594. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.h +0 -35
  595. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +0 -48
  596. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h +0 -30
  597. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +0 -38
  598. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h +0 -35
  599. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +0 -222
  600. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +0 -105
  601. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +0 -397
  602. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +0 -120
  603. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +0 -98
  604. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +0 -45
  605. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +0 -559
  606. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +0 -155
  607. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +0 -51
  608. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h +0 -35
  609. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +0 -138
  610. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h +0 -35
  611. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.c +0 -206
  612. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.h +0 -105
  613. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +0 -112
  614. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +0 -65
  615. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +0 -54
  616. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h +0 -35
  617. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +0 -270
  618. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +0 -150
  619. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +0 -168
  620. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +0 -65
  621. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +0 -53
  622. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h +0 -35
  623. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +0 -47
  624. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +0 -35
  625. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.c +0 -53
  626. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.h +0 -40
  627. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +0 -235
  628. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h +0 -100
  629. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +0 -228
  630. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +0 -75
  631. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +0 -53
  632. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h +0 -35
  633. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +0 -300
  634. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +0 -110
  635. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +0 -41
  636. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +0 -35
  637. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +0 -55
  638. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h +0 -40
  639. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +0 -57
  640. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +0 -35
  641. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +0 -70
  642. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h +0 -35
  643. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +0 -49
  644. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h +0 -35
  645. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +0 -99
  646. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h +0 -50
  647. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +0 -128
  648. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +0 -60
  649. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +0 -136
  650. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h +0 -55
  651. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +0 -48
  652. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h +0 -35
  653. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +0 -220
  654. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +0 -65
  655. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +0 -190
  656. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h +0 -65
  657. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +0 -88
  658. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h +0 -35
  659. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +0 -71
  660. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h +0 -40
  661. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c +0 -69
  662. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.h +0 -35
  663. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +0 -125
  664. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +0 -70
  665. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +0 -134
  666. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +0 -75
  667. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +0 -194
  668. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +0 -75
  669. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +0 -112
  670. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +0 -40
  671. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +0 -939
  672. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +0 -305
  673. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +0 -77
  674. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h +0 -45
  675. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +0 -199
  676. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +0 -90
  677. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.c +0 -54
  678. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.h +0 -35
  679. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.c +0 -57
  680. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.h +0 -35
  681. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +0 -57
  682. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h +0 -40
  683. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.c +0 -72
  684. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.h +0 -35
  685. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.c +0 -99
  686. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.h +0 -35
  687. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.c +0 -47
  688. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.h +0 -35
  689. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.c +0 -52
  690. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.h +0 -35
  691. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.c +0 -71
  692. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.h +0 -40
  693. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +0 -61
  694. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.h +0 -30
  695. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.c +0 -75
  696. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.h +0 -40
  697. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c +0 -77
  698. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.h +0 -35
  699. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +0 -50
  700. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +0 -35
  701. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +0 -92
  702. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +0 -55
  703. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +0 -117
  704. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +0 -45
  705. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +0 -80
  706. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +0 -40
  707. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +0 -78
  708. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +0 -35
  709. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +0 -562
  710. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +0 -130
  711. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +0 -48
  712. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +0 -30
  713. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +0 -213
  714. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +0 -65
  715. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +0 -91
  716. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +0 -45
  717. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +0 -254
  718. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +0 -65
  719. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +0 -58
  720. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +0 -40
  721. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +0 -58
  722. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h +0 -35
  723. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +0 -197
  724. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +0 -100
  725. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +0 -76
  726. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h +0 -40
  727. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +0 -153
  728. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +0 -55
  729. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.c +0 -46
  730. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.h +0 -35
  731. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +0 -56
  732. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h +0 -50
  733. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.c +0 -52
  734. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.h +0 -50
  735. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +0 -61
  736. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h +0 -40
  737. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +0 -54
  738. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +0 -35
  739. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +0 -52
  740. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h +0 -35
  741. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +0 -51
  742. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h +0 -35
  743. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +0 -71
  744. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h +0 -45
  745. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +0 -65
  746. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h +0 -40
  747. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +0 -58
  748. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +0 -40
  749. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +0 -75
  750. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h +0 -45
  751. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +0 -78
  752. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h +0 -65
  753. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +0 -85
  754. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h +0 -55
  755. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.c +0 -53
  756. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.h +0 -45
  757. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +0 -36
  758. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h +0 -30
  759. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.c +0 -94
  760. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.h +0 -35
  761. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +0 -54
  762. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h +0 -40
  763. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +0 -48
  764. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h +0 -45
  765. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.c +0 -69
  766. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.h +0 -40
  767. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.c +0 -38
  768. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.h +0 -30
  769. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +0 -44
  770. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h +0 -35
  771. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.c +0 -57
  772. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.h +0 -35
  773. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +0 -40
  774. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h +0 -30
  775. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.c +0 -154
  776. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.h +0 -95
  777. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.c +0 -153
  778. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.h +0 -100
  779. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +0 -52
  780. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h +0 -45
  781. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.c +0 -39
  782. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.h +0 -35
  783. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +0 -34
  784. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h +0 -35
  785. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +0 -331
  786. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h +0 -165
  787. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +0 -35
  788. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h +0 -35
  789. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +0 -32
  790. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h +0 -35
  791. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +0 -54
  792. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h +0 -50
  793. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +0 -35
  794. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h +0 -35
  795. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +0 -45
  796. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h +0 -75
  797. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +0 -37
  798. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h +0 -35
  799. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.c +0 -67
  800. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.h +0 -50
  801. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +0 -99
  802. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +0 -75
  803. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +0 -62
  804. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h +0 -45
  805. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +0 -47
  806. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h +0 -35
  807. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +0 -34
  808. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h +0 -30
  809. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +0 -46
  810. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h +0 -35
  811. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +0 -39
  812. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h +0 -35
  813. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +0 -283
  814. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h +0 -145
  815. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.c +0 -63
  816. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.h +0 -45
  817. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.c +0 -47
  818. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.h +0 -35
  819. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.c +0 -35
  820. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.h +0 -30
  821. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +0 -64
  822. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +0 -50
  823. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.c +0 -40
  824. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.h +0 -35
  825. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +0 -38
  826. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +0 -35
  827. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +0 -56
  828. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +0 -40
  829. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +0 -39
  830. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +0 -40
  831. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.c +0 -41
  832. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.h +0 -35
  833. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +0 -45
  834. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +0 -35
  835. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +0 -61
  836. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +0 -40
  837. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +0 -46
  838. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +0 -35
  839. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c +0 -126
  840. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.h +0 -80
  841. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.c +0 -40
  842. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.h +0 -40
  843. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.c +0 -52
  844. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.h +0 -40
  845. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +0 -40
  846. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +0 -35
  847. data/src/core/ext/xds/certificate_provider_store.cc +0 -159
  848. data/src/core/ext/xds/certificate_provider_store.h +0 -138
  849. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +0 -153
  850. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +0 -77
  851. data/src/core/ext/xds/upb_utils.h +0 -45
  852. data/src/core/ext/xds/xds_api.cc +0 -699
  853. data/src/core/ext/xds/xds_api.h +0 -196
  854. data/src/core/ext/xds/xds_bootstrap.cc +0 -38
  855. data/src/core/ext/xds/xds_bootstrap.h +0 -89
  856. data/src/core/ext/xds/xds_bootstrap_grpc.cc +0 -370
  857. data/src/core/ext/xds/xds_bootstrap_grpc.h +0 -169
  858. data/src/core/ext/xds/xds_certificate_provider.cc +0 -419
  859. data/src/core/ext/xds/xds_certificate_provider.h +0 -183
  860. data/src/core/ext/xds/xds_channel_args.h +0 -32
  861. data/src/core/ext/xds/xds_channel_stack_modifier.cc +0 -120
  862. data/src/core/ext/xds/xds_channel_stack_modifier.h +0 -65
  863. data/src/core/ext/xds/xds_client.cc +0 -2000
  864. data/src/core/ext/xds/xds_client.h +0 -336
  865. data/src/core/ext/xds/xds_client_grpc.cc +0 -229
  866. data/src/core/ext/xds/xds_client_grpc.h +0 -79
  867. data/src/core/ext/xds/xds_client_stats.cc +0 -159
  868. data/src/core/ext/xds/xds_client_stats.h +0 -242
  869. data/src/core/ext/xds/xds_cluster.cc +0 -551
  870. data/src/core/ext/xds/xds_cluster.h +0 -120
  871. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +0 -149
  872. data/src/core/ext/xds/xds_cluster_specifier_plugin.h +0 -73
  873. data/src/core/ext/xds/xds_common_types.cc +0 -434
  874. data/src/core/ext/xds/xds_common_types.h +0 -102
  875. data/src/core/ext/xds/xds_endpoint.cc +0 -383
  876. data/src/core/ext/xds/xds_endpoint.h +0 -142
  877. data/src/core/ext/xds/xds_http_fault_filter.cc +0 -222
  878. data/src/core/ext/xds/xds_http_fault_filter.h +0 -66
  879. data/src/core/ext/xds/xds_http_filters.cc +0 -129
  880. data/src/core/ext/xds/xds_http_filters.h +0 -133
  881. data/src/core/ext/xds/xds_http_rbac_filter.cc +0 -560
  882. data/src/core/ext/xds/xds_http_rbac_filter.h +0 -61
  883. data/src/core/ext/xds/xds_lb_policy_registry.cc +0 -290
  884. data/src/core/ext/xds/xds_lb_policy_registry.h +0 -72
  885. data/src/core/ext/xds/xds_listener.cc +0 -1102
  886. data/src/core/ext/xds/xds_listener.h +0 -228
  887. data/src/core/ext/xds/xds_resource_type.cc +0 -33
  888. data/src/core/ext/xds/xds_resource_type.h +0 -112
  889. data/src/core/ext/xds/xds_resource_type_impl.h +0 -91
  890. data/src/core/ext/xds/xds_route_config.cc +0 -1152
  891. data/src/core/ext/xds/xds_route_config.h +0 -241
  892. data/src/core/ext/xds/xds_routing.cc +0 -263
  893. data/src/core/ext/xds/xds_routing.h +0 -104
  894. data/src/core/ext/xds/xds_server_config_fetcher.cc +0 -1360
  895. data/src/core/ext/xds/xds_transport.h +0 -86
  896. data/src/core/ext/xds/xds_transport_grpc.cc +0 -357
  897. data/src/core/ext/xds/xds_transport_grpc.h +0 -135
  898. data/src/core/lib/address_utils/parse_address.cc +0 -339
  899. data/src/core/lib/address_utils/parse_address.h +0 -86
  900. data/src/core/lib/address_utils/sockaddr_utils.cc +0 -443
  901. data/src/core/lib/address_utils/sockaddr_utils.h +0 -100
  902. data/src/core/lib/avl/avl.h +0 -482
  903. data/src/core/lib/backoff/backoff.cc +0 -47
  904. data/src/core/lib/backoff/backoff.h +0 -89
  905. data/src/core/lib/channel/call_finalization.h +0 -88
  906. data/src/core/lib/channel/call_tracer.h +0 -94
  907. data/src/core/lib/channel/channel_args.cc +0 -626
  908. data/src/core/lib/channel/channel_args.h +0 -529
  909. data/src/core/lib/channel/channel_args_preconditioning.cc +0 -43
  910. data/src/core/lib/channel/channel_args_preconditioning.h +0 -62
  911. data/src/core/lib/channel/channel_fwd.h +0 -26
  912. data/src/core/lib/channel/channel_stack.cc +0 -311
  913. data/src/core/lib/channel/channel_stack.h +0 -381
  914. data/src/core/lib/channel/channel_stack_builder.cc +0 -54
  915. data/src/core/lib/channel/channel_stack_builder.h +0 -112
  916. data/src/core/lib/channel/channel_stack_builder_impl.cc +0 -95
  917. data/src/core/lib/channel/channel_stack_builder_impl.h +0 -46
  918. data/src/core/lib/channel/channel_trace.cc +0 -184
  919. data/src/core/lib/channel/channel_trace.h +0 -138
  920. data/src/core/lib/channel/channelz.cc +0 -583
  921. data/src/core/lib/channel/channelz.h +0 -374
  922. data/src/core/lib/channel/channelz_registry.cc +0 -277
  923. data/src/core/lib/channel/channelz_registry.h +0 -100
  924. data/src/core/lib/channel/connected_channel.cc +0 -241
  925. data/src/core/lib/channel/connected_channel.h +0 -36
  926. data/src/core/lib/channel/context.h +0 -63
  927. data/src/core/lib/channel/promise_based_filter.cc +0 -1262
  928. data/src/core/lib/channel/promise_based_filter.h +0 -571
  929. data/src/core/lib/channel/status_util.cc +0 -138
  930. data/src/core/lib/channel/status_util.h +0 -74
  931. data/src/core/lib/compression/compression.cc +0 -96
  932. data/src/core/lib/compression/compression_internal.cc +0 -249
  933. data/src/core/lib/compression/compression_internal.h +0 -93
  934. data/src/core/lib/compression/message_compress.cc +0 -194
  935. data/src/core/lib/compression/message_compress.h +0 -39
  936. data/src/core/lib/config/core_configuration.cc +0 -111
  937. data/src/core/lib/config/core_configuration.h +0 -243
  938. data/src/core/lib/debug/stats.cc +0 -165
  939. data/src/core/lib/debug/stats.h +0 -70
  940. data/src/core/lib/debug/stats_data.cc +0 -190
  941. data/src/core/lib/debug/stats_data.h +0 -151
  942. data/src/core/lib/debug/trace.cc +0 -153
  943. data/src/core/lib/debug/trace.h +0 -133
  944. data/src/core/lib/event_engine/channel_args_endpoint_config.cc +0 -40
  945. data/src/core/lib/event_engine/channel_args_endpoint_config.h +0 -49
  946. data/src/core/lib/event_engine/default_event_engine.cc +0 -71
  947. data/src/core/lib/event_engine/default_event_engine.h +0 -37
  948. data/src/core/lib/event_engine/default_event_engine_factory.cc +0 -50
  949. data/src/core/lib/event_engine/default_event_engine_factory.h +0 -33
  950. data/src/core/lib/event_engine/executor/executor.h +0 -38
  951. data/src/core/lib/event_engine/executor/threaded_executor.cc +0 -36
  952. data/src/core/lib/event_engine/executor/threaded_executor.h +0 -44
  953. data/src/core/lib/event_engine/forkable.cc +0 -101
  954. data/src/core/lib/event_engine/forkable.h +0 -61
  955. data/src/core/lib/event_engine/handle_containers.h +0 -67
  956. data/src/core/lib/event_engine/memory_allocator.cc +0 -74
  957. data/src/core/lib/event_engine/poller.h +0 -56
  958. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +0 -142
  959. data/src/core/lib/event_engine/posix_engine/posix_engine.h +0 -121
  960. data/src/core/lib/event_engine/posix_engine/timer.cc +0 -311
  961. data/src/core/lib/event_engine/posix_engine/timer.h +0 -193
  962. data/src/core/lib/event_engine/posix_engine/timer_heap.cc +0 -107
  963. data/src/core/lib/event_engine/posix_engine/timer_heap.h +0 -56
  964. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +0 -311
  965. data/src/core/lib/event_engine/posix_engine/timer_manager.h +0 -142
  966. data/src/core/lib/event_engine/resolved_address.cc +0 -41
  967. data/src/core/lib/event_engine/slice.cc +0 -102
  968. data/src/core/lib/event_engine/slice_buffer.cc +0 -50
  969. data/src/core/lib/event_engine/socket_notifier.h +0 -55
  970. data/src/core/lib/event_engine/thread_pool.cc +0 -195
  971. data/src/core/lib/event_engine/thread_pool.h +0 -114
  972. data/src/core/lib/event_engine/time_util.cc +0 -30
  973. data/src/core/lib/event_engine/time_util.h +0 -32
  974. data/src/core/lib/event_engine/trace.cc +0 -18
  975. data/src/core/lib/event_engine/trace.h +0 -30
  976. data/src/core/lib/event_engine/utils.cc +0 -44
  977. data/src/core/lib/event_engine/utils.h +0 -36
  978. data/src/core/lib/event_engine/windows/iocp.cc +0 -155
  979. data/src/core/lib/event_engine/windows/iocp.h +0 -69
  980. data/src/core/lib/event_engine/windows/win_socket.cc +0 -196
  981. data/src/core/lib/event_engine/windows/win_socket.h +0 -120
  982. data/src/core/lib/event_engine/windows/windows_engine.cc +0 -159
  983. data/src/core/lib/event_engine/windows/windows_engine.h +0 -120
  984. data/src/core/lib/experiments/config.cc +0 -146
  985. data/src/core/lib/experiments/config.h +0 -43
  986. data/src/core/lib/experiments/experiments.cc +0 -75
  987. data/src/core/lib/experiments/experiments.h +0 -56
  988. data/src/core/lib/gpr/alloc.cc +0 -68
  989. data/src/core/lib/gpr/alloc.h +0 -28
  990. data/src/core/lib/gpr/atm.cc +0 -35
  991. data/src/core/lib/gpr/cpu_iphone.cc +0 -44
  992. data/src/core/lib/gpr/cpu_linux.cc +0 -82
  993. data/src/core/lib/gpr/cpu_posix.cc +0 -83
  994. data/src/core/lib/gpr/cpu_windows.cc +0 -33
  995. data/src/core/lib/gpr/log.cc +0 -145
  996. data/src/core/lib/gpr/log_android.cc +0 -77
  997. data/src/core/lib/gpr/log_linux.cc +0 -114
  998. data/src/core/lib/gpr/log_posix.cc +0 -110
  999. data/src/core/lib/gpr/log_windows.cc +0 -115
  1000. data/src/core/lib/gpr/murmur_hash.cc +0 -82
  1001. data/src/core/lib/gpr/murmur_hash.h +0 -29
  1002. data/src/core/lib/gpr/spinlock.h +0 -53
  1003. data/src/core/lib/gpr/string.cc +0 -343
  1004. data/src/core/lib/gpr/string.h +0 -112
  1005. data/src/core/lib/gpr/string_posix.cc +0 -72
  1006. data/src/core/lib/gpr/string_util_windows.cc +0 -55
  1007. data/src/core/lib/gpr/string_windows.cc +0 -69
  1008. data/src/core/lib/gpr/sync.cc +0 -124
  1009. data/src/core/lib/gpr/sync_abseil.cc +0 -100
  1010. data/src/core/lib/gpr/sync_posix.cc +0 -157
  1011. data/src/core/lib/gpr/sync_windows.cc +0 -120
  1012. data/src/core/lib/gpr/time.cc +0 -267
  1013. data/src/core/lib/gpr/time_posix.cc +0 -177
  1014. data/src/core/lib/gpr/time_precise.cc +0 -168
  1015. data/src/core/lib/gpr/time_precise.h +0 -70
  1016. data/src/core/lib/gpr/time_windows.cc +0 -102
  1017. data/src/core/lib/gpr/tls.h +0 -156
  1018. data/src/core/lib/gpr/tmpfile.h +0 -32
  1019. data/src/core/lib/gpr/tmpfile_msys.cc +0 -58
  1020. data/src/core/lib/gpr/tmpfile_posix.cc +0 -69
  1021. data/src/core/lib/gpr/tmpfile_windows.cc +0 -67
  1022. data/src/core/lib/gpr/useful.h +0 -171
  1023. data/src/core/lib/gpr/wrap_memcpy.cc +0 -43
  1024. data/src/core/lib/gprpp/atomic_utils.h +0 -47
  1025. data/src/core/lib/gprpp/bitset.h +0 -201
  1026. data/src/core/lib/gprpp/chunked_vector.h +0 -257
  1027. data/src/core/lib/gprpp/construct_destruct.h +0 -40
  1028. data/src/core/lib/gprpp/cpp_impl_of.h +0 -49
  1029. data/src/core/lib/gprpp/debug_location.h +0 -87
  1030. data/src/core/lib/gprpp/dual_ref_counted.h +0 -327
  1031. data/src/core/lib/gprpp/env.h +0 -53
  1032. data/src/core/lib/gprpp/env_linux.cc +0 -80
  1033. data/src/core/lib/gprpp/env_posix.cc +0 -47
  1034. data/src/core/lib/gprpp/env_windows.cc +0 -56
  1035. data/src/core/lib/gprpp/examine_stack.cc +0 -43
  1036. data/src/core/lib/gprpp/examine_stack.h +0 -45
  1037. data/src/core/lib/gprpp/fork.cc +0 -233
  1038. data/src/core/lib/gprpp/fork.h +0 -95
  1039. data/src/core/lib/gprpp/global_config.h +0 -93
  1040. data/src/core/lib/gprpp/global_config_custom.h +0 -29
  1041. data/src/core/lib/gprpp/global_config_env.cc +0 -139
  1042. data/src/core/lib/gprpp/global_config_env.h +0 -133
  1043. data/src/core/lib/gprpp/global_config_generic.h +0 -40
  1044. data/src/core/lib/gprpp/host_port.cc +0 -114
  1045. data/src/core/lib/gprpp/host_port.h +0 -56
  1046. data/src/core/lib/gprpp/manual_constructor.h +0 -146
  1047. data/src/core/lib/gprpp/match.h +0 -75
  1048. data/src/core/lib/gprpp/memory.h +0 -53
  1049. data/src/core/lib/gprpp/mpscq.cc +0 -108
  1050. data/src/core/lib/gprpp/mpscq.h +0 -99
  1051. data/src/core/lib/gprpp/no_destruct.h +0 -94
  1052. data/src/core/lib/gprpp/notification.h +0 -67
  1053. data/src/core/lib/gprpp/orphanable.h +0 -122
  1054. data/src/core/lib/gprpp/overload.h +0 -59
  1055. data/src/core/lib/gprpp/packed_table.h +0 -40
  1056. data/src/core/lib/gprpp/ref_counted.h +0 -349
  1057. data/src/core/lib/gprpp/ref_counted_ptr.h +0 -337
  1058. data/src/core/lib/gprpp/single_set_ptr.h +0 -87
  1059. data/src/core/lib/gprpp/sorted_pack.h +0 -98
  1060. data/src/core/lib/gprpp/stat.h +0 -36
  1061. data/src/core/lib/gprpp/stat_posix.cc +0 -54
  1062. data/src/core/lib/gprpp/stat_windows.cc +0 -48
  1063. data/src/core/lib/gprpp/status_helper.cc +0 -454
  1064. data/src/core/lib/gprpp/status_helper.h +0 -191
  1065. data/src/core/lib/gprpp/sync.h +0 -200
  1066. data/src/core/lib/gprpp/table.h +0 -451
  1067. data/src/core/lib/gprpp/tchar.cc +0 -49
  1068. data/src/core/lib/gprpp/tchar.h +0 -33
  1069. data/src/core/lib/gprpp/thd.h +0 -171
  1070. data/src/core/lib/gprpp/thd_posix.cc +0 -211
  1071. data/src/core/lib/gprpp/thd_windows.cc +0 -173
  1072. data/src/core/lib/gprpp/time.cc +0 -235
  1073. data/src/core/lib/gprpp/time.h +0 -356
  1074. data/src/core/lib/gprpp/time_averaged_stats.cc +0 -60
  1075. data/src/core/lib/gprpp/time_averaged_stats.h +0 -79
  1076. data/src/core/lib/gprpp/time_util.cc +0 -81
  1077. data/src/core/lib/gprpp/time_util.h +0 -42
  1078. data/src/core/lib/gprpp/unique_type_name.h +0 -104
  1079. data/src/core/lib/gprpp/validation_errors.cc +0 -61
  1080. data/src/core/lib/gprpp/validation_errors.h +0 -110
  1081. data/src/core/lib/gprpp/work_serializer.cc +0 -247
  1082. data/src/core/lib/gprpp/work_serializer.h +0 -86
  1083. data/src/core/lib/handshaker/proxy_mapper.h +0 -53
  1084. data/src/core/lib/handshaker/proxy_mapper_registry.cc +0 -71
  1085. data/src/core/lib/handshaker/proxy_mapper_registry.h +0 -75
  1086. data/src/core/lib/http/format_request.cc +0 -137
  1087. data/src/core/lib/http/format_request.h +0 -38
  1088. data/src/core/lib/http/httpcli.cc +0 -397
  1089. data/src/core/lib/http/httpcli.h +0 -271
  1090. data/src/core/lib/http/httpcli_security_connector.cc +0 -215
  1091. data/src/core/lib/http/httpcli_ssl_credentials.h +0 -39
  1092. data/src/core/lib/http/parser.cc +0 -462
  1093. data/src/core/lib/http/parser.h +0 -130
  1094. data/src/core/lib/iomgr/block_annotate.h +0 -57
  1095. data/src/core/lib/iomgr/buffer_list.cc +0 -307
  1096. data/src/core/lib/iomgr/buffer_list.h +0 -163
  1097. data/src/core/lib/iomgr/call_combiner.cc +0 -257
  1098. data/src/core/lib/iomgr/call_combiner.h +0 -215
  1099. data/src/core/lib/iomgr/cfstream_handle.cc +0 -210
  1100. data/src/core/lib/iomgr/cfstream_handle.h +0 -90
  1101. data/src/core/lib/iomgr/closure.h +0 -266
  1102. data/src/core/lib/iomgr/combiner.cc +0 -330
  1103. data/src/core/lib/iomgr/combiner.h +0 -89
  1104. data/src/core/lib/iomgr/dualstack_socket_posix.cc +0 -48
  1105. data/src/core/lib/iomgr/dynamic_annotations.h +0 -67
  1106. data/src/core/lib/iomgr/endpoint.cc +0 -67
  1107. data/src/core/lib/iomgr/endpoint.h +0 -109
  1108. data/src/core/lib/iomgr/endpoint_cfstream.cc +0 -375
  1109. data/src/core/lib/iomgr/endpoint_cfstream.h +0 -49
  1110. data/src/core/lib/iomgr/endpoint_pair.h +0 -34
  1111. data/src/core/lib/iomgr/endpoint_pair_posix.cc +0 -81
  1112. data/src/core/lib/iomgr/endpoint_pair_windows.cc +0 -86
  1113. data/src/core/lib/iomgr/error.cc +0 -217
  1114. data/src/core/lib/iomgr/error.h +0 -299
  1115. data/src/core/lib/iomgr/error_cfstream.cc +0 -54
  1116. data/src/core/lib/iomgr/error_cfstream.h +0 -31
  1117. data/src/core/lib/iomgr/ev_apple.cc +0 -360
  1118. data/src/core/lib/iomgr/ev_apple.h +0 -43
  1119. data/src/core/lib/iomgr/ev_epoll1_linux.cc +0 -1367
  1120. data/src/core/lib/iomgr/ev_epoll1_linux.h +0 -31
  1121. data/src/core/lib/iomgr/ev_poll_posix.cc +0 -1448
  1122. data/src/core/lib/iomgr/ev_poll_posix.h +0 -29
  1123. data/src/core/lib/iomgr/ev_posix.cc +0 -375
  1124. data/src/core/lib/iomgr/ev_posix.h +0 -209
  1125. data/src/core/lib/iomgr/ev_windows.cc +0 -30
  1126. data/src/core/lib/iomgr/exec_ctx.cc +0 -133
  1127. data/src/core/lib/iomgr/exec_ctx.h +0 -334
  1128. data/src/core/lib/iomgr/executor.cc +0 -451
  1129. data/src/core/lib/iomgr/executor.h +0 -119
  1130. data/src/core/lib/iomgr/fork_posix.cc +0 -120
  1131. data/src/core/lib/iomgr/fork_windows.cc +0 -41
  1132. data/src/core/lib/iomgr/gethostname.h +0 -26
  1133. data/src/core/lib/iomgr/gethostname_fallback.cc +0 -30
  1134. data/src/core/lib/iomgr/gethostname_host_name_max.cc +0 -40
  1135. data/src/core/lib/iomgr/gethostname_sysconf.cc +0 -40
  1136. data/src/core/lib/iomgr/grpc_if_nametoindex.h +0 -30
  1137. data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +0 -42
  1138. data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +0 -38
  1139. data/src/core/lib/iomgr/internal_errqueue.cc +0 -59
  1140. data/src/core/lib/iomgr/internal_errqueue.h +0 -186
  1141. data/src/core/lib/iomgr/iocp_windows.cc +0 -157
  1142. data/src/core/lib/iomgr/iocp_windows.h +0 -48
  1143. data/src/core/lib/iomgr/iomgr.cc +0 -200
  1144. data/src/core/lib/iomgr/iomgr.h +0 -60
  1145. data/src/core/lib/iomgr/iomgr_fwd.h +0 -26
  1146. data/src/core/lib/iomgr/iomgr_internal.cc +0 -53
  1147. data/src/core/lib/iomgr/iomgr_internal.h +0 -74
  1148. data/src/core/lib/iomgr/iomgr_posix.cc +0 -91
  1149. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +0 -201
  1150. data/src/core/lib/iomgr/iomgr_windows.cc +0 -105
  1151. data/src/core/lib/iomgr/load_file.cc +0 -81
  1152. data/src/core/lib/iomgr/load_file.h +0 -35
  1153. data/src/core/lib/iomgr/lockfree_event.cc +0 -261
  1154. data/src/core/lib/iomgr/lockfree_event.h +0 -72
  1155. data/src/core/lib/iomgr/nameser.h +0 -106
  1156. data/src/core/lib/iomgr/polling_entity.cc +0 -96
  1157. data/src/core/lib/iomgr/polling_entity.h +0 -74
  1158. data/src/core/lib/iomgr/pollset.cc +0 -56
  1159. data/src/core/lib/iomgr/pollset.h +0 -99
  1160. data/src/core/lib/iomgr/pollset_set.cc +0 -55
  1161. data/src/core/lib/iomgr/pollset_set.h +0 -53
  1162. data/src/core/lib/iomgr/pollset_set_windows.cc +0 -52
  1163. data/src/core/lib/iomgr/pollset_set_windows.h +0 -26
  1164. data/src/core/lib/iomgr/pollset_windows.cc +0 -243
  1165. data/src/core/lib/iomgr/pollset_windows.h +0 -70
  1166. data/src/core/lib/iomgr/port.h +0 -238
  1167. data/src/core/lib/iomgr/python_util.h +0 -47
  1168. data/src/core/lib/iomgr/resolve_address.cc +0 -44
  1169. data/src/core/lib/iomgr/resolve_address.h +0 -117
  1170. data/src/core/lib/iomgr/resolve_address_impl.h +0 -59
  1171. data/src/core/lib/iomgr/resolve_address_posix.cc +0 -215
  1172. data/src/core/lib/iomgr/resolve_address_posix.h +0 -64
  1173. data/src/core/lib/iomgr/resolve_address_windows.cc +0 -199
  1174. data/src/core/lib/iomgr/resolve_address_windows.h +0 -64
  1175. data/src/core/lib/iomgr/resolved_address.h +0 -39
  1176. data/src/core/lib/iomgr/sockaddr.h +0 -32
  1177. data/src/core/lib/iomgr/sockaddr_posix.h +0 -57
  1178. data/src/core/lib/iomgr/sockaddr_utils_posix.cc +0 -63
  1179. data/src/core/lib/iomgr/sockaddr_windows.h +0 -57
  1180. data/src/core/lib/iomgr/socket_factory_posix.cc +0 -95
  1181. data/src/core/lib/iomgr/socket_factory_posix.h +0 -69
  1182. data/src/core/lib/iomgr/socket_mutator.cc +0 -97
  1183. data/src/core/lib/iomgr/socket_mutator.h +0 -84
  1184. data/src/core/lib/iomgr/socket_utils.h +0 -47
  1185. data/src/core/lib/iomgr/socket_utils_common_posix.cc +0 -477
  1186. data/src/core/lib/iomgr/socket_utils_linux.cc +0 -42
  1187. data/src/core/lib/iomgr/socket_utils_posix.cc +0 -140
  1188. data/src/core/lib/iomgr/socket_utils_posix.h +0 -255
  1189. data/src/core/lib/iomgr/socket_utils_windows.cc +0 -47
  1190. data/src/core/lib/iomgr/socket_windows.cc +0 -202
  1191. data/src/core/lib/iomgr/socket_windows.h +0 -125
  1192. data/src/core/lib/iomgr/tcp_client.cc +0 -40
  1193. data/src/core/lib/iomgr/tcp_client.h +0 -66
  1194. data/src/core/lib/iomgr/tcp_client_cfstream.cc +0 -211
  1195. data/src/core/lib/iomgr/tcp_client_posix.cc +0 -473
  1196. data/src/core/lib/iomgr/tcp_client_posix.h +0 -72
  1197. data/src/core/lib/iomgr/tcp_client_windows.cc +0 -243
  1198. data/src/core/lib/iomgr/tcp_posix.cc +0 -2075
  1199. data/src/core/lib/iomgr/tcp_posix.h +0 -67
  1200. data/src/core/lib/iomgr/tcp_server.cc +0 -78
  1201. data/src/core/lib/iomgr/tcp_server.h +0 -150
  1202. data/src/core/lib/iomgr/tcp_server_posix.cc +0 -653
  1203. data/src/core/lib/iomgr/tcp_server_utils_posix.h +0 -129
  1204. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +0 -227
  1205. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +0 -179
  1206. data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +0 -36
  1207. data/src/core/lib/iomgr/tcp_server_windows.cc +0 -568
  1208. data/src/core/lib/iomgr/tcp_windows.cc +0 -534
  1209. data/src/core/lib/iomgr/tcp_windows.h +0 -52
  1210. data/src/core/lib/iomgr/timer.cc +0 -46
  1211. data/src/core/lib/iomgr/timer.h +0 -136
  1212. data/src/core/lib/iomgr/timer_generic.cc +0 -735
  1213. data/src/core/lib/iomgr/timer_generic.h +0 -40
  1214. data/src/core/lib/iomgr/timer_heap.cc +0 -134
  1215. data/src/core/lib/iomgr/timer_heap.h +0 -43
  1216. data/src/core/lib/iomgr/timer_manager.cc +0 -363
  1217. data/src/core/lib/iomgr/timer_manager.h +0 -41
  1218. data/src/core/lib/iomgr/unix_sockets_posix.cc +0 -96
  1219. data/src/core/lib/iomgr/unix_sockets_posix.h +0 -46
  1220. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +0 -53
  1221. data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +0 -80
  1222. data/src/core/lib/iomgr/wakeup_fd_nospecial.cc +0 -39
  1223. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +0 -99
  1224. data/src/core/lib/iomgr/wakeup_fd_pipe.h +0 -28
  1225. data/src/core/lib/iomgr/wakeup_fd_posix.cc +0 -73
  1226. data/src/core/lib/iomgr/wakeup_fd_posix.h +0 -96
  1227. data/src/core/lib/json/json.h +0 -246
  1228. data/src/core/lib/json/json_args.h +0 -34
  1229. data/src/core/lib/json/json_object_loader.cc +0 -202
  1230. data/src/core/lib/json/json_object_loader.h +0 -598
  1231. data/src/core/lib/json/json_reader.cc +0 -929
  1232. data/src/core/lib/json/json_util.cc +0 -106
  1233. data/src/core/lib/json/json_util.h +0 -163
  1234. data/src/core/lib/json/json_writer.cc +0 -340
  1235. data/src/core/lib/load_balancing/lb_policy.cc +0 -93
  1236. data/src/core/lib/load_balancing/lb_policy.h +0 -435
  1237. data/src/core/lib/load_balancing/lb_policy_factory.h +0 -49
  1238. data/src/core/lib/load_balancing/lb_policy_registry.cc +0 -141
  1239. data/src/core/lib/load_balancing/lb_policy_registry.h +0 -82
  1240. data/src/core/lib/load_balancing/subchannel_interface.h +0 -140
  1241. data/src/core/lib/matchers/matchers.cc +0 -330
  1242. data/src/core/lib/matchers/matchers.h +0 -162
  1243. data/src/core/lib/promise/activity.cc +0 -120
  1244. data/src/core/lib/promise/activity.h +0 -581
  1245. data/src/core/lib/promise/arena_promise.h +0 -201
  1246. data/src/core/lib/promise/call_push_pull.h +0 -148
  1247. data/src/core/lib/promise/context.h +0 -85
  1248. data/src/core/lib/promise/detail/basic_seq.h +0 -516
  1249. data/src/core/lib/promise/detail/promise_factory.h +0 -187
  1250. data/src/core/lib/promise/detail/promise_like.h +0 -85
  1251. data/src/core/lib/promise/detail/status.h +0 -50
  1252. data/src/core/lib/promise/exec_ctx_wakeup_scheduler.h +0 -48
  1253. data/src/core/lib/promise/intra_activity_waiter.h +0 -49
  1254. data/src/core/lib/promise/latch.h +0 -103
  1255. data/src/core/lib/promise/loop.h +0 -136
  1256. data/src/core/lib/promise/map.h +0 -87
  1257. data/src/core/lib/promise/poll.h +0 -66
  1258. data/src/core/lib/promise/promise.h +0 -96
  1259. data/src/core/lib/promise/race.h +0 -83
  1260. data/src/core/lib/promise/seq.h +0 -108
  1261. data/src/core/lib/promise/sleep.cc +0 -89
  1262. data/src/core/lib/promise/sleep.h +0 -85
  1263. data/src/core/lib/promise/try_seq.h +0 -177
  1264. data/src/core/lib/resolver/resolver.cc +0 -37
  1265. data/src/core/lib/resolver/resolver.h +0 -138
  1266. data/src/core/lib/resolver/resolver_factory.h +0 -77
  1267. data/src/core/lib/resolver/resolver_registry.cc +0 -149
  1268. data/src/core/lib/resolver/resolver_registry.h +0 -123
  1269. data/src/core/lib/resolver/server_address.cc +0 -180
  1270. data/src/core/lib/resolver/server_address.h +0 -147
  1271. data/src/core/lib/resource_quota/api.cc +0 -105
  1272. data/src/core/lib/resource_quota/api.h +0 -49
  1273. data/src/core/lib/resource_quota/arena.cc +0 -119
  1274. data/src/core/lib/resource_quota/arena.h +0 -163
  1275. data/src/core/lib/resource_quota/memory_quota.cc +0 -602
  1276. data/src/core/lib/resource_quota/memory_quota.h +0 -530
  1277. data/src/core/lib/resource_quota/periodic_update.cc +0 -78
  1278. data/src/core/lib/resource_quota/periodic_update.h +0 -71
  1279. data/src/core/lib/resource_quota/resource_quota.cc +0 -33
  1280. data/src/core/lib/resource_quota/resource_quota.h +0 -74
  1281. data/src/core/lib/resource_quota/thread_quota.cc +0 -45
  1282. data/src/core/lib/resource_quota/thread_quota.h +0 -61
  1283. data/src/core/lib/resource_quota/trace.cc +0 -19
  1284. data/src/core/lib/resource_quota/trace.h +0 -24
  1285. data/src/core/lib/security/authorization/authorization_engine.h +0 -44
  1286. data/src/core/lib/security/authorization/authorization_policy_provider.h +0 -47
  1287. data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +0 -50
  1288. data/src/core/lib/security/authorization/evaluate_args.cc +0 -221
  1289. data/src/core/lib/security/authorization/evaluate_args.h +0 -95
  1290. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +0 -66
  1291. data/src/core/lib/security/authorization/grpc_authorization_engine.h +0 -69
  1292. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +0 -120
  1293. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +0 -61
  1294. data/src/core/lib/security/authorization/matchers.cc +0 -238
  1295. data/src/core/lib/security/authorization/matchers.h +0 -218
  1296. data/src/core/lib/security/authorization/rbac_policy.cc +0 -446
  1297. data/src/core/lib/security/authorization/rbac_policy.h +0 -178
  1298. data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +0 -66
  1299. data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +0 -60
  1300. data/src/core/lib/security/certificate_provider/certificate_provider_registry.h +0 -70
  1301. data/src/core/lib/security/context/security_context.cc +0 -330
  1302. data/src/core/lib/security/context/security_context.h +0 -171
  1303. data/src/core/lib/security/credentials/alts/alts_credentials.cc +0 -119
  1304. data/src/core/lib/security/credentials/alts/alts_credentials.h +0 -123
  1305. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +0 -72
  1306. data/src/core/lib/security/credentials/alts/check_gcp_environment.h +0 -57
  1307. data/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc +0 -68
  1308. data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +0 -33
  1309. data/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +0 -102
  1310. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +0 -125
  1311. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +0 -46
  1312. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h +0 -75
  1313. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc +0 -56
  1314. data/src/core/lib/security/credentials/call_creds_util.cc +0 -97
  1315. data/src/core/lib/security/credentials/call_creds_util.h +0 -43
  1316. data/src/core/lib/security/credentials/channel_creds_registry.h +0 -103
  1317. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +0 -81
  1318. data/src/core/lib/security/credentials/composite/composite_credentials.cc +0 -171
  1319. data/src/core/lib/security/credentials/composite/composite_credentials.h +0 -132
  1320. data/src/core/lib/security/credentials/credentials.cc +0 -159
  1321. data/src/core/lib/security/credentials/credentials.h +0 -298
  1322. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +0 -524
  1323. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +0 -100
  1324. data/src/core/lib/security/credentials/external/aws_request_signer.cc +0 -223
  1325. data/src/core/lib/security/credentials/external/aws_request_signer.h +0 -72
  1326. data/src/core/lib/security/credentials/external/external_account_credentials.cc +0 -572
  1327. data/src/core/lib/security/credentials/external/external_account_credentials.h +0 -129
  1328. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +0 -142
  1329. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +0 -55
  1330. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +0 -246
  1331. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +0 -71
  1332. data/src/core/lib/security/credentials/fake/fake_credentials.cc +0 -112
  1333. data/src/core/lib/security/credentials/fake/fake_credentials.h +0 -96
  1334. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +0 -40
  1335. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +0 -500
  1336. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +0 -100
  1337. data/src/core/lib/security/credentials/iam/iam_credentials.cc +0 -82
  1338. data/src/core/lib/security/credentials/iam/iam_credentials.h +0 -65
  1339. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +0 -73
  1340. data/src/core/lib/security/credentials/insecure/insecure_credentials.h +0 -61
  1341. data/src/core/lib/security/credentials/jwt/json_token.cc +0 -298
  1342. data/src/core/lib/security/credentials/jwt/json_token.h +0 -76
  1343. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +0 -183
  1344. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +0 -107
  1345. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +0 -957
  1346. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +0 -124
  1347. data/src/core/lib/security/credentials/local/local_credentials.cc +0 -71
  1348. data/src/core/lib/security/credentials/local/local_credentials.h +0 -77
  1349. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +0 -751
  1350. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +0 -220
  1351. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +0 -214
  1352. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +0 -125
  1353. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +0 -381
  1354. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +0 -131
  1355. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +0 -348
  1356. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +0 -223
  1357. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +0 -484
  1358. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +0 -206
  1359. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +0 -241
  1360. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +0 -168
  1361. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +0 -122
  1362. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +0 -117
  1363. data/src/core/lib/security/credentials/tls/tls_credentials.cc +0 -150
  1364. data/src/core/lib/security/credentials/tls/tls_credentials.h +0 -71
  1365. data/src/core/lib/security/credentials/tls/tls_utils.cc +0 -127
  1366. data/src/core/lib/security/credentials/tls/tls_utils.h +0 -51
  1367. data/src/core/lib/security/credentials/xds/xds_credentials.cc +0 -236
  1368. data/src/core/lib/security/credentials/xds/xds_credentials.h +0 -114
  1369. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +0 -317
  1370. data/src/core/lib/security/security_connector/alts/alts_security_connector.h +0 -79
  1371. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +0 -322
  1372. data/src/core/lib/security/security_connector/fake/fake_security_connector.h +0 -43
  1373. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +0 -120
  1374. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +0 -108
  1375. data/src/core/lib/security/security_connector/load_system_roots.h +0 -33
  1376. data/src/core/lib/security/security_connector/load_system_roots_fallback.cc +0 -35
  1377. data/src/core/lib/security/security_connector/load_system_roots_supported.cc +0 -178
  1378. data/src/core/lib/security/security_connector/load_system_roots_supported.h +0 -46
  1379. data/src/core/lib/security/security_connector/local/local_security_connector.cc +0 -310
  1380. data/src/core/lib/security/security_connector/local/local_security_connector.h +0 -63
  1381. data/src/core/lib/security/security_connector/security_connector.cc +0 -127
  1382. data/src/core/lib/security/security_connector/security_connector.h +0 -201
  1383. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +0 -463
  1384. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +0 -83
  1385. data/src/core/lib/security/security_connector/ssl_utils.cc +0 -627
  1386. data/src/core/lib/security/security_connector/ssl_utils.h +0 -187
  1387. data/src/core/lib/security/security_connector/ssl_utils_config.cc +0 -32
  1388. data/src/core/lib/security/security_connector/ssl_utils_config.h +0 -30
  1389. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +0 -834
  1390. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +0 -286
  1391. data/src/core/lib/security/transport/auth_filters.h +0 -76
  1392. data/src/core/lib/security/transport/client_auth_filter.cc +0 -227
  1393. data/src/core/lib/security/transport/secure_endpoint.cc +0 -568
  1394. data/src/core/lib/security/transport/secure_endpoint.h +0 -43
  1395. data/src/core/lib/security/transport/security_handshaker.cc +0 -673
  1396. data/src/core/lib/security/transport/security_handshaker.h +0 -51
  1397. data/src/core/lib/security/transport/server_auth_filter.cc +0 -360
  1398. data/src/core/lib/security/transport/tsi_error.cc +0 -28
  1399. data/src/core/lib/security/transport/tsi_error.h +0 -30
  1400. data/src/core/lib/security/util/json_util.cc +0 -71
  1401. data/src/core/lib/security/util/json_util.h +0 -43
  1402. data/src/core/lib/service_config/service_config.h +0 -89
  1403. data/src/core/lib/service_config/service_config_call_data.h +0 -76
  1404. data/src/core/lib/service_config/service_config_impl.cc +0 -238
  1405. data/src/core/lib/service_config/service_config_impl.h +0 -128
  1406. data/src/core/lib/service_config/service_config_parser.cc +0 -98
  1407. data/src/core/lib/service_config/service_config_parser.h +0 -101
  1408. data/src/core/lib/slice/b64.cc +0 -239
  1409. data/src/core/lib/slice/b64.h +0 -52
  1410. data/src/core/lib/slice/percent_encoding.cc +0 -150
  1411. data/src/core/lib/slice/percent_encoding.h +0 -54
  1412. data/src/core/lib/slice/slice.cc +0 -496
  1413. data/src/core/lib/slice/slice.h +0 -389
  1414. data/src/core/lib/slice/slice_api.cc +0 -39
  1415. data/src/core/lib/slice/slice_buffer.cc +0 -473
  1416. data/src/core/lib/slice/slice_buffer.h +0 -137
  1417. data/src/core/lib/slice/slice_buffer_api.cc +0 -35
  1418. data/src/core/lib/slice/slice_internal.h +0 -105
  1419. data/src/core/lib/slice/slice_refcount.cc +0 -35
  1420. data/src/core/lib/slice/slice_refcount.h +0 -45
  1421. data/src/core/lib/slice/slice_refcount_base.h +0 -60
  1422. data/src/core/lib/slice/slice_string_helpers.cc +0 -28
  1423. data/src/core/lib/slice/slice_string_helpers.h +0 -31
  1424. data/src/core/lib/surface/api_trace.cc +0 -25
  1425. data/src/core/lib/surface/api_trace.h +0 -53
  1426. data/src/core/lib/surface/builtins.cc +0 -54
  1427. data/src/core/lib/surface/builtins.h +0 -26
  1428. data/src/core/lib/surface/byte_buffer.cc +0 -98
  1429. data/src/core/lib/surface/byte_buffer_reader.cc +0 -101
  1430. data/src/core/lib/surface/call.cc +0 -1916
  1431. data/src/core/lib/surface/call.h +0 -135
  1432. data/src/core/lib/surface/call_details.cc +0 -41
  1433. data/src/core/lib/surface/call_log_batch.cc +0 -117
  1434. data/src/core/lib/surface/call_test_only.h +0 -46
  1435. data/src/core/lib/surface/channel.cc +0 -442
  1436. data/src/core/lib/surface/channel.h +0 -206
  1437. data/src/core/lib/surface/channel_init.cc +0 -55
  1438. data/src/core/lib/surface/channel_init.h +0 -84
  1439. data/src/core/lib/surface/channel_ping.cc +0 -69
  1440. data/src/core/lib/surface/channel_stack_type.cc +0 -57
  1441. data/src/core/lib/surface/channel_stack_type.h +0 -45
  1442. data/src/core/lib/surface/completion_queue.cc +0 -1425
  1443. data/src/core/lib/surface/completion_queue.h +0 -100
  1444. data/src/core/lib/surface/completion_queue_factory.cc +0 -94
  1445. data/src/core/lib/surface/completion_queue_factory.h +0 -37
  1446. data/src/core/lib/surface/event_string.cc +0 -56
  1447. data/src/core/lib/surface/event_string.h +0 -31
  1448. data/src/core/lib/surface/init.cc +0 -260
  1449. data/src/core/lib/surface/init.h +0 -25
  1450. data/src/core/lib/surface/init_internally.cc +0 -24
  1451. data/src/core/lib/surface/init_internally.h +0 -28
  1452. data/src/core/lib/surface/lame_client.cc +0 -152
  1453. data/src/core/lib/surface/lame_client.h +0 -71
  1454. data/src/core/lib/surface/metadata_array.cc +0 -38
  1455. data/src/core/lib/surface/server.cc +0 -1577
  1456. data/src/core/lib/surface/server.h +0 -526
  1457. data/src/core/lib/surface/validate_metadata.cc +0 -123
  1458. data/src/core/lib/surface/validate_metadata.h +0 -48
  1459. data/src/core/lib/surface/version.cc +0 -28
  1460. data/src/core/lib/transport/bdp_estimator.cc +0 -86
  1461. data/src/core/lib/transport/bdp_estimator.h +0 -94
  1462. data/src/core/lib/transport/connectivity_state.cc +0 -189
  1463. data/src/core/lib/transport/connectivity_state.h +0 -144
  1464. data/src/core/lib/transport/error_utils.cc +0 -165
  1465. data/src/core/lib/transport/error_utils.h +0 -63
  1466. data/src/core/lib/transport/handshaker.cc +0 -225
  1467. data/src/core/lib/transport/handshaker.h +0 -167
  1468. data/src/core/lib/transport/handshaker_factory.h +0 -48
  1469. data/src/core/lib/transport/handshaker_registry.cc +0 -55
  1470. data/src/core/lib/transport/handshaker_registry.h +0 -70
  1471. data/src/core/lib/transport/http2_errors.h +0 -41
  1472. data/src/core/lib/transport/http_connect_handshaker.cc +0 -401
  1473. data/src/core/lib/transport/http_connect_handshaker.h +0 -42
  1474. data/src/core/lib/transport/metadata_batch.cc +0 -291
  1475. data/src/core/lib/transport/metadata_batch.h +0 -1310
  1476. data/src/core/lib/transport/parsed_metadata.cc +0 -39
  1477. data/src/core/lib/transport/parsed_metadata.h +0 -409
  1478. data/src/core/lib/transport/pid_controller.cc +0 -51
  1479. data/src/core/lib/transport/pid_controller.h +0 -116
  1480. data/src/core/lib/transport/status_conversion.cc +0 -92
  1481. data/src/core/lib/transport/status_conversion.h +0 -38
  1482. data/src/core/lib/transport/tcp_connect_handshaker.cc +0 -251
  1483. data/src/core/lib/transport/tcp_connect_handshaker.h +0 -39
  1484. data/src/core/lib/transport/timeout_encoding.cc +0 -284
  1485. data/src/core/lib/transport/timeout_encoding.h +0 -72
  1486. data/src/core/lib/transport/transport.cc +0 -239
  1487. data/src/core/lib/transport/transport.h +0 -594
  1488. data/src/core/lib/transport/transport_fwd.h +0 -20
  1489. data/src/core/lib/transport/transport_impl.h +0 -95
  1490. data/src/core/lib/transport/transport_op_string.cc +0 -146
  1491. data/src/core/lib/uri/uri_parser.cc +0 -373
  1492. data/src/core/lib/uri/uri_parser.h +0 -101
  1493. data/src/core/plugin_registry/grpc_plugin_registry.cc +0 -117
  1494. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +0 -73
  1495. data/src/core/tsi/alts/crypt/aes_gcm.cc +0 -690
  1496. data/src/core/tsi/alts/crypt/gsec.cc +0 -190
  1497. data/src/core/tsi/alts/crypt/gsec.h +0 -459
  1498. data/src/core/tsi/alts/frame_protector/alts_counter.cc +0 -118
  1499. data/src/core/tsi/alts/frame_protector/alts_counter.h +0 -98
  1500. data/src/core/tsi/alts/frame_protector/alts_crypter.cc +0 -66
  1501. data/src/core/tsi/alts/frame_protector/alts_crypter.h +0 -255
  1502. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +0 -408
  1503. data/src/core/tsi/alts/frame_protector/alts_frame_protector.h +0 -55
  1504. data/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc +0 -114
  1505. data/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.h +0 -114
  1506. data/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc +0 -105
  1507. data/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc +0 -103
  1508. data/src/core/tsi/alts/frame_protector/frame_handler.cc +0 -219
  1509. data/src/core/tsi/alts/frame_protector/frame_handler.h +0 -236
  1510. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +0 -927
  1511. data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +0 -160
  1512. data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +0 -91
  1513. data/src/core/tsi/alts/handshaker/alts_shared_resource.h +0 -73
  1514. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +0 -720
  1515. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +0 -104
  1516. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +0 -89
  1517. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +0 -64
  1518. data/src/core/tsi/alts/handshaker/alts_tsi_utils.h +0 -53
  1519. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +0 -223
  1520. data/src/core/tsi/alts/handshaker/transport_security_common_api.h +0 -171
  1521. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +0 -226
  1522. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h +0 -54
  1523. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +0 -144
  1524. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h +0 -49
  1525. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol.h +0 -91
  1526. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +0 -174
  1527. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h +0 -99
  1528. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +0 -478
  1529. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h +0 -199
  1530. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +0 -315
  1531. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h +0 -57
  1532. data/src/core/tsi/fake_transport_security.cc +0 -844
  1533. data/src/core/tsi/fake_transport_security.h +0 -53
  1534. data/src/core/tsi/local_transport_security.cc +0 -174
  1535. data/src/core/tsi/local_transport_security.h +0 -47
  1536. data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +0 -141
  1537. data/src/core/tsi/ssl/key_logging/ssl_key_logging.h +0 -81
  1538. data/src/core/tsi/ssl/session_cache/ssl_session.h +0 -71
  1539. data/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc +0 -59
  1540. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +0 -179
  1541. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +0 -99
  1542. data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +0 -77
  1543. data/src/core/tsi/ssl_transport_security.cc +0 -2441
  1544. data/src/core/tsi/ssl_transport_security.h +0 -405
  1545. data/src/core/tsi/ssl_types.h +0 -42
  1546. data/src/core/tsi/transport_security.cc +0 -396
  1547. data/src/core/tsi/transport_security.h +0 -143
  1548. data/src/core/tsi/transport_security_grpc.cc +0 -74
  1549. data/src/core/tsi/transport_security_grpc.h +0 -83
  1550. data/src/core/tsi/transport_security_interface.h +0 -521
  1551. data/src/ruby/lib/grpc/2.6/grpc_c.so +0 -0
  1552. data/third_party/abseil-cpp/absl/algorithm/algorithm.h +0 -159
  1553. data/third_party/abseil-cpp/absl/algorithm/container.h +0 -1774
  1554. data/third_party/abseil-cpp/absl/base/attributes.h +0 -762
  1555. data/third_party/abseil-cpp/absl/base/call_once.h +0 -219
  1556. data/third_party/abseil-cpp/absl/base/casts.h +0 -180
  1557. data/third_party/abseil-cpp/absl/base/config.h +0 -913
  1558. data/third_party/abseil-cpp/absl/base/const_init.h +0 -76
  1559. data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +0 -471
  1560. data/third_party/abseil-cpp/absl/base/internal/atomic_hook.h +0 -200
  1561. data/third_party/abseil-cpp/absl/base/internal/cycleclock.cc +0 -77
  1562. data/third_party/abseil-cpp/absl/base/internal/cycleclock.h +0 -159
  1563. data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +0 -169
  1564. data/third_party/abseil-cpp/absl/base/internal/dynamic_annotations.h +0 -398
  1565. data/third_party/abseil-cpp/absl/base/internal/endian.h +0 -282
  1566. data/third_party/abseil-cpp/absl/base/internal/errno_saver.h +0 -43
  1567. data/third_party/abseil-cpp/absl/base/internal/fast_type_id.h +0 -50
  1568. data/third_party/abseil-cpp/absl/base/internal/hide_ptr.h +0 -51
  1569. data/third_party/abseil-cpp/absl/base/internal/identity.h +0 -37
  1570. data/third_party/abseil-cpp/absl/base/internal/inline_variable.h +0 -107
  1571. data/third_party/abseil-cpp/absl/base/internal/invoke.h +0 -241
  1572. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +0 -620
  1573. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.h +0 -126
  1574. data/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h +0 -134
  1575. data/third_party/abseil-cpp/absl/base/internal/per_thread_tls.h +0 -52
  1576. data/third_party/abseil-cpp/absl/base/internal/prefetch.h +0 -138
  1577. data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +0 -249
  1578. data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +0 -196
  1579. data/third_party/abseil-cpp/absl/base/internal/scheduling_mode.h +0 -58
  1580. data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +0 -232
  1581. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +0 -256
  1582. data/third_party/abseil-cpp/absl/base/internal/spinlock_akaros.inc +0 -35
  1583. data/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +0 -71
  1584. data/third_party/abseil-cpp/absl/base/internal/spinlock_posix.inc +0 -46
  1585. data/third_party/abseil-cpp/absl/base/internal/spinlock_wait.cc +0 -81
  1586. data/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h +0 -95
  1587. data/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc +0 -37
  1588. data/third_party/abseil-cpp/absl/base/internal/strerror.cc +0 -88
  1589. data/third_party/abseil-cpp/absl/base/internal/strerror.h +0 -39
  1590. data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +0 -507
  1591. data/third_party/abseil-cpp/absl/base/internal/sysinfo.h +0 -74
  1592. data/third_party/abseil-cpp/absl/base/internal/thread_annotations.h +0 -271
  1593. data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +0 -156
  1594. data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +0 -265
  1595. data/third_party/abseil-cpp/absl/base/internal/throw_delegate.cc +0 -212
  1596. data/third_party/abseil-cpp/absl/base/internal/throw_delegate.h +0 -75
  1597. data/third_party/abseil-cpp/absl/base/internal/tsan_mutex_interface.h +0 -68
  1598. data/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +0 -82
  1599. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +0 -153
  1600. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +0 -133
  1601. data/third_party/abseil-cpp/absl/base/log_severity.cc +0 -55
  1602. data/third_party/abseil-cpp/absl/base/log_severity.h +0 -172
  1603. data/third_party/abseil-cpp/absl/base/macros.h +0 -158
  1604. data/third_party/abseil-cpp/absl/base/optimization.h +0 -252
  1605. data/third_party/abseil-cpp/absl/base/options.h +0 -238
  1606. data/third_party/abseil-cpp/absl/base/policy_checks.h +0 -111
  1607. data/third_party/abseil-cpp/absl/base/port.h +0 -25
  1608. data/third_party/abseil-cpp/absl/base/thread_annotations.h +0 -335
  1609. data/third_party/abseil-cpp/absl/container/fixed_array.h +0 -529
  1610. data/third_party/abseil-cpp/absl/container/flat_hash_map.h +0 -613
  1611. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +0 -510
  1612. data/third_party/abseil-cpp/absl/container/inlined_vector.h +0 -866
  1613. data/third_party/abseil-cpp/absl/container/internal/common.h +0 -207
  1614. data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +0 -290
  1615. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +0 -442
  1616. data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +0 -163
  1617. data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +0 -208
  1618. data/third_party/abseil-cpp/absl/container/internal/hashtable_debug_hooks.h +0 -85
  1619. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +0 -238
  1620. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +0 -299
  1621. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +0 -31
  1622. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +0 -953
  1623. data/third_party/abseil-cpp/absl/container/internal/layout.h +0 -743
  1624. data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +0 -198
  1625. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +0 -71
  1626. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +0 -2365
  1627. data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc +0 -96
  1628. data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.h +0 -32
  1629. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +0 -1959
  1630. data/third_party/abseil-cpp/absl/debugging/internal/demangle.h +0 -71
  1631. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +0 -387
  1632. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +0 -139
  1633. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +0 -204
  1634. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +0 -139
  1635. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +0 -88
  1636. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +0 -110
  1637. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +0 -108
  1638. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +0 -258
  1639. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +0 -236
  1640. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +0 -24
  1641. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +0 -93
  1642. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +0 -369
  1643. data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +0 -153
  1644. data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +0 -204
  1645. data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.h +0 -158
  1646. data/third_party/abseil-cpp/absl/debugging/stacktrace.cc +0 -142
  1647. data/third_party/abseil-cpp/absl/debugging/stacktrace.h +0 -231
  1648. data/third_party/abseil-cpp/absl/debugging/symbolize.cc +0 -43
  1649. data/third_party/abseil-cpp/absl/debugging/symbolize.h +0 -99
  1650. data/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc +0 -101
  1651. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +0 -1613
  1652. data/third_party/abseil-cpp/absl/debugging/symbolize_emscripten.inc +0 -72
  1653. data/third_party/abseil-cpp/absl/debugging/symbolize_unimplemented.inc +0 -40
  1654. data/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc +0 -81
  1655. data/third_party/abseil-cpp/absl/functional/any_invocable.h +0 -313
  1656. data/third_party/abseil-cpp/absl/functional/bind_front.h +0 -193
  1657. data/third_party/abseil-cpp/absl/functional/function_ref.h +0 -143
  1658. data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +0 -857
  1659. data/third_party/abseil-cpp/absl/functional/internal/front_binder.h +0 -95
  1660. data/third_party/abseil-cpp/absl/functional/internal/function_ref.h +0 -106
  1661. data/third_party/abseil-cpp/absl/hash/hash.h +0 -421
  1662. data/third_party/abseil-cpp/absl/hash/internal/city.cc +0 -349
  1663. data/third_party/abseil-cpp/absl/hash/internal/city.h +0 -78
  1664. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +0 -69
  1665. data/third_party/abseil-cpp/absl/hash/internal/hash.h +0 -1291
  1666. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc +0 -123
  1667. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.h +0 -50
  1668. data/third_party/abseil-cpp/absl/memory/memory.h +0 -699
  1669. data/third_party/abseil-cpp/absl/meta/type_traits.h +0 -797
  1670. data/third_party/abseil-cpp/absl/numeric/bits.h +0 -178
  1671. data/third_party/abseil-cpp/absl/numeric/int128.cc +0 -385
  1672. data/third_party/abseil-cpp/absl/numeric/int128.h +0 -1165
  1673. data/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +0 -296
  1674. data/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +0 -311
  1675. data/third_party/abseil-cpp/absl/numeric/internal/bits.h +0 -358
  1676. data/third_party/abseil-cpp/absl/numeric/internal/representation.h +0 -55
  1677. data/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.cc +0 -93
  1678. data/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.h +0 -130
  1679. data/third_party/abseil-cpp/absl/profiling/internal/sample_recorder.h +0 -245
  1680. data/third_party/abseil-cpp/absl/random/bernoulli_distribution.h +0 -200
  1681. data/third_party/abseil-cpp/absl/random/beta_distribution.h +0 -427
  1682. data/third_party/abseil-cpp/absl/random/discrete_distribution.cc +0 -98
  1683. data/third_party/abseil-cpp/absl/random/discrete_distribution.h +0 -247
  1684. data/third_party/abseil-cpp/absl/random/distributions.h +0 -452
  1685. data/third_party/abseil-cpp/absl/random/exponential_distribution.h +0 -165
  1686. data/third_party/abseil-cpp/absl/random/gaussian_distribution.cc +0 -104
  1687. data/third_party/abseil-cpp/absl/random/gaussian_distribution.h +0 -275
  1688. data/third_party/abseil-cpp/absl/random/internal/distribution_caller.h +0 -95
  1689. data/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits.h +0 -269
  1690. data/third_party/abseil-cpp/absl/random/internal/fastmath.h +0 -57
  1691. data/third_party/abseil-cpp/absl/random/internal/generate_real.h +0 -144
  1692. data/third_party/abseil-cpp/absl/random/internal/iostream_state_saver.h +0 -245
  1693. data/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h +0 -161
  1694. data/third_party/abseil-cpp/absl/random/internal/pcg_engine.h +0 -308
  1695. data/third_party/abseil-cpp/absl/random/internal/platform.h +0 -171
  1696. data/third_party/abseil-cpp/absl/random/internal/pool_urbg.cc +0 -253
  1697. data/third_party/abseil-cpp/absl/random/internal/pool_urbg.h +0 -131
  1698. data/third_party/abseil-cpp/absl/random/internal/randen.cc +0 -91
  1699. data/third_party/abseil-cpp/absl/random/internal/randen.h +0 -96
  1700. data/third_party/abseil-cpp/absl/random/internal/randen_detect.cc +0 -225
  1701. data/third_party/abseil-cpp/absl/random/internal/randen_detect.h +0 -33
  1702. data/third_party/abseil-cpp/absl/random/internal/randen_engine.h +0 -264
  1703. data/third_party/abseil-cpp/absl/random/internal/randen_hwaes.cc +0 -526
  1704. data/third_party/abseil-cpp/absl/random/internal/randen_hwaes.h +0 -50
  1705. data/third_party/abseil-cpp/absl/random/internal/randen_round_keys.cc +0 -462
  1706. data/third_party/abseil-cpp/absl/random/internal/randen_slow.cc +0 -471
  1707. data/third_party/abseil-cpp/absl/random/internal/randen_slow.h +0 -40
  1708. data/third_party/abseil-cpp/absl/random/internal/randen_traits.h +0 -88
  1709. data/third_party/abseil-cpp/absl/random/internal/salted_seed_seq.h +0 -165
  1710. data/third_party/abseil-cpp/absl/random/internal/seed_material.cc +0 -267
  1711. data/third_party/abseil-cpp/absl/random/internal/seed_material.h +0 -104
  1712. data/third_party/abseil-cpp/absl/random/internal/traits.h +0 -149
  1713. data/third_party/abseil-cpp/absl/random/internal/uniform_helper.h +0 -244
  1714. data/third_party/abseil-cpp/absl/random/internal/wide_multiply.h +0 -96
  1715. data/third_party/abseil-cpp/absl/random/log_uniform_int_distribution.h +0 -256
  1716. data/third_party/abseil-cpp/absl/random/poisson_distribution.h +0 -261
  1717. data/third_party/abseil-cpp/absl/random/random.h +0 -189
  1718. data/third_party/abseil-cpp/absl/random/seed_gen_exception.cc +0 -46
  1719. data/third_party/abseil-cpp/absl/random/seed_gen_exception.h +0 -55
  1720. data/third_party/abseil-cpp/absl/random/seed_sequences.cc +0 -29
  1721. data/third_party/abseil-cpp/absl/random/seed_sequences.h +0 -111
  1722. data/third_party/abseil-cpp/absl/random/uniform_int_distribution.h +0 -275
  1723. data/third_party/abseil-cpp/absl/random/uniform_real_distribution.h +0 -202
  1724. data/third_party/abseil-cpp/absl/random/zipf_distribution.h +0 -272
  1725. data/third_party/abseil-cpp/absl/status/internal/status_internal.h +0 -86
  1726. data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +0 -396
  1727. data/third_party/abseil-cpp/absl/status/status.cc +0 -616
  1728. data/third_party/abseil-cpp/absl/status/status.h +0 -892
  1729. data/third_party/abseil-cpp/absl/status/status_payload_printer.cc +0 -38
  1730. data/third_party/abseil-cpp/absl/status/status_payload_printer.h +0 -51
  1731. data/third_party/abseil-cpp/absl/status/statusor.cc +0 -103
  1732. data/third_party/abseil-cpp/absl/status/statusor.h +0 -776
  1733. data/third_party/abseil-cpp/absl/strings/ascii.cc +0 -200
  1734. data/third_party/abseil-cpp/absl/strings/ascii.h +0 -242
  1735. data/third_party/abseil-cpp/absl/strings/charconv.cc +0 -984
  1736. data/third_party/abseil-cpp/absl/strings/charconv.h +0 -120
  1737. data/third_party/abseil-cpp/absl/strings/cord.cc +0 -1328
  1738. data/third_party/abseil-cpp/absl/strings/cord.h +0 -1642
  1739. data/third_party/abseil-cpp/absl/strings/cord_analysis.cc +0 -188
  1740. data/third_party/abseil-cpp/absl/strings/cord_analysis.h +0 -44
  1741. data/third_party/abseil-cpp/absl/strings/cord_buffer.cc +0 -30
  1742. data/third_party/abseil-cpp/absl/strings/cord_buffer.h +0 -572
  1743. data/third_party/abseil-cpp/absl/strings/escaping.cc +0 -949
  1744. data/third_party/abseil-cpp/absl/strings/escaping.h +0 -164
  1745. data/third_party/abseil-cpp/absl/strings/internal/char_map.h +0 -156
  1746. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc +0 -359
  1747. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h +0 -423
  1748. data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +0 -504
  1749. data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.h +0 -99
  1750. data/third_party/abseil-cpp/absl/strings/internal/cord_data_edge.h +0 -63
  1751. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +0 -77
  1752. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +0 -655
  1753. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +0 -1228
  1754. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h +0 -924
  1755. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc +0 -187
  1756. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.h +0 -267
  1757. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc +0 -69
  1758. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.h +0 -212
  1759. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.cc +0 -62
  1760. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.h +0 -50
  1761. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.cc +0 -54
  1762. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.h +0 -102
  1763. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +0 -187
  1764. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.cc +0 -773
  1765. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.h +0 -607
  1766. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring_reader.h +0 -118
  1767. data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.cc +0 -96
  1768. data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.h +0 -85
  1769. data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc +0 -139
  1770. data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.h +0 -131
  1771. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +0 -418
  1772. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.h +0 -298
  1773. data/third_party/abseil-cpp/absl/strings/internal/cordz_statistics.h +0 -88
  1774. data/third_party/abseil-cpp/absl/strings/internal/cordz_update_scope.h +0 -71
  1775. data/third_party/abseil-cpp/absl/strings/internal/cordz_update_tracker.h +0 -123
  1776. data/third_party/abseil-cpp/absl/strings/internal/escaping.cc +0 -181
  1777. data/third_party/abseil-cpp/absl/strings/internal/escaping.h +0 -58
  1778. data/third_party/abseil-cpp/absl/strings/internal/memutil.cc +0 -112
  1779. data/third_party/abseil-cpp/absl/strings/internal/memutil.h +0 -148
  1780. data/third_party/abseil-cpp/absl/strings/internal/ostringstream.cc +0 -36
  1781. data/third_party/abseil-cpp/absl/strings/internal/ostringstream.h +0 -89
  1782. data/third_party/abseil-cpp/absl/strings/internal/resize_uninitialized.h +0 -119
  1783. data/third_party/abseil-cpp/absl/strings/internal/stl_type_traits.h +0 -248
  1784. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +0 -488
  1785. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +0 -526
  1786. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +0 -258
  1787. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +0 -248
  1788. data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +0 -338
  1789. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +0 -74
  1790. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +0 -448
  1791. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +0 -1423
  1792. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +0 -37
  1793. data/third_party/abseil-cpp/absl/strings/internal/str_format/output.cc +0 -72
  1794. data/third_party/abseil-cpp/absl/strings/internal/str_format/output.h +0 -97
  1795. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +0 -339
  1796. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +0 -359
  1797. data/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +0 -317
  1798. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +0 -430
  1799. data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +0 -72
  1800. data/third_party/abseil-cpp/absl/strings/internal/utf8.cc +0 -53
  1801. data/third_party/abseil-cpp/absl/strings/internal/utf8.h +0 -50
  1802. data/third_party/abseil-cpp/absl/strings/match.cc +0 -43
  1803. data/third_party/abseil-cpp/absl/strings/match.h +0 -100
  1804. data/third_party/abseil-cpp/absl/strings/numbers.cc +0 -1093
  1805. data/third_party/abseil-cpp/absl/strings/numbers.h +0 -303
  1806. data/third_party/abseil-cpp/absl/strings/str_cat.cc +0 -246
  1807. data/third_party/abseil-cpp/absl/strings/str_cat.h +0 -415
  1808. data/third_party/abseil-cpp/absl/strings/str_format.h +0 -812
  1809. data/third_party/abseil-cpp/absl/strings/str_join.h +0 -287
  1810. data/third_party/abseil-cpp/absl/strings/str_replace.cc +0 -82
  1811. data/third_party/abseil-cpp/absl/strings/str_replace.h +0 -219
  1812. data/third_party/abseil-cpp/absl/strings/str_split.cc +0 -139
  1813. data/third_party/abseil-cpp/absl/strings/str_split.h +0 -547
  1814. data/third_party/abseil-cpp/absl/strings/string_view.cc +0 -219
  1815. data/third_party/abseil-cpp/absl/strings/string_view.h +0 -711
  1816. data/third_party/abseil-cpp/absl/strings/strip.h +0 -93
  1817. data/third_party/abseil-cpp/absl/strings/substitute.cc +0 -172
  1818. data/third_party/abseil-cpp/absl/strings/substitute.h +0 -729
  1819. data/third_party/abseil-cpp/absl/synchronization/barrier.cc +0 -52
  1820. data/third_party/abseil-cpp/absl/synchronization/barrier.h +0 -79
  1821. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc +0 -67
  1822. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.h +0 -101
  1823. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +0 -143
  1824. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.h +0 -56
  1825. data/third_party/abseil-cpp/absl/synchronization/internal/futex.h +0 -154
  1826. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +0 -698
  1827. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.h +0 -141
  1828. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +0 -156
  1829. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +0 -102
  1830. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +0 -110
  1831. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +0 -403
  1832. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +0 -161
  1833. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +0 -2786
  1834. data/third_party/abseil-cpp/absl/synchronization/mutex.h +0 -1090
  1835. data/third_party/abseil-cpp/absl/synchronization/notification.cc +0 -78
  1836. data/third_party/abseil-cpp/absl/synchronization/notification.h +0 -124
  1837. data/third_party/abseil-cpp/absl/time/civil_time.cc +0 -173
  1838. data/third_party/abseil-cpp/absl/time/civil_time.h +0 -538
  1839. data/third_party/abseil-cpp/absl/time/clock.cc +0 -585
  1840. data/third_party/abseil-cpp/absl/time/clock.h +0 -74
  1841. data/third_party/abseil-cpp/absl/time/duration.cc +0 -955
  1842. data/third_party/abseil-cpp/absl/time/format.cc +0 -160
  1843. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time.h +0 -332
  1844. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +0 -632
  1845. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +0 -459
  1846. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/zone_info_source.h +0 -102
  1847. data/third_party/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc +0 -94
  1848. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +0 -140
  1849. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.h +0 -52
  1850. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +0 -1029
  1851. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc +0 -45
  1852. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h +0 -77
  1853. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +0 -113
  1854. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h +0 -93
  1855. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +0 -1027
  1856. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h +0 -137
  1857. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +0 -315
  1858. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h +0 -55
  1859. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +0 -236
  1860. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc +0 -159
  1861. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.h +0 -132
  1862. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +0 -122
  1863. data/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +0 -115
  1864. data/third_party/abseil-cpp/absl/time/internal/get_current_time_chrono.inc +0 -31
  1865. data/third_party/abseil-cpp/absl/time/internal/get_current_time_posix.inc +0 -24
  1866. data/third_party/abseil-cpp/absl/time/time.cc +0 -500
  1867. data/third_party/abseil-cpp/absl/time/time.h +0 -1620
  1868. data/third_party/abseil-cpp/absl/types/bad_optional_access.cc +0 -48
  1869. data/third_party/abseil-cpp/absl/types/bad_optional_access.h +0 -78
  1870. data/third_party/abseil-cpp/absl/types/bad_variant_access.cc +0 -64
  1871. data/third_party/abseil-cpp/absl/types/bad_variant_access.h +0 -82
  1872. data/third_party/abseil-cpp/absl/types/internal/optional.h +0 -404
  1873. data/third_party/abseil-cpp/absl/types/internal/span.h +0 -128
  1874. data/third_party/abseil-cpp/absl/types/internal/variant.h +0 -1646
  1875. data/third_party/abseil-cpp/absl/types/optional.h +0 -779
  1876. data/third_party/abseil-cpp/absl/types/span.h +0 -727
  1877. data/third_party/abseil-cpp/absl/types/variant.h +0 -866
  1878. data/third_party/abseil-cpp/absl/utility/utility.h +0 -350
  1879. data/third_party/address_sorting/address_sorting.c +0 -375
  1880. data/third_party/address_sorting/address_sorting_internal.h +0 -70
  1881. data/third_party/address_sorting/address_sorting_posix.c +0 -98
  1882. data/third_party/address_sorting/address_sorting_windows.c +0 -95
  1883. data/third_party/address_sorting/include/address_sorting/address_sorting.h +0 -115
  1884. data/third_party/boringssl-with-bazel/err_data.c +0 -1493
  1885. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +0 -284
  1886. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +0 -122
  1887. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c +0 -91
  1888. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.c +0 -87
  1889. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_enum.c +0 -195
  1890. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c +0 -266
  1891. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.c +0 -88
  1892. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c +0 -420
  1893. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +0 -298
  1894. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +0 -299
  1895. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.c +0 -77
  1896. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_print.c +0 -83
  1897. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.c +0 -650
  1898. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +0 -266
  1899. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +0 -212
  1900. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +0 -163
  1901. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +0 -264
  1902. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utf8.c +0 -236
  1903. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +0 -452
  1904. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.c +0 -80
  1905. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +0 -101
  1906. data/third_party/boringssl-with-bazel/src/crypto/asn1/charmap.h +0 -15
  1907. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c +0 -102
  1908. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c +0 -91
  1909. data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +0 -224
  1910. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +0 -969
  1911. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +0 -710
  1912. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +0 -233
  1913. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c +0 -332
  1914. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c +0 -131
  1915. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c +0 -281
  1916. data/third_party/boringssl-with-bazel/src/crypto/asn1/time_support.c +0 -206
  1917. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +0 -482
  1918. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +0 -702
  1919. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +0 -324
  1920. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.c +0 -541
  1921. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +0 -275
  1922. data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +0 -311
  1923. data/third_party/boringssl-with-bazel/src/crypto/bio/hexdump.c +0 -192
  1924. data/third_party/boringssl-with-bazel/src/crypto/bio/internal.h +0 -111
  1925. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.c +0 -483
  1926. data/third_party/boringssl-with-bazel/src/crypto/bio/printf.c +0 -115
  1927. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.c +0 -192
  1928. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +0 -122
  1929. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +0 -156
  1930. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/bn_asn1.c +0 -57
  1931. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/convert.c +0 -470
  1932. data/third_party/boringssl-with-bazel/src/crypto/buf/buf.c +0 -172
  1933. data/third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.c +0 -52
  1934. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c +0 -266
  1935. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.c +0 -728
  1936. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +0 -711
  1937. data/third_party/boringssl-with-bazel/src/crypto/bytestring/internal.h +0 -96
  1938. data/third_party/boringssl-with-bazel/src/crypto/bytestring/unicode.c +0 -155
  1939. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +0 -175
  1940. data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +0 -45
  1941. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/cipher_extra.c +0 -127
  1942. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/derive_key.c +0 -152
  1943. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesccm.c +0 -447
  1944. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesctrhmac.c +0 -283
  1945. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesgcmsiv.c +0 -891
  1946. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c +0 -343
  1947. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.c +0 -85
  1948. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc2.c +0 -462
  1949. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.c +0 -87
  1950. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +0 -601
  1951. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +0 -226
  1952. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +0 -338
  1953. data/third_party/boringssl-with-bazel/src/crypto/cmac/cmac.c +0 -278
  1954. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +0 -821
  1955. data/third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h +0 -127
  1956. data/third_party/boringssl-with-bazel/src/crypto/conf/internal.h +0 -31
  1957. data/third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-fuchsia.c +0 -55
  1958. data/third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-linux.c +0 -62
  1959. data/third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-win.c +0 -41
  1960. data/third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.c +0 -229
  1961. data/third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.h +0 -201
  1962. data/third_party/boringssl-with-bazel/src/crypto/cpu-arm.c +0 -38
  1963. data/third_party/boringssl-with-bazel/src/crypto/cpu-intel.c +0 -291
  1964. data/third_party/boringssl-with-bazel/src/crypto/cpu-ppc64le.c +0 -38
  1965. data/third_party/boringssl-with-bazel/src/crypto/crypto.c +0 -226
  1966. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +0 -2159
  1967. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +0 -7872
  1968. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +0 -146
  1969. data/third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c +0 -539
  1970. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c +0 -160
  1971. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c +0 -272
  1972. data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +0 -268
  1973. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +0 -967
  1974. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +0 -390
  1975. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +0 -34
  1976. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +0 -559
  1977. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_derive.c +0 -95
  1978. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +0 -385
  1979. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +0 -56
  1980. data/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/ecdh_extra.c +0 -124
  1981. data/third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/ecdsa_asn1.c +0 -267
  1982. data/third_party/boringssl-with-bazel/src/crypto/engine/engine.c +0 -99
  1983. data/third_party/boringssl-with-bazel/src/crypto/err/err.c +0 -857
  1984. data/third_party/boringssl-with-bazel/src/crypto/err/internal.h +0 -58
  1985. data/third_party/boringssl-with-bazel/src/crypto/evp/digestsign.c +0 -231
  1986. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +0 -456
  1987. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +0 -547
  1988. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c +0 -484
  1989. data/third_party/boringssl-with-bazel/src/crypto/evp/internal.h +0 -269
  1990. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c +0 -277
  1991. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c +0 -286
  1992. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c +0 -255
  1993. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.c +0 -104
  1994. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.c +0 -221
  1995. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c +0 -648
  1996. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.c +0 -194
  1997. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.c +0 -110
  1998. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.c +0 -248
  1999. data/third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.c +0 -146
  2000. data/third_party/boringssl-with-bazel/src/crypto/evp/print.c +0 -489
  2001. data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.c +0 -211
  2002. data/third_party/boringssl-with-bazel/src/crypto/evp/sign.c +0 -151
  2003. data/third_party/boringssl-with-bazel/src/crypto/ex_data.c +0 -261
  2004. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.c +0 -108
  2005. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.c +0 -1282
  2006. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +0 -238
  2007. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.c +0 -236
  2008. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.c +0 -122
  2009. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +0 -266
  2010. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/add.c +0 -316
  2011. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/asm/x86_64-gcc.c +0 -541
  2012. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.c +0 -438
  2013. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bytes.c +0 -230
  2014. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/cmp.c +0 -200
  2015. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/ctx.c +0 -236
  2016. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +0 -902
  2017. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.c +0 -87
  2018. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c +0 -1288
  2019. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.c +0 -378
  2020. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.c +0 -326
  2021. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/generic.c +0 -711
  2022. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +0 -715
  2023. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/jacobi.c +0 -146
  2024. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.c +0 -502
  2025. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.c +0 -186
  2026. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.c +0 -749
  2027. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.c +0 -1064
  2028. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.c +0 -341
  2029. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.c +0 -226
  2030. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.h +0 -104
  2031. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.c +0 -364
  2032. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.c +0 -498
  2033. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/aead.c +0 -284
  2034. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +0 -648
  2035. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +0 -1473
  2036. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_des.c +0 -237
  2037. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/internal.h +0 -128
  2038. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h +0 -89
  2039. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/des/des.c +0 -784
  2040. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/des/internal.h +0 -238
  2041. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.c +0 -217
  2042. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.c +0 -456
  2043. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c +0 -282
  2044. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c +0 -304
  2045. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/internal.h +0 -112
  2046. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +0 -195
  2047. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +0 -1268
  2048. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +0 -472
  2049. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c +0 -524
  2050. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.c +0 -100
  2051. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +0 -772
  2052. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c +0 -328
  2053. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +0 -1180
  2054. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-x86_64-table.h +0 -9497
  2055. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-x86_64.c +0 -633
  2056. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-x86_64.h +0 -153
  2057. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +0 -740
  2058. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +0 -297
  2059. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c +0 -175
  2060. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.c +0 -357
  2061. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +0 -270
  2062. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/util.c +0 -255
  2063. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c +0 -270
  2064. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.c +0 -122
  2065. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +0 -338
  2066. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +0 -39
  2067. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c +0 -32
  2068. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.c +0 -228
  2069. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +0 -240
  2070. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/internal.h +0 -37
  2071. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +0 -284
  2072. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +0 -178
  2073. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c +0 -203
  2074. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +0 -201
  2075. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +0 -733
  2076. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.c +0 -304
  2077. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +0 -420
  2078. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +0 -97
  2079. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/polyval.c +0 -91
  2080. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/ctrdrbg.c +0 -202
  2081. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.c +0 -137
  2082. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.h +0 -49
  2083. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/getrandom_fillin.h +0 -64
  2084. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +0 -184
  2085. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +0 -457
  2086. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +0 -401
  2087. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.c +0 -243
  2088. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +0 -131
  2089. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.c +0 -695
  2090. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +0 -935
  2091. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +0 -1416
  2092. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c +0 -79
  2093. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +0 -874
  2094. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +0 -53
  2095. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1-altivec.c +0 -361
  2096. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +0 -357
  2097. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +0 -321
  2098. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +0 -508
  2099. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h +0 -39
  2100. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.c +0 -165
  2101. data/third_party/boringssl-with-bazel/src/crypto/hkdf/hkdf.c +0 -112
  2102. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +0 -618
  2103. data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c +0 -2198
  2104. data/third_party/boringssl-with-bazel/src/crypto/hrss/internal.h +0 -68
  2105. data/third_party/boringssl-with-bazel/src/crypto/internal.h +0 -959
  2106. data/third_party/boringssl-with-bazel/src/crypto/lhash/internal.h +0 -253
  2107. data/third_party/boringssl-with-bazel/src/crypto/lhash/lhash.c +0 -353
  2108. data/third_party/boringssl-with-bazel/src/crypto/mem.c +0 -410
  2109. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +0 -553
  2110. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +0 -11585
  2111. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_xref.c +0 -122
  2112. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.c +0 -252
  2113. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.c +0 -358
  2114. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +0 -769
  2115. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.c +0 -87
  2116. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c +0 -255
  2117. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c +0 -214
  2118. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_x509.c +0 -65
  2119. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_xaux.c +0 -65
  2120. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/internal.h +0 -58
  2121. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.c +0 -193
  2122. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +0 -526
  2123. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +0 -137
  2124. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.c +0 -316
  2125. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +0 -530
  2126. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +0 -1383
  2127. data/third_party/boringssl-with-bazel/src/crypto/poly1305/internal.h +0 -41
  2128. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c +0 -321
  2129. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.c +0 -307
  2130. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.c +0 -860
  2131. data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +0 -49
  2132. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.c +0 -257
  2133. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c +0 -56
  2134. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c +0 -46
  2135. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/fuchsia.c +0 -34
  2136. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c +0 -34
  2137. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +0 -74
  2138. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c +0 -73
  2139. data/third_party/boringssl-with-bazel/src/crypto/rc4/rc4.c +0 -98
  2140. data/third_party/boringssl-with-bazel/src/crypto/refcount_c11.c +0 -67
  2141. data/third_party/boringssl-with-bazel/src/crypto/refcount_lock.c +0 -53
  2142. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_asn1.c +0 -324
  2143. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_print.c +0 -22
  2144. data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c +0 -82
  2145. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +0 -425
  2146. data/third_party/boringssl-with-bazel/src/crypto/thread.c +0 -110
  2147. data/third_party/boringssl-with-bazel/src/crypto/thread_none.c +0 -59
  2148. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +0 -182
  2149. data/third_party/boringssl-with-bazel/src/crypto/thread_win.c +0 -260
  2150. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +0 -318
  2151. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +0 -1399
  2152. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +0 -858
  2153. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +0 -766
  2154. data/third_party/boringssl-with-bazel/src/crypto/x509/a_digest.c +0 -96
  2155. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.c +0 -128
  2156. data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.c +0 -118
  2157. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +0 -163
  2158. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +0 -826
  2159. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +0 -459
  2160. data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.c +0 -277
  2161. data/third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.c +0 -83
  2162. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +0 -404
  2163. data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.c +0 -246
  2164. data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c +0 -400
  2165. data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c +0 -130
  2166. data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +0 -246
  2167. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +0 -365
  2168. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.c +0 -116
  2169. data/third_party/boringssl-with-bazel/src/crypto/x509/x509.c +0 -90
  2170. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +0 -358
  2171. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +0 -461
  2172. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.c +0 -106
  2173. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_def.c +0 -103
  2174. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c +0 -212
  2175. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +0 -830
  2176. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c +0 -199
  2177. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +0 -304
  2178. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +0 -240
  2179. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +0 -331
  2180. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.c +0 -204
  2181. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +0 -281
  2182. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +0 -2456
  2183. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +0 -651
  2184. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +0 -284
  2185. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +0 -388
  2186. data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.c +0 -84
  2187. data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.c +0 -137
  2188. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +0 -153
  2189. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c +0 -386
  2190. data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +0 -98
  2191. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +0 -565
  2192. data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.c +0 -77
  2193. data/third_party/boringssl-with-bazel/src/crypto/x509/x_info.c +0 -98
  2194. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +0 -544
  2195. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pkey.c +0 -106
  2196. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +0 -217
  2197. data/third_party/boringssl-with-bazel/src/crypto/x509/x_req.c +0 -106
  2198. data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c +0 -94
  2199. data/third_party/boringssl-with-bazel/src/crypto/x509/x_spki.c +0 -80
  2200. data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +0 -71
  2201. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +0 -394
  2202. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +0 -201
  2203. data/third_party/boringssl-with-bazel/src/crypto/x509v3/ext_dat.h +0 -138
  2204. data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +0 -289
  2205. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_cache.c +0 -287
  2206. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_data.c +0 -132
  2207. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_lib.c +0 -155
  2208. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_map.c +0 -131
  2209. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_node.c +0 -189
  2210. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_tree.c +0 -843
  2211. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akey.c +0 -226
  2212. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akeya.c +0 -72
  2213. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c +0 -640
  2214. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_bcons.c +0 -133
  2215. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_bitst.c +0 -144
  2216. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c +0 -468
  2217. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +0 -500
  2218. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_crld.c +0 -563
  2219. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_enum.c +0 -106
  2220. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_extku.c +0 -148
  2221. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_genn.c +0 -266
  2222. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ia5.c +0 -121
  2223. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_info.c +0 -218
  2224. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_int.c +0 -91
  2225. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +0 -379
  2226. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ncons.c +0 -558
  2227. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ocsp.c +0 -68
  2228. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pci.c +0 -289
  2229. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcia.c +0 -57
  2230. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcons.c +0 -139
  2231. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pmaps.c +0 -154
  2232. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c +0 -230
  2233. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +0 -929
  2234. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +0 -156
  2235. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +0 -1437
  2236. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +0 -480
  2237. data/third_party/boringssl-with-bazel/src/include/openssl/aes.h +0 -207
  2238. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +0 -240
  2239. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +0 -2039
  2240. data/third_party/boringssl-with-bazel/src/include/openssl/asn1_mac.h +0 -18
  2241. data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +0 -718
  2242. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +0 -627
  2243. data/third_party/boringssl-with-bazel/src/include/openssl/base64.h +0 -198
  2244. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +0 -939
  2245. data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +0 -62
  2246. data/third_party/boringssl-with-bazel/src/include/openssl/blowfish.h +0 -93
  2247. data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +0 -1057
  2248. data/third_party/boringssl-with-bazel/src/include/openssl/buf.h +0 -137
  2249. data/third_party/boringssl-with-bazel/src/include/openssl/buffer.h +0 -18
  2250. data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +0 -586
  2251. data/third_party/boringssl-with-bazel/src/include/openssl/cast.h +0 -96
  2252. data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +0 -41
  2253. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +0 -673
  2254. data/third_party/boringssl-with-bazel/src/include/openssl/cmac.h +0 -91
  2255. data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +0 -183
  2256. data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +0 -202
  2257. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +0 -169
  2258. data/third_party/boringssl-with-bazel/src/include/openssl/curve25519.h +0 -201
  2259. data/third_party/boringssl-with-bazel/src/include/openssl/des.h +0 -183
  2260. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +0 -353
  2261. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +0 -348
  2262. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +0 -443
  2263. data/third_party/boringssl-with-bazel/src/include/openssl/dtls1.h +0 -16
  2264. data/third_party/boringssl-with-bazel/src/include/openssl/e_os2.h +0 -18
  2265. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +0 -442
  2266. data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +0 -357
  2267. data/third_party/boringssl-with-bazel/src/include/openssl/ecdh.h +0 -118
  2268. data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +0 -236
  2269. data/third_party/boringssl-with-bazel/src/include/openssl/engine.h +0 -109
  2270. data/third_party/boringssl-with-bazel/src/include/openssl/err.h +0 -466
  2271. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +0 -1083
  2272. data/third_party/boringssl-with-bazel/src/include/openssl/evp_errors.h +0 -99
  2273. data/third_party/boringssl-with-bazel/src/include/openssl/ex_data.h +0 -203
  2274. data/third_party/boringssl-with-bazel/src/include/openssl/hkdf.h +0 -68
  2275. data/third_party/boringssl-with-bazel/src/include/openssl/hmac.h +0 -186
  2276. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +0 -350
  2277. data/third_party/boringssl-with-bazel/src/include/openssl/hrss.h +0 -102
  2278. data/third_party/boringssl-with-bazel/src/include/openssl/is_boringssl.h +0 -16
  2279. data/third_party/boringssl-with-bazel/src/include/openssl/lhash.h +0 -81
  2280. data/third_party/boringssl-with-bazel/src/include/openssl/md4.h +0 -108
  2281. data/third_party/boringssl-with-bazel/src/include/openssl/md5.h +0 -109
  2282. data/third_party/boringssl-with-bazel/src/include/openssl/mem.h +0 -184
  2283. data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +0 -4259
  2284. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +0 -256
  2285. data/third_party/boringssl-with-bazel/src/include/openssl/obj_mac.h +0 -18
  2286. data/third_party/boringssl-with-bazel/src/include/openssl/objects.h +0 -18
  2287. data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +0 -70
  2288. data/third_party/boringssl-with-bazel/src/include/openssl/opensslv.h +0 -18
  2289. data/third_party/boringssl-with-bazel/src/include/openssl/ossl_typ.h +0 -18
  2290. data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +0 -483
  2291. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs12.h +0 -18
  2292. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +0 -239
  2293. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +0 -282
  2294. data/third_party/boringssl-with-bazel/src/include/openssl/poly1305.h +0 -49
  2295. data/third_party/boringssl-with-bazel/src/include/openssl/pool.h +0 -108
  2296. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +0 -114
  2297. data/third_party/boringssl-with-bazel/src/include/openssl/rc4.h +0 -96
  2298. data/third_party/boringssl-with-bazel/src/include/openssl/ripemd.h +0 -108
  2299. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +0 -855
  2300. data/third_party/boringssl-with-bazel/src/include/openssl/safestack.h +0 -16
  2301. data/third_party/boringssl-with-bazel/src/include/openssl/sha.h +0 -294
  2302. data/third_party/boringssl-with-bazel/src/include/openssl/siphash.h +0 -37
  2303. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +0 -222
  2304. data/third_party/boringssl-with-bazel/src/include/openssl/srtp.h +0 -18
  2305. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +0 -5624
  2306. data/third_party/boringssl-with-bazel/src/include/openssl/ssl3.h +0 -333
  2307. data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +0 -542
  2308. data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +0 -191
  2309. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +0 -647
  2310. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +0 -310
  2311. data/third_party/boringssl-with-bazel/src/include/openssl/type_check.h +0 -90
  2312. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +0 -2419
  2313. data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +0 -18
  2314. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +0 -1021
  2315. data/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc +0 -192
  2316. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +0 -835
  2317. data/third_party/boringssl-with-bazel/src/ssl/d1_lib.cc +0 -268
  2318. data/third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc +0 -273
  2319. data/third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc +0 -232
  2320. data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +0 -200
  2321. data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +0 -353
  2322. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +0 -1084
  2323. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +0 -4325
  2324. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +0 -986
  2325. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +0 -758
  2326. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +0 -1986
  2327. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +0 -1956
  2328. data/third_party/boringssl-with-bazel/src/ssl/internal.h +0 -3953
  2329. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +0 -730
  2330. data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +0 -219
  2331. data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +0 -453
  2332. data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +0 -432
  2333. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +0 -896
  2334. data/third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc +0 -306
  2335. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +0 -1014
  2336. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +0 -1717
  2337. data/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc +0 -585
  2338. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +0 -400
  2339. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +0 -3072
  2340. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +0 -837
  2341. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +0 -1342
  2342. data/third_party/boringssl-with-bazel/src/ssl/ssl_stat.cc +0 -233
  2343. data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +0 -272
  2344. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +0 -402
  2345. data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +0 -1363
  2346. data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +0 -384
  2347. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +0 -733
  2348. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +0 -1122
  2349. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +0 -582
  2350. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +0 -1349
  2351. data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +0 -319
  2352. data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +0 -705
  2353. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_32.h +0 -981
  2354. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64.h +0 -619
  2355. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h +0 -3147
  2356. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64.h +0 -1226
  2357. data/third_party/cares/ares_build.h +0 -223
  2358. data/third_party/cares/cares/include/ares.h +0 -742
  2359. data/third_party/cares/cares/include/ares_dns.h +0 -112
  2360. data/third_party/cares/cares/include/ares_rules.h +0 -125
  2361. data/third_party/cares/cares/include/ares_version.h +0 -24
  2362. data/third_party/cares/cares/src/lib/ares__close_sockets.c +0 -61
  2363. data/third_party/cares/cares/src/lib/ares__get_hostent.c +0 -260
  2364. data/third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c +0 -260
  2365. data/third_party/cares/cares/src/lib/ares__read_line.c +0 -73
  2366. data/third_party/cares/cares/src/lib/ares__readaddrinfo.c +0 -264
  2367. data/third_party/cares/cares/src/lib/ares__sortaddrinfo.c +0 -499
  2368. data/third_party/cares/cares/src/lib/ares__timeval.c +0 -111
  2369. data/third_party/cares/cares/src/lib/ares_android.c +0 -444
  2370. data/third_party/cares/cares/src/lib/ares_android.h +0 -27
  2371. data/third_party/cares/cares/src/lib/ares_cancel.c +0 -63
  2372. data/third_party/cares/cares/src/lib/ares_create_query.c +0 -197
  2373. data/third_party/cares/cares/src/lib/ares_data.c +0 -240
  2374. data/third_party/cares/cares/src/lib/ares_data.h +0 -74
  2375. data/third_party/cares/cares/src/lib/ares_destroy.c +0 -113
  2376. data/third_party/cares/cares/src/lib/ares_expand_name.c +0 -300
  2377. data/third_party/cares/cares/src/lib/ares_expand_string.c +0 -67
  2378. data/third_party/cares/cares/src/lib/ares_fds.c +0 -59
  2379. data/third_party/cares/cares/src/lib/ares_free_hostent.c +0 -43
  2380. data/third_party/cares/cares/src/lib/ares_free_string.c +0 -25
  2381. data/third_party/cares/cares/src/lib/ares_freeaddrinfo.c +0 -59
  2382. data/third_party/cares/cares/src/lib/ares_getaddrinfo.c +0 -772
  2383. data/third_party/cares/cares/src/lib/ares_getenv.c +0 -28
  2384. data/third_party/cares/cares/src/lib/ares_getenv.h +0 -26
  2385. data/third_party/cares/cares/src/lib/ares_gethostbyaddr.c +0 -287
  2386. data/third_party/cares/cares/src/lib/ares_gethostbyname.c +0 -534
  2387. data/third_party/cares/cares/src/lib/ares_getnameinfo.c +0 -447
  2388. data/third_party/cares/cares/src/lib/ares_getsock.c +0 -66
  2389. data/third_party/cares/cares/src/lib/ares_inet_net_pton.h +0 -25
  2390. data/third_party/cares/cares/src/lib/ares_init.c +0 -2654
  2391. data/third_party/cares/cares/src/lib/ares_iphlpapi.h +0 -221
  2392. data/third_party/cares/cares/src/lib/ares_ipv6.h +0 -85
  2393. data/third_party/cares/cares/src/lib/ares_library_init.c +0 -200
  2394. data/third_party/cares/cares/src/lib/ares_library_init.h +0 -43
  2395. data/third_party/cares/cares/src/lib/ares_llist.c +0 -63
  2396. data/third_party/cares/cares/src/lib/ares_llist.h +0 -39
  2397. data/third_party/cares/cares/src/lib/ares_mkquery.c +0 -24
  2398. data/third_party/cares/cares/src/lib/ares_nameser.h +0 -482
  2399. data/third_party/cares/cares/src/lib/ares_nowarn.c +0 -260
  2400. data/third_party/cares/cares/src/lib/ares_nowarn.h +0 -61
  2401. data/third_party/cares/cares/src/lib/ares_options.c +0 -406
  2402. data/third_party/cares/cares/src/lib/ares_parse_a_reply.c +0 -209
  2403. data/third_party/cares/cares/src/lib/ares_parse_aaaa_reply.c +0 -212
  2404. data/third_party/cares/cares/src/lib/ares_parse_caa_reply.c +0 -199
  2405. data/third_party/cares/cares/src/lib/ares_parse_mx_reply.c +0 -164
  2406. data/third_party/cares/cares/src/lib/ares_parse_naptr_reply.c +0 -183
  2407. data/third_party/cares/cares/src/lib/ares_parse_ns_reply.c +0 -177
  2408. data/third_party/cares/cares/src/lib/ares_parse_ptr_reply.c +0 -228
  2409. data/third_party/cares/cares/src/lib/ares_parse_soa_reply.c +0 -179
  2410. data/third_party/cares/cares/src/lib/ares_parse_srv_reply.c +0 -168
  2411. data/third_party/cares/cares/src/lib/ares_parse_txt_reply.c +0 -214
  2412. data/third_party/cares/cares/src/lib/ares_platform.c +0 -11042
  2413. data/third_party/cares/cares/src/lib/ares_platform.h +0 -43
  2414. data/third_party/cares/cares/src/lib/ares_private.h +0 -423
  2415. data/third_party/cares/cares/src/lib/ares_process.c +0 -1548
  2416. data/third_party/cares/cares/src/lib/ares_query.c +0 -180
  2417. data/third_party/cares/cares/src/lib/ares_search.c +0 -321
  2418. data/third_party/cares/cares/src/lib/ares_send.c +0 -131
  2419. data/third_party/cares/cares/src/lib/ares_setup.h +0 -220
  2420. data/third_party/cares/cares/src/lib/ares_strcasecmp.c +0 -66
  2421. data/third_party/cares/cares/src/lib/ares_strcasecmp.h +0 -30
  2422. data/third_party/cares/cares/src/lib/ares_strdup.c +0 -49
  2423. data/third_party/cares/cares/src/lib/ares_strdup.h +0 -24
  2424. data/third_party/cares/cares/src/lib/ares_strerror.c +0 -56
  2425. data/third_party/cares/cares/src/lib/ares_strsplit.c +0 -178
  2426. data/third_party/cares/cares/src/lib/ares_strsplit.h +0 -43
  2427. data/third_party/cares/cares/src/lib/ares_timeout.c +0 -88
  2428. data/third_party/cares/cares/src/lib/ares_version.c +0 -11
  2429. data/third_party/cares/cares/src/lib/ares_writev.c +0 -79
  2430. data/third_party/cares/cares/src/lib/ares_writev.h +0 -36
  2431. data/third_party/cares/cares/src/lib/bitncmp.c +0 -59
  2432. data/third_party/cares/cares/src/lib/bitncmp.h +0 -26
  2433. data/third_party/cares/cares/src/lib/config-dos.h +0 -115
  2434. data/third_party/cares/cares/src/lib/config-win32.h +0 -351
  2435. data/third_party/cares/cares/src/lib/inet_net_pton.c +0 -444
  2436. data/third_party/cares/cares/src/lib/inet_ntop.c +0 -201
  2437. data/third_party/cares/cares/src/lib/setup_once.h +0 -554
  2438. data/third_party/cares/cares/src/lib/windows_port.c +0 -22
  2439. data/third_party/cares/config_darwin/ares_config.h +0 -428
  2440. data/third_party/cares/config_freebsd/ares_config.h +0 -505
  2441. data/third_party/cares/config_linux/ares_config.h +0 -461
  2442. data/third_party/cares/config_openbsd/ares_config.h +0 -505
  2443. data/third_party/re2/re2/bitmap256.h +0 -117
  2444. data/third_party/re2/re2/bitstate.cc +0 -385
  2445. data/third_party/re2/re2/compile.cc +0 -1261
  2446. data/third_party/re2/re2/dfa.cc +0 -2118
  2447. data/third_party/re2/re2/filtered_re2.cc +0 -137
  2448. data/third_party/re2/re2/filtered_re2.h +0 -114
  2449. data/third_party/re2/re2/mimics_pcre.cc +0 -197
  2450. data/third_party/re2/re2/nfa.cc +0 -713
  2451. data/third_party/re2/re2/onepass.cc +0 -623
  2452. data/third_party/re2/re2/parse.cc +0 -2483
  2453. data/third_party/re2/re2/perl_groups.cc +0 -119
  2454. data/third_party/re2/re2/pod_array.h +0 -55
  2455. data/third_party/re2/re2/prefilter.cc +0 -711
  2456. data/third_party/re2/re2/prefilter.h +0 -108
  2457. data/third_party/re2/re2/prefilter_tree.cc +0 -407
  2458. data/third_party/re2/re2/prefilter_tree.h +0 -139
  2459. data/third_party/re2/re2/prog.cc +0 -1166
  2460. data/third_party/re2/re2/prog.h +0 -455
  2461. data/third_party/re2/re2/re2.cc +0 -1331
  2462. data/third_party/re2/re2/re2.h +0 -1017
  2463. data/third_party/re2/re2/regexp.cc +0 -987
  2464. data/third_party/re2/re2/regexp.h +0 -665
  2465. data/third_party/re2/re2/set.cc +0 -176
  2466. data/third_party/re2/re2/set.h +0 -85
  2467. data/third_party/re2/re2/simplify.cc +0 -665
  2468. data/third_party/re2/re2/sparse_array.h +0 -392
  2469. data/third_party/re2/re2/sparse_set.h +0 -264
  2470. data/third_party/re2/re2/stringpiece.cc +0 -65
  2471. data/third_party/re2/re2/stringpiece.h +0 -210
  2472. data/third_party/re2/re2/tostring.cc +0 -351
  2473. data/third_party/re2/re2/unicode_casefold.cc +0 -582
  2474. data/third_party/re2/re2/unicode_casefold.h +0 -78
  2475. data/third_party/re2/re2/unicode_groups.cc +0 -6269
  2476. data/third_party/re2/re2/unicode_groups.h +0 -67
  2477. data/third_party/re2/re2/walker-inl.h +0 -246
  2478. data/third_party/re2/util/benchmark.h +0 -156
  2479. data/third_party/re2/util/flags.h +0 -26
  2480. data/third_party/re2/util/logging.h +0 -109
  2481. data/third_party/re2/util/malloc_counter.h +0 -19
  2482. data/third_party/re2/util/mix.h +0 -41
  2483. data/third_party/re2/util/mutex.h +0 -148
  2484. data/third_party/re2/util/pcre.cc +0 -1025
  2485. data/third_party/re2/util/pcre.h +0 -681
  2486. data/third_party/re2/util/rune.cc +0 -260
  2487. data/third_party/re2/util/strutil.cc +0 -149
  2488. data/third_party/re2/util/strutil.h +0 -21
  2489. data/third_party/re2/util/test.h +0 -50
  2490. data/third_party/re2/util/utf.h +0 -44
  2491. data/third_party/re2/util/util.h +0 -42
  2492. data/third_party/upb/third_party/utf8_range/naive.c +0 -92
  2493. data/third_party/upb/third_party/utf8_range/range2-neon.c +0 -157
  2494. data/third_party/upb/third_party/utf8_range/range2-sse.c +0 -170
  2495. data/third_party/upb/third_party/utf8_range/utf8_range.h +0 -9
  2496. data/third_party/upb/upb/arena.c +0 -277
  2497. data/third_party/upb/upb/arena.h +0 -225
  2498. data/third_party/upb/upb/array.c +0 -114
  2499. data/third_party/upb/upb/array.h +0 -83
  2500. data/third_party/upb/upb/collections.h +0 -36
  2501. data/third_party/upb/upb/decode.c +0 -1221
  2502. data/third_party/upb/upb/decode.h +0 -95
  2503. data/third_party/upb/upb/decode_fast.c +0 -1055
  2504. data/third_party/upb/upb/decode_fast.h +0 -153
  2505. data/third_party/upb/upb/def.c +0 -3269
  2506. data/third_party/upb/upb/def.h +0 -416
  2507. data/third_party/upb/upb/def.hpp +0 -441
  2508. data/third_party/upb/upb/encode.c +0 -613
  2509. data/third_party/upb/upb/encode.h +0 -81
  2510. data/third_party/upb/upb/extension_registry.c +0 -93
  2511. data/third_party/upb/upb/extension_registry.h +0 -84
  2512. data/third_party/upb/upb/internal/decode.h +0 -211
  2513. data/third_party/upb/upb/internal/table.h +0 -385
  2514. data/third_party/upb/upb/internal/upb.h +0 -68
  2515. data/third_party/upb/upb/internal/vsnprintf_compat.h +0 -52
  2516. data/third_party/upb/upb/json_decode.c +0 -1512
  2517. data/third_party/upb/upb/json_decode.h +0 -47
  2518. data/third_party/upb/upb/json_encode.c +0 -780
  2519. data/third_party/upb/upb/json_encode.h +0 -65
  2520. data/third_party/upb/upb/map.c +0 -108
  2521. data/third_party/upb/upb/map.h +0 -117
  2522. data/third_party/upb/upb/message_value.h +0 -66
  2523. data/third_party/upb/upb/mini_table.c +0 -1147
  2524. data/third_party/upb/upb/mini_table.h +0 -189
  2525. data/third_party/upb/upb/mini_table.hpp +0 -112
  2526. data/third_party/upb/upb/msg.c +0 -368
  2527. data/third_party/upb/upb/msg.h +0 -71
  2528. data/third_party/upb/upb/msg_internal.h +0 -837
  2529. data/third_party/upb/upb/port_def.inc +0 -262
  2530. data/third_party/upb/upb/port_undef.inc +0 -63
  2531. data/third_party/upb/upb/reflection.c +0 -323
  2532. data/third_party/upb/upb/reflection.h +0 -110
  2533. data/third_party/upb/upb/reflection.hpp +0 -37
  2534. data/third_party/upb/upb/status.c +0 -86
  2535. data/third_party/upb/upb/status.h +0 -66
  2536. data/third_party/upb/upb/table.c +0 -926
  2537. data/third_party/upb/upb/table_internal.h +0 -36
  2538. data/third_party/upb/upb/text_encode.c +0 -473
  2539. data/third_party/upb/upb/text_encode.h +0 -64
  2540. data/third_party/upb/upb/upb.c +0 -76
  2541. data/third_party/upb/upb/upb.h +0 -184
  2542. data/third_party/upb/upb/upb.hpp +0 -115
  2543. data/third_party/xxhash/xxhash.h +0 -5580
  2544. data/third_party/zlib/adler32.c +0 -186
  2545. data/third_party/zlib/compress.c +0 -86
  2546. data/third_party/zlib/crc32.c +0 -1116
  2547. data/third_party/zlib/crc32.h +0 -9446
  2548. data/third_party/zlib/deflate.c +0 -2211
  2549. data/third_party/zlib/deflate.h +0 -346
  2550. data/third_party/zlib/gzclose.c +0 -25
  2551. data/third_party/zlib/gzguts.h +0 -219
  2552. data/third_party/zlib/gzlib.c +0 -639
  2553. data/third_party/zlib/gzread.c +0 -652
  2554. data/third_party/zlib/gzwrite.c +0 -677
  2555. data/third_party/zlib/infback.c +0 -641
  2556. data/third_party/zlib/inffast.c +0 -323
  2557. data/third_party/zlib/inffast.h +0 -11
  2558. data/third_party/zlib/inffixed.h +0 -94
  2559. data/third_party/zlib/inflate.c +0 -1592
  2560. data/third_party/zlib/inflate.h +0 -126
  2561. data/third_party/zlib/inftrees.c +0 -304
  2562. data/third_party/zlib/inftrees.h +0 -62
  2563. data/third_party/zlib/trees.c +0 -1182
  2564. data/third_party/zlib/trees.h +0 -128
  2565. data/third_party/zlib/uncompr.c +0 -93
  2566. data/third_party/zlib/zconf.h +0 -534
  2567. data/third_party/zlib/zlib.h +0 -1935
  2568. data/third_party/zlib/zutil.c +0 -325
  2569. data/third_party/zlib/zutil.h +0 -274
@@ -1,2513 +0,0 @@
1
- //
2
- // Copyright 2020 gRPC 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
- // http://www.apache.org/licenses/LICENSE-2.0
9
- //
10
- // Unless required by applicable law or agreed to in writing, software
11
- // distributed under the License is distributed on an "AS IS" BASIS,
12
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- // See the License for the specific language governing permissions and
14
- // limitations under the License.
15
- //
16
-
17
- // Implementation of the Route Lookup Service (RLS) LB policy
18
- //
19
- // The policy queries a route lookup service for the name of the actual service
20
- // to use. A child policy that recognizes the name as a field of its
21
- // configuration will take further load balancing action on the request.
22
-
23
- #include <grpc/support/port_platform.h>
24
-
25
- #include <inttypes.h>
26
- #include <stdlib.h>
27
- #include <string.h>
28
-
29
- #include <algorithm>
30
- #include <deque>
31
- #include <list>
32
- #include <map>
33
- #include <memory>
34
- #include <random>
35
- #include <set>
36
- #include <string>
37
- #include <unordered_map>
38
- #include <utility>
39
- #include <vector>
40
-
41
- #include "absl/base/thread_annotations.h"
42
- #include "absl/hash/hash.h"
43
- #include "absl/memory/memory.h"
44
- #include "absl/status/status.h"
45
- #include "absl/status/statusor.h"
46
- #include "absl/strings/str_cat.h"
47
- #include "absl/strings/str_format.h"
48
- #include "absl/strings/str_join.h"
49
- #include "absl/strings/string_view.h"
50
- #include "absl/strings/strip.h"
51
- #include "absl/types/optional.h"
52
- #include "upb/upb.h"
53
- #include "upb/upb.hpp"
54
-
55
- #include <grpc/byte_buffer.h>
56
- #include <grpc/byte_buffer_reader.h>
57
- #include <grpc/grpc.h>
58
- #include <grpc/impl/codegen/connectivity_state.h>
59
- #include <grpc/impl/codegen/grpc_types.h>
60
- #include <grpc/impl/codegen/propagation_bits.h>
61
- #include <grpc/slice.h>
62
- #include <grpc/status.h>
63
- #include <grpc/support/log.h>
64
-
65
- #include "src/core/ext/filters/client_channel/client_channel.h"
66
- #include "src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h"
67
- #include "src/core/lib/backoff/backoff.h"
68
- #include "src/core/lib/channel/channel_args.h"
69
- #include "src/core/lib/channel/channelz.h"
70
- #include "src/core/lib/config/core_configuration.h"
71
- #include "src/core/lib/debug/trace.h"
72
- #include "src/core/lib/gprpp/debug_location.h"
73
- #include "src/core/lib/gprpp/dual_ref_counted.h"
74
- #include "src/core/lib/gprpp/orphanable.h"
75
- #include "src/core/lib/gprpp/ref_counted_ptr.h"
76
- #include "src/core/lib/gprpp/sync.h"
77
- #include "src/core/lib/gprpp/time.h"
78
- #include "src/core/lib/gprpp/validation_errors.h"
79
- #include "src/core/lib/gprpp/work_serializer.h"
80
- #include "src/core/lib/iomgr/closure.h"
81
- #include "src/core/lib/iomgr/error.h"
82
- #include "src/core/lib/iomgr/exec_ctx.h"
83
- #include "src/core/lib/iomgr/pollset_set.h"
84
- #include "src/core/lib/iomgr/timer.h"
85
- #include "src/core/lib/json/json.h"
86
- #include "src/core/lib/json/json_args.h"
87
- #include "src/core/lib/json/json_object_loader.h"
88
- #include "src/core/lib/load_balancing/lb_policy.h"
89
- #include "src/core/lib/load_balancing/lb_policy_factory.h"
90
- #include "src/core/lib/load_balancing/lb_policy_registry.h"
91
- #include "src/core/lib/load_balancing/subchannel_interface.h"
92
- #include "src/core/lib/resolver/resolver_registry.h"
93
- #include "src/core/lib/resolver/server_address.h"
94
- #include "src/core/lib/security/credentials/credentials.h"
95
- #include "src/core/lib/security/credentials/fake/fake_credentials.h"
96
- #include "src/core/lib/service_config/service_config_impl.h"
97
- #include "src/core/lib/slice/slice_internal.h"
98
- #include "src/core/lib/slice/slice_refcount.h"
99
- #include "src/core/lib/surface/call.h"
100
- #include "src/core/lib/surface/channel.h"
101
- #include "src/core/lib/transport/connectivity_state.h"
102
- #include "src/core/lib/transport/error_utils.h"
103
- #include "src/core/lib/uri/uri_parser.h"
104
- #include "src/proto/grpc/lookup/v1/rls.upb.h"
105
-
106
- namespace grpc_core {
107
-
108
- TraceFlag grpc_lb_rls_trace(false, "rls_lb");
109
-
110
- namespace {
111
-
112
- constexpr absl::string_view kRls = "rls_experimental";
113
- const char kGrpc[] = "grpc";
114
- const char* kRlsRequestPath = "/grpc.lookup.v1.RouteLookupService/RouteLookup";
115
- const char* kFakeTargetFieldValue = "fake_target_field_value";
116
- const char* kRlsHeaderKey = "X-Google-RLS-Data";
117
-
118
- const Duration kDefaultLookupServiceTimeout = Duration::Seconds(10);
119
- const Duration kMaxMaxAge = Duration::Minutes(5);
120
- const Duration kMinExpirationTime = Duration::Seconds(5);
121
- const Duration kCacheBackoffInitial = Duration::Seconds(1);
122
- const double kCacheBackoffMultiplier = 1.6;
123
- const double kCacheBackoffJitter = 0.2;
124
- const Duration kCacheBackoffMax = Duration::Minutes(2);
125
- const Duration kDefaultThrottleWindowSize = Duration::Seconds(30);
126
- const double kDefaultThrottleRatioForSuccesses = 2.0;
127
- const int kDefaultThrottlePadding = 8;
128
- const Duration kCacheCleanupTimerInterval = Duration::Minutes(1);
129
- const int64_t kMaxCacheSizeBytes = 5 * 1024 * 1024;
130
-
131
- // Parsed RLS LB policy configuration.
132
- class RlsLbConfig : public LoadBalancingPolicy::Config {
133
- public:
134
- struct KeyBuilder {
135
- std::map<std::string /*key*/, std::vector<std::string /*header*/>>
136
- header_keys;
137
- std::string host_key;
138
- std::string service_key;
139
- std::string method_key;
140
- std::map<std::string /*key*/, std::string /*value*/> constant_keys;
141
- };
142
- using KeyBuilderMap = std::unordered_map<std::string /*path*/, KeyBuilder>;
143
-
144
- struct RouteLookupConfig {
145
- KeyBuilderMap key_builder_map;
146
- std::string lookup_service;
147
- Duration lookup_service_timeout = kDefaultLookupServiceTimeout;
148
- Duration max_age = kMaxMaxAge;
149
- Duration stale_age = kMaxMaxAge;
150
- int64_t cache_size_bytes = 0;
151
- std::string default_target;
152
-
153
- static const JsonLoaderInterface* JsonLoader(const JsonArgs&);
154
- void JsonPostLoad(const Json& json, const JsonArgs& args,
155
- ValidationErrors* errors);
156
- };
157
-
158
- RlsLbConfig() = default;
159
-
160
- RlsLbConfig(const RlsLbConfig&) = delete;
161
- RlsLbConfig& operator=(const RlsLbConfig&) = delete;
162
-
163
- RlsLbConfig(RlsLbConfig&& other) = delete;
164
- RlsLbConfig& operator=(RlsLbConfig&& other) = delete;
165
-
166
- absl::string_view name() const override { return kRls; }
167
-
168
- const KeyBuilderMap& key_builder_map() const {
169
- return route_lookup_config_.key_builder_map;
170
- }
171
- const std::string& lookup_service() const {
172
- return route_lookup_config_.lookup_service;
173
- }
174
- Duration lookup_service_timeout() const {
175
- return route_lookup_config_.lookup_service_timeout;
176
- }
177
- Duration max_age() const { return route_lookup_config_.max_age; }
178
- Duration stale_age() const { return route_lookup_config_.stale_age; }
179
- int64_t cache_size_bytes() const {
180
- return route_lookup_config_.cache_size_bytes;
181
- }
182
- const std::string& default_target() const {
183
- return route_lookup_config_.default_target;
184
- }
185
- const std::string& rls_channel_service_config() const {
186
- return rls_channel_service_config_;
187
- }
188
- const Json& child_policy_config() const { return child_policy_config_; }
189
- const std::string& child_policy_config_target_field_name() const {
190
- return child_policy_config_target_field_name_;
191
- }
192
- RefCountedPtr<LoadBalancingPolicy::Config>
193
- default_child_policy_parsed_config() const {
194
- return default_child_policy_parsed_config_;
195
- }
196
-
197
- static const JsonLoaderInterface* JsonLoader(const JsonArgs&);
198
- void JsonPostLoad(const Json& json, const JsonArgs&,
199
- ValidationErrors* errors);
200
-
201
- private:
202
- RouteLookupConfig route_lookup_config_;
203
- std::string rls_channel_service_config_;
204
- Json child_policy_config_;
205
- std::string child_policy_config_target_field_name_;
206
- RefCountedPtr<LoadBalancingPolicy::Config>
207
- default_child_policy_parsed_config_;
208
- };
209
-
210
- // RLS LB policy.
211
- class RlsLb : public LoadBalancingPolicy {
212
- public:
213
- explicit RlsLb(Args args);
214
-
215
- absl::string_view name() const override { return kRls; }
216
- absl::Status UpdateLocked(UpdateArgs args) override;
217
- void ExitIdleLocked() override;
218
- void ResetBackoffLocked() override;
219
-
220
- private:
221
- // Key to access entries in the cache and the request map.
222
- struct RequestKey {
223
- std::map<std::string, std::string> key_map;
224
-
225
- bool operator==(const RequestKey& rhs) const {
226
- return key_map == rhs.key_map;
227
- }
228
-
229
- template <typename H>
230
- friend H AbslHashValue(H h, const RequestKey& key) {
231
- std::hash<std::string> string_hasher;
232
- for (auto& kv : key.key_map) {
233
- h = H::combine(std::move(h), string_hasher(kv.first),
234
- string_hasher(kv.second));
235
- }
236
- return h;
237
- }
238
-
239
- size_t Size() const {
240
- size_t size = sizeof(RequestKey);
241
- for (auto& kv : key_map) {
242
- size += kv.first.length() + kv.second.length();
243
- }
244
- return size;
245
- }
246
-
247
- std::string ToString() const {
248
- return absl::StrCat(
249
- "{", absl::StrJoin(key_map, ",", absl::PairFormatter("=")), "}");
250
- }
251
- };
252
-
253
- // Data from an RLS response.
254
- struct ResponseInfo {
255
- absl::Status status;
256
- std::vector<std::string> targets;
257
- std::string header_data;
258
-
259
- std::string ToString() const {
260
- return absl::StrFormat("{status=%s, targets=[%s], header_data=\"%s\"}",
261
- status.ToString(), absl::StrJoin(targets, ","),
262
- header_data);
263
- }
264
- };
265
-
266
- // Wraps a child policy for a given RLS target.
267
- class ChildPolicyWrapper : public DualRefCounted<ChildPolicyWrapper> {
268
- public:
269
- ChildPolicyWrapper(RefCountedPtr<RlsLb> lb_policy, std::string target);
270
-
271
- // Note: We are forced to disable lock analysis here because
272
- // Orphan() is called by OrphanablePtr<>, which cannot have lock
273
- // annotations for this particular caller.
274
- void Orphan() override ABSL_NO_THREAD_SAFETY_ANALYSIS;
275
-
276
- const std::string& target() const { return target_; }
277
-
278
- PickResult Pick(PickArgs args) ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_) {
279
- return picker_->Pick(args);
280
- }
281
-
282
- // Updates for the child policy are handled in two phases:
283
- // 1. In StartUpdate(), we parse and validate the new child policy
284
- // config and store the parsed config.
285
- // 2. In MaybeFinishUpdate(), we actually pass the parsed config to the
286
- // child policy's UpdateLocked() method.
287
- //
288
- // The reason we do this is to avoid deadlocks. In StartUpdate(),
289
- // if the new config fails to validate, then we need to set
290
- // picker_ to an instance that will fail all requests, which
291
- // requires holding the lock. However, we cannot call the child
292
- // policy's UpdateLocked() method from MaybeFinishUpdate() while
293
- // holding the lock, since that would cause a deadlock: the child's
294
- // UpdateLocked() will call the helper's UpdateState() method, which
295
- // will try to acquire the lock to set picker_. So StartUpdate() is
296
- // called while we are still holding the lock, but MaybeFinishUpdate()
297
- // is called after releasing it.
298
- //
299
- // Both methods grab the data they need from the parent object.
300
- void StartUpdate() ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_);
301
- absl::Status MaybeFinishUpdate() ABSL_LOCKS_EXCLUDED(&RlsLb::mu_);
302
-
303
- void ExitIdleLocked() {
304
- if (child_policy_ != nullptr) child_policy_->ExitIdleLocked();
305
- }
306
-
307
- void ResetBackoffLocked() {
308
- if (child_policy_ != nullptr) child_policy_->ResetBackoffLocked();
309
- }
310
-
311
- // Gets the connectivity state of the child policy. Once the child policy
312
- // reports TRANSIENT_FAILURE, the function will always return
313
- // TRANSIENT_FAILURE state instead of the actual state of the child policy
314
- // until the child policy reports another READY state.
315
- grpc_connectivity_state connectivity_state() const
316
- ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_) {
317
- return connectivity_state_;
318
- }
319
-
320
- private:
321
- // ChannelControlHelper object that allows the child policy to update state
322
- // with the wrapper.
323
- class ChildPolicyHelper : public LoadBalancingPolicy::ChannelControlHelper {
324
- public:
325
- explicit ChildPolicyHelper(WeakRefCountedPtr<ChildPolicyWrapper> wrapper)
326
- : wrapper_(std::move(wrapper)) {}
327
- ~ChildPolicyHelper() override {
328
- wrapper_.reset(DEBUG_LOCATION, "ChildPolicyHelper");
329
- }
330
-
331
- RefCountedPtr<SubchannelInterface> CreateSubchannel(
332
- ServerAddress address, const ChannelArgs& args) override;
333
- void UpdateState(grpc_connectivity_state state,
334
- const absl::Status& status,
335
- std::unique_ptr<SubchannelPicker> picker) override;
336
- void RequestReresolution() override;
337
- absl::string_view GetAuthority() override;
338
- void AddTraceEvent(TraceSeverity severity,
339
- absl::string_view message) override;
340
-
341
- private:
342
- WeakRefCountedPtr<ChildPolicyWrapper> wrapper_;
343
- };
344
-
345
- RefCountedPtr<RlsLb> lb_policy_;
346
- std::string target_;
347
-
348
- bool is_shutdown_ = false;
349
-
350
- OrphanablePtr<ChildPolicyHandler> child_policy_;
351
- RefCountedPtr<LoadBalancingPolicy::Config> pending_config_;
352
-
353
- grpc_connectivity_state connectivity_state_ ABSL_GUARDED_BY(&RlsLb::mu_) =
354
- GRPC_CHANNEL_IDLE;
355
- std::unique_ptr<LoadBalancingPolicy::SubchannelPicker> picker_
356
- ABSL_GUARDED_BY(&RlsLb::mu_);
357
- };
358
-
359
- // A picker that uses the cache and the request map in the LB policy
360
- // (synchronized via a mutex) to determine how to route requests.
361
- class Picker : public LoadBalancingPolicy::SubchannelPicker {
362
- public:
363
- explicit Picker(RefCountedPtr<RlsLb> lb_policy);
364
- ~Picker() override;
365
-
366
- PickResult Pick(PickArgs args) override;
367
-
368
- private:
369
- RefCountedPtr<RlsLb> lb_policy_;
370
- RefCountedPtr<RlsLbConfig> config_;
371
- RefCountedPtr<ChildPolicyWrapper> default_child_policy_;
372
- };
373
-
374
- // An LRU cache with adjustable size.
375
- class Cache {
376
- public:
377
- using Iterator = std::list<RequestKey>::iterator;
378
-
379
- class Entry : public InternallyRefCounted<Entry> {
380
- public:
381
- Entry(RefCountedPtr<RlsLb> lb_policy, const RequestKey& key);
382
-
383
- // Notify the entry when it's evicted from the cache. Performs shut down.
384
- // Note: We are forced to disable lock analysis here because
385
- // Orphan() is called by OrphanablePtr<>, which cannot have lock
386
- // annotations for this particular caller.
387
- void Orphan() override ABSL_NO_THREAD_SAFETY_ANALYSIS;
388
-
389
- const absl::Status& status() const
390
- ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_) {
391
- return status_;
392
- }
393
- Timestamp backoff_time() const
394
- ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_) {
395
- return backoff_time_;
396
- }
397
- Timestamp backoff_expiration_time() const
398
- ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_) {
399
- return backoff_expiration_time_;
400
- }
401
- Timestamp data_expiration_time() const
402
- ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_) {
403
- return data_expiration_time_;
404
- }
405
- const std::string& header_data() const
406
- ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_) {
407
- return header_data_;
408
- }
409
- Timestamp stale_time() const ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_) {
410
- return stale_time_;
411
- }
412
- Timestamp min_expiration_time() const
413
- ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_) {
414
- return min_expiration_time_;
415
- }
416
-
417
- std::unique_ptr<BackOff> TakeBackoffState()
418
- ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_) {
419
- return std::move(backoff_state_);
420
- }
421
-
422
- // Cache size of entry.
423
- size_t Size() const ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_);
424
-
425
- // Pick subchannel for request based on the entry's state.
426
- PickResult Pick(PickArgs args) ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_);
427
-
428
- // If the cache entry is in backoff state, resets the backoff and, if
429
- // applicable, its backoff timer. The method does not update the LB
430
- // policy's picker; the caller is responsible for that if necessary.
431
- void ResetBackoff() ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_);
432
-
433
- // Check if the entry should be removed by the clean-up timer.
434
- bool ShouldRemove() const ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_);
435
-
436
- // Check if the entry can be evicted from the cache, i.e. the
437
- // min_expiration_time_ has passed.
438
- bool CanEvict() const ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_);
439
-
440
- // Updates the entry upon reception of a new RLS response.
441
- // Returns a list of child policy wrappers on which FinishUpdate()
442
- // needs to be called after releasing the lock.
443
- std::vector<ChildPolicyWrapper*> OnRlsResponseLocked(
444
- ResponseInfo response, std::unique_ptr<BackOff> backoff_state)
445
- ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_);
446
-
447
- // Moves entry to the end of the LRU list.
448
- void MarkUsed() ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_);
449
-
450
- private:
451
- class BackoffTimer : public InternallyRefCounted<BackoffTimer> {
452
- public:
453
- BackoffTimer(RefCountedPtr<Entry> entry, Timestamp backoff_time);
454
-
455
- // Note: We are forced to disable lock analysis here because
456
- // Orphan() is called by OrphanablePtr<>, which cannot have lock
457
- // annotations for this particular caller.
458
- void Orphan() override ABSL_NO_THREAD_SAFETY_ANALYSIS;
459
-
460
- private:
461
- static void OnBackoffTimer(void* args, grpc_error_handle error);
462
-
463
- RefCountedPtr<Entry> entry_;
464
- bool armed_ ABSL_GUARDED_BY(&RlsLb::mu_) = true;
465
- grpc_timer backoff_timer_;
466
- grpc_closure backoff_timer_callback_;
467
- };
468
-
469
- RefCountedPtr<RlsLb> lb_policy_;
470
-
471
- bool is_shutdown_ ABSL_GUARDED_BY(&RlsLb::mu_) = false;
472
-
473
- // Backoff states
474
- absl::Status status_ ABSL_GUARDED_BY(&RlsLb::mu_);
475
- std::unique_ptr<BackOff> backoff_state_ ABSL_GUARDED_BY(&RlsLb::mu_);
476
- Timestamp backoff_time_ ABSL_GUARDED_BY(&RlsLb::mu_) =
477
- Timestamp::InfPast();
478
- Timestamp backoff_expiration_time_ ABSL_GUARDED_BY(&RlsLb::mu_) =
479
- Timestamp::InfPast();
480
- OrphanablePtr<BackoffTimer> backoff_timer_;
481
-
482
- // RLS response states
483
- std::vector<RefCountedPtr<ChildPolicyWrapper>> child_policy_wrappers_
484
- ABSL_GUARDED_BY(&RlsLb::mu_);
485
- std::string header_data_ ABSL_GUARDED_BY(&RlsLb::mu_);
486
- Timestamp data_expiration_time_ ABSL_GUARDED_BY(&RlsLb::mu_) =
487
- Timestamp::InfPast();
488
- Timestamp stale_time_ ABSL_GUARDED_BY(&RlsLb::mu_) = Timestamp::InfPast();
489
-
490
- Timestamp min_expiration_time_ ABSL_GUARDED_BY(&RlsLb::mu_);
491
- Cache::Iterator lru_iterator_ ABSL_GUARDED_BY(&RlsLb::mu_);
492
- };
493
-
494
- explicit Cache(RlsLb* lb_policy);
495
-
496
- // Finds an entry from the cache that corresponds to a key. If an entry is
497
- // not found, nullptr is returned. Otherwise, the entry is considered
498
- // recently used and its order in the LRU list of the cache is updated.
499
- Entry* Find(const RequestKey& key)
500
- ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_);
501
-
502
- // Finds an entry from the cache that corresponds to a key. If an entry is
503
- // not found, an entry is created, inserted in the cache, and returned to
504
- // the caller. Otherwise, the entry found is returned to the caller. The
505
- // entry returned to the user is considered recently used and its order in
506
- // the LRU list of the cache is updated.
507
- Entry* FindOrInsert(const RequestKey& key)
508
- ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_);
509
-
510
- // Resizes the cache. If the new cache size is greater than the current size
511
- // of the cache, do nothing. Otherwise, evict the oldest entries that
512
- // exceed the new size limit of the cache.
513
- void Resize(size_t bytes) ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_);
514
-
515
- // Resets backoff of all the cache entries.
516
- void ResetAllBackoff() ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_);
517
-
518
- // Shutdown the cache; clean-up and orphan all the stored cache entries.
519
- void Shutdown() ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_);
520
-
521
- private:
522
- static void OnCleanupTimer(void* arg, grpc_error_handle error);
523
-
524
- // Returns the entry size for a given key.
525
- static size_t EntrySizeForKey(const RequestKey& key);
526
-
527
- // Evicts oversized cache elements when the current size is greater than
528
- // the specified limit.
529
- void MaybeShrinkSize(size_t bytes)
530
- ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_);
531
-
532
- RlsLb* lb_policy_;
533
-
534
- size_t size_limit_ ABSL_GUARDED_BY(&RlsLb::mu_) = 0;
535
- size_t size_ ABSL_GUARDED_BY(&RlsLb::mu_) = 0;
536
-
537
- std::list<RequestKey> lru_list_ ABSL_GUARDED_BY(&RlsLb::mu_);
538
- std::unordered_map<RequestKey, OrphanablePtr<Entry>, absl::Hash<RequestKey>>
539
- map_ ABSL_GUARDED_BY(&RlsLb::mu_);
540
- grpc_timer cleanup_timer_;
541
- grpc_closure timer_callback_;
542
- };
543
-
544
- // Channel for communicating with the RLS server.
545
- // Contains throttling logic for RLS requests.
546
- class RlsChannel : public InternallyRefCounted<RlsChannel> {
547
- public:
548
- explicit RlsChannel(RefCountedPtr<RlsLb> lb_policy);
549
-
550
- // Shuts down the channel.
551
- void Orphan() override;
552
-
553
- // Starts an RLS call.
554
- // If stale_entry is non-null, it points to the entry containing
555
- // stale data for the key.
556
- void StartRlsCall(const RequestKey& key, Cache::Entry* stale_entry)
557
- ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_);
558
-
559
- // Reports the result of an RLS call to the throttle.
560
- void ReportResponseLocked(bool response_succeeded)
561
- ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_);
562
-
563
- // Checks if a proposed RLS call should be throttled.
564
- bool ShouldThrottle() ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_) {
565
- return throttle_.ShouldThrottle();
566
- }
567
-
568
- // Resets the channel's backoff.
569
- void ResetBackoff();
570
-
571
- grpc_channel* channel() const { return channel_; }
572
-
573
- private:
574
- // Watches the state of the RLS channel. Notifies the LB policy when
575
- // the channel was previously in TRANSIENT_FAILURE and then becomes READY.
576
- class StateWatcher : public AsyncConnectivityStateWatcherInterface {
577
- public:
578
- explicit StateWatcher(RefCountedPtr<RlsChannel> rls_channel)
579
- : AsyncConnectivityStateWatcherInterface(
580
- rls_channel->lb_policy_->work_serializer()),
581
- rls_channel_(std::move(rls_channel)) {}
582
-
583
- private:
584
- void OnConnectivityStateChange(grpc_connectivity_state new_state,
585
- const absl::Status& status) override;
586
-
587
- RefCountedPtr<RlsChannel> rls_channel_;
588
- bool was_transient_failure_ = false;
589
- };
590
-
591
- // Throttle state for RLS requests.
592
- class Throttle {
593
- public:
594
- explicit Throttle(
595
- Duration window_size = kDefaultThrottleWindowSize,
596
- float ratio_for_successes = kDefaultThrottleRatioForSuccesses,
597
- int padding = kDefaultThrottlePadding)
598
- : window_size_(window_size),
599
- ratio_for_successes_(ratio_for_successes),
600
- padding_(padding) {}
601
-
602
- bool ShouldThrottle() ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_);
603
-
604
- void RegisterResponse(bool success)
605
- ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_);
606
-
607
- private:
608
- Duration window_size_;
609
- double ratio_for_successes_;
610
- int padding_;
611
- std::mt19937 rng_{std::random_device()()};
612
-
613
- // Logged timestamp of requests.
614
- std::deque<Timestamp> requests_ ABSL_GUARDED_BY(&RlsLb::mu_);
615
-
616
- // Logged timestamps of failures.
617
- std::deque<Timestamp> failures_ ABSL_GUARDED_BY(&RlsLb::mu_);
618
- };
619
-
620
- RefCountedPtr<RlsLb> lb_policy_;
621
- bool is_shutdown_ = false;
622
-
623
- grpc_channel* channel_ = nullptr;
624
- RefCountedPtr<channelz::ChannelNode> parent_channelz_node_;
625
- StateWatcher* watcher_ = nullptr;
626
- Throttle throttle_ ABSL_GUARDED_BY(&RlsLb::mu_);
627
- };
628
-
629
- // A pending RLS request. Instances will be tracked in request_map_.
630
- class RlsRequest : public InternallyRefCounted<RlsRequest> {
631
- public:
632
- // Asynchronously starts a call on rls_channel for key.
633
- // Stores backoff_state, which will be transferred to the data cache
634
- // if the RLS request fails.
635
- RlsRequest(RefCountedPtr<RlsLb> lb_policy, RlsLb::RequestKey key,
636
- RefCountedPtr<RlsChannel> rls_channel,
637
- std::unique_ptr<BackOff> backoff_state,
638
- grpc_lookup_v1_RouteLookupRequest_Reason reason,
639
- std::string stale_header_data);
640
- ~RlsRequest() override;
641
-
642
- // Shuts down the request. If the request is still in flight, it is
643
- // cancelled, in which case no response will be added to the cache.
644
- void Orphan() override;
645
-
646
- private:
647
- // Callback to be invoked to start the call.
648
- static void StartCall(void* arg, grpc_error_handle error);
649
-
650
- // Helper for StartCall() that runs within the WorkSerializer.
651
- void StartCallLocked();
652
-
653
- // Callback to be invoked when the call is completed.
654
- static void OnRlsCallComplete(void* arg, grpc_error_handle error);
655
-
656
- // Call completion callback running on LB policy WorkSerializer.
657
- void OnRlsCallCompleteLocked(grpc_error_handle error);
658
-
659
- grpc_byte_buffer* MakeRequestProto();
660
- ResponseInfo ParseResponseProto();
661
-
662
- RefCountedPtr<RlsLb> lb_policy_;
663
- RlsLb::RequestKey key_;
664
- RefCountedPtr<RlsChannel> rls_channel_;
665
- std::unique_ptr<BackOff> backoff_state_;
666
- grpc_lookup_v1_RouteLookupRequest_Reason reason_;
667
- std::string stale_header_data_;
668
-
669
- // RLS call state.
670
- Timestamp deadline_;
671
- grpc_closure call_start_cb_;
672
- grpc_closure call_complete_cb_;
673
- grpc_call* call_ = nullptr;
674
- grpc_byte_buffer* send_message_ = nullptr;
675
- grpc_metadata_array recv_initial_metadata_;
676
- grpc_byte_buffer* recv_message_ = nullptr;
677
- grpc_metadata_array recv_trailing_metadata_;
678
- grpc_status_code status_recv_;
679
- grpc_slice status_details_recv_;
680
- };
681
-
682
- void ShutdownLocked() override;
683
-
684
- // Returns a new picker to the channel to trigger reprocessing of
685
- // pending picks. Schedules the actual picker update on the ExecCtx
686
- // to be run later, so it's safe to invoke this while holding the lock.
687
- void UpdatePickerAsync();
688
- // Hops into work serializer and calls UpdatePickerLocked().
689
- static void UpdatePickerCallback(void* arg, grpc_error_handle error);
690
- // Updates the picker in the work serializer.
691
- void UpdatePickerLocked() ABSL_LOCKS_EXCLUDED(&mu_);
692
-
693
- // The name of the server for the channel.
694
- std::string server_name_;
695
-
696
- // Mutex to guard LB policy state that is accessed by the picker.
697
- Mutex mu_;
698
- bool is_shutdown_ ABSL_GUARDED_BY(mu_) = false;
699
- bool update_in_progress_ = false;
700
- Cache cache_ ABSL_GUARDED_BY(mu_);
701
- // Maps an RLS request key to an RlsRequest object that represents a pending
702
- // RLS request.
703
- std::unordered_map<RequestKey, OrphanablePtr<RlsRequest>,
704
- absl::Hash<RequestKey>>
705
- request_map_ ABSL_GUARDED_BY(mu_);
706
- // The channel on which RLS requests are sent.
707
- // Note that this channel may be swapped out when the RLS policy gets
708
- // an update. However, when that happens, any existing entries in
709
- // request_map_ will continue to use the previous channel.
710
- OrphanablePtr<RlsChannel> rls_channel_ ABSL_GUARDED_BY(mu_);
711
-
712
- // Accessed only from within WorkSerializer.
713
- absl::StatusOr<ServerAddressList> addresses_;
714
- ChannelArgs channel_args_;
715
- RefCountedPtr<RlsLbConfig> config_;
716
- RefCountedPtr<ChildPolicyWrapper> default_child_policy_;
717
- std::map<std::string /*target*/, ChildPolicyWrapper*> child_policy_map_;
718
- };
719
-
720
- //
721
- // RlsLb::ChildPolicyWrapper
722
- //
723
-
724
- RlsLb::ChildPolicyWrapper::ChildPolicyWrapper(RefCountedPtr<RlsLb> lb_policy,
725
- std::string target)
726
- : DualRefCounted<ChildPolicyWrapper>(
727
- GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace) ? "ChildPolicyWrapper"
728
- : nullptr),
729
- lb_policy_(lb_policy),
730
- target_(std::move(target)),
731
- picker_(absl::make_unique<QueuePicker>(std::move(lb_policy))) {
732
- lb_policy_->child_policy_map_.emplace(target_, this);
733
- }
734
-
735
- void RlsLb::ChildPolicyWrapper::Orphan() {
736
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
737
- gpr_log(GPR_INFO, "[rlslb %p] ChildPolicyWrapper=%p [%s]: shutdown",
738
- lb_policy_.get(), this, target_.c_str());
739
- }
740
- is_shutdown_ = true;
741
- lb_policy_->child_policy_map_.erase(target_);
742
- if (child_policy_ != nullptr) {
743
- grpc_pollset_set_del_pollset_set(child_policy_->interested_parties(),
744
- lb_policy_->interested_parties());
745
- child_policy_.reset();
746
- }
747
- picker_.reset();
748
- }
749
-
750
- bool InsertOrUpdateChildPolicyField(const std::string& field,
751
- const std::string& value, Json* config,
752
- ValidationErrors* errors) {
753
- if (config->type() != Json::Type::ARRAY) {
754
- errors->AddError("is not an array");
755
- return false;
756
- }
757
- bool success = true;
758
- for (size_t i = 0; i < config->array_value().size(); ++i) {
759
- Json& child_json = (*config->mutable_array())[i];
760
- ValidationErrors::ScopedField json_field(errors, absl::StrCat("[", i, "]"));
761
- if (child_json.type() != Json::Type::OBJECT) {
762
- errors->AddError("is not an object");
763
- success = false;
764
- } else {
765
- Json::Object& child = *child_json.mutable_object();
766
- if (child.size() != 1) {
767
- errors->AddError("child policy object contains more than one field");
768
- success = false;
769
- } else {
770
- ValidationErrors::ScopedField json_field(
771
- errors, absl::StrCat("[\"", child.begin()->first, "\"]"));
772
- Json& child_config_json = child.begin()->second;
773
- if (child_config_json.type() != Json::Type::OBJECT) {
774
- errors->AddError("child policy config is not an object");
775
- success = false;
776
- } else {
777
- Json::Object& child_config = *child_config_json.mutable_object();
778
- child_config[field] = Json(value);
779
- }
780
- }
781
- }
782
- }
783
- return success;
784
- }
785
-
786
- void RlsLb::ChildPolicyWrapper::StartUpdate() {
787
- Json child_policy_config = lb_policy_->config_->child_policy_config();
788
- ValidationErrors errors;
789
- GPR_ASSERT(InsertOrUpdateChildPolicyField(
790
- lb_policy_->config_->child_policy_config_target_field_name(), target_,
791
- &child_policy_config, &errors));
792
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
793
- gpr_log(
794
- GPR_INFO,
795
- "[rlslb %p] ChildPolicyWrapper=%p [%s]: validating update, config: %s",
796
- lb_policy_.get(), this, target_.c_str(),
797
- child_policy_config.Dump().c_str());
798
- }
799
- auto config =
800
- CoreConfiguration::Get().lb_policy_registry().ParseLoadBalancingConfig(
801
- child_policy_config);
802
- // Returned RLS target fails the validation.
803
- if (!config.ok()) {
804
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
805
- gpr_log(GPR_INFO,
806
- "[rlslb %p] ChildPolicyWrapper=%p [%s]: config failed to parse: "
807
- "%s",
808
- lb_policy_.get(), this, target_.c_str(),
809
- config.status().ToString().c_str());
810
- }
811
- pending_config_.reset();
812
- picker_ = absl::make_unique<TransientFailurePicker>(
813
- absl::UnavailableError(config.status().message()));
814
- child_policy_.reset();
815
- } else {
816
- pending_config_ = std::move(*config);
817
- }
818
- }
819
-
820
- absl::Status RlsLb::ChildPolicyWrapper::MaybeFinishUpdate() {
821
- // If pending_config_ is not set, that means StartUpdate() failed, so
822
- // there's nothing to do here.
823
- if (pending_config_ == nullptr) return absl::OkStatus();
824
- // If child policy doesn't yet exist, create it.
825
- if (child_policy_ == nullptr) {
826
- Args create_args;
827
- create_args.work_serializer = lb_policy_->work_serializer();
828
- create_args.channel_control_helper = absl::make_unique<ChildPolicyHelper>(
829
- WeakRef(DEBUG_LOCATION, "ChildPolicyHelper"));
830
- create_args.args = lb_policy_->channel_args_;
831
- child_policy_ = MakeOrphanable<ChildPolicyHandler>(std::move(create_args),
832
- &grpc_lb_rls_trace);
833
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
834
- gpr_log(GPR_INFO,
835
- "[rlslb %p] ChildPolicyWrapper=%p [%s], created new child policy "
836
- "handler %p",
837
- lb_policy_.get(), this, target_.c_str(), child_policy_.get());
838
- }
839
- grpc_pollset_set_add_pollset_set(child_policy_->interested_parties(),
840
- lb_policy_->interested_parties());
841
- }
842
- // Send the child the updated config.
843
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
844
- gpr_log(GPR_INFO,
845
- "[rlslb %p] ChildPolicyWrapper=%p [%s], updating child policy "
846
- "handler %p",
847
- lb_policy_.get(), this, target_.c_str(), child_policy_.get());
848
- }
849
- UpdateArgs update_args;
850
- update_args.config = std::move(pending_config_);
851
- update_args.addresses = lb_policy_->addresses_;
852
- update_args.args = lb_policy_->channel_args_;
853
- return child_policy_->UpdateLocked(std::move(update_args));
854
- }
855
-
856
- //
857
- // RlsLb::ChildPolicyWrapper::ChildPolicyHelper
858
- //
859
-
860
- RefCountedPtr<SubchannelInterface>
861
- RlsLb::ChildPolicyWrapper::ChildPolicyHelper::CreateSubchannel(
862
- ServerAddress address, const ChannelArgs& args) {
863
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
864
- gpr_log(GPR_INFO,
865
- "[rlslb %p] ChildPolicyWrapper=%p [%s] ChildPolicyHelper=%p: "
866
- "CreateSubchannel() for %s",
867
- wrapper_->lb_policy_.get(), wrapper_.get(),
868
- wrapper_->target_.c_str(), this, address.ToString().c_str());
869
- }
870
- if (wrapper_->is_shutdown_) return nullptr;
871
- return wrapper_->lb_policy_->channel_control_helper()->CreateSubchannel(
872
- std::move(address), args);
873
- }
874
-
875
- void RlsLb::ChildPolicyWrapper::ChildPolicyHelper::UpdateState(
876
- grpc_connectivity_state state, const absl::Status& status,
877
- std::unique_ptr<SubchannelPicker> picker) {
878
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
879
- gpr_log(GPR_INFO,
880
- "[rlslb %p] ChildPolicyWrapper=%p [%s] ChildPolicyHelper=%p: "
881
- "UpdateState(state=%s, status=%s, picker=%p)",
882
- wrapper_->lb_policy_.get(), wrapper_.get(),
883
- wrapper_->target_.c_str(), this, ConnectivityStateName(state),
884
- status.ToString().c_str(), picker.get());
885
- }
886
- {
887
- MutexLock lock(&wrapper_->lb_policy_->mu_);
888
- if (wrapper_->is_shutdown_) return;
889
- if (wrapper_->connectivity_state_ == GRPC_CHANNEL_TRANSIENT_FAILURE &&
890
- state != GRPC_CHANNEL_READY) {
891
- return;
892
- }
893
- wrapper_->connectivity_state_ = state;
894
- GPR_DEBUG_ASSERT(picker != nullptr);
895
- if (picker != nullptr) {
896
- wrapper_->picker_ = std::move(picker);
897
- }
898
- }
899
- wrapper_->lb_policy_->UpdatePickerLocked();
900
- }
901
-
902
- void RlsLb::ChildPolicyWrapper::ChildPolicyHelper::RequestReresolution() {
903
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
904
- gpr_log(GPR_INFO,
905
- "[rlslb %p] ChildPolicyWrapper=%p [%s] ChildPolicyHelper=%p: "
906
- "RequestReresolution",
907
- wrapper_->lb_policy_.get(), wrapper_.get(),
908
- wrapper_->target_.c_str(), this);
909
- }
910
- if (wrapper_->is_shutdown_) return;
911
- wrapper_->lb_policy_->channel_control_helper()->RequestReresolution();
912
- }
913
-
914
- absl::string_view RlsLb::ChildPolicyWrapper::ChildPolicyHelper::GetAuthority() {
915
- return wrapper_->lb_policy_->channel_control_helper()->GetAuthority();
916
- }
917
-
918
- void RlsLb::ChildPolicyWrapper::ChildPolicyHelper::AddTraceEvent(
919
- TraceSeverity severity, absl::string_view message) {
920
- if (wrapper_->is_shutdown_) return;
921
- wrapper_->lb_policy_->channel_control_helper()->AddTraceEvent(severity,
922
- message);
923
- }
924
-
925
- //
926
- // RlsLb::Picker
927
- //
928
-
929
- // Builds the key to be used for a request based on path and initial_metadata.
930
- std::map<std::string, std::string> BuildKeyMap(
931
- const RlsLbConfig::KeyBuilderMap& key_builder_map, absl::string_view path,
932
- const std::string& host,
933
- const LoadBalancingPolicy::MetadataInterface* initial_metadata) {
934
- size_t last_slash_pos = path.npos; // May need this a few times, so cache it.
935
- // Find key builder for this path.
936
- auto it = key_builder_map.find(std::string(path));
937
- if (it == key_builder_map.end()) {
938
- // Didn't find exact match, try method wildcard.
939
- last_slash_pos = path.rfind("/");
940
- GPR_DEBUG_ASSERT(last_slash_pos != path.npos);
941
- if (GPR_UNLIKELY(last_slash_pos == path.npos)) return {};
942
- std::string service(path.substr(0, last_slash_pos + 1));
943
- it = key_builder_map.find(service);
944
- if (it == key_builder_map.end()) return {};
945
- }
946
- const RlsLbConfig::KeyBuilder* key_builder = &it->second;
947
- // Construct key map using key builder.
948
- std::map<std::string, std::string> key_map;
949
- // Add header keys.
950
- for (const auto& p : key_builder->header_keys) {
951
- const std::string& key = p.first;
952
- const std::vector<std::string>& header_names = p.second;
953
- for (const std::string& header_name : header_names) {
954
- std::string buffer;
955
- absl::optional<absl::string_view> value =
956
- initial_metadata->Lookup(header_name, &buffer);
957
- if (value.has_value()) {
958
- key_map[key] = std::string(*value);
959
- break;
960
- }
961
- }
962
- }
963
- // Add constant keys.
964
- key_map.insert(key_builder->constant_keys.begin(),
965
- key_builder->constant_keys.end());
966
- // Add host key.
967
- if (!key_builder->host_key.empty()) {
968
- key_map[key_builder->host_key] = host;
969
- }
970
- // Add service key.
971
- if (!key_builder->service_key.empty()) {
972
- if (last_slash_pos == path.npos) {
973
- last_slash_pos = path.rfind("/");
974
- GPR_DEBUG_ASSERT(last_slash_pos != path.npos);
975
- if (GPR_UNLIKELY(last_slash_pos == path.npos)) return {};
976
- }
977
- key_map[key_builder->service_key] =
978
- std::string(path.substr(1, last_slash_pos - 1));
979
- }
980
- // Add method key.
981
- if (!key_builder->method_key.empty()) {
982
- if (last_slash_pos == path.npos) {
983
- last_slash_pos = path.rfind("/");
984
- GPR_DEBUG_ASSERT(last_slash_pos != path.npos);
985
- if (GPR_UNLIKELY(last_slash_pos == path.npos)) return {};
986
- }
987
- key_map[key_builder->method_key] =
988
- std::string(path.substr(last_slash_pos + 1));
989
- }
990
- return key_map;
991
- }
992
-
993
- RlsLb::Picker::Picker(RefCountedPtr<RlsLb> lb_policy)
994
- : lb_policy_(std::move(lb_policy)), config_(lb_policy_->config_) {
995
- if (lb_policy_->default_child_policy_ != nullptr) {
996
- default_child_policy_ =
997
- lb_policy_->default_child_policy_->Ref(DEBUG_LOCATION, "Picker");
998
- }
999
- }
1000
-
1001
- RlsLb::Picker::~Picker() {
1002
- // It's not safe to unref the default child policy in the picker,
1003
- // since that needs to be done in the WorkSerializer.
1004
- if (default_child_policy_ != nullptr) {
1005
- auto* default_child_policy = default_child_policy_.release();
1006
- lb_policy_->work_serializer()->Run(
1007
- [default_child_policy]() {
1008
- default_child_policy->Unref(DEBUG_LOCATION, "Picker");
1009
- },
1010
- DEBUG_LOCATION);
1011
- }
1012
- }
1013
-
1014
- LoadBalancingPolicy::PickResult RlsLb::Picker::Pick(PickArgs args) {
1015
- // Construct key for request.
1016
- RequestKey key = {BuildKeyMap(config_->key_builder_map(), args.path,
1017
- lb_policy_->server_name_,
1018
- args.initial_metadata)};
1019
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1020
- gpr_log(GPR_INFO, "[rlslb %p] picker=%p: request keys: %s",
1021
- lb_policy_.get(), this, key.ToString().c_str());
1022
- }
1023
- Timestamp now = Timestamp::Now();
1024
- MutexLock lock(&lb_policy_->mu_);
1025
- if (lb_policy_->is_shutdown_) {
1026
- return PickResult::Fail(
1027
- absl::UnavailableError("LB policy already shut down"));
1028
- }
1029
- // Check if there's a cache entry.
1030
- Cache::Entry* entry = lb_policy_->cache_.Find(key);
1031
- // If there is no cache entry, or if the cache entry is not in backoff
1032
- // and has a stale time in the past, and there is not already a
1033
- // pending RLS request for this key, then try to start a new RLS request.
1034
- if ((entry == nullptr ||
1035
- (entry->stale_time() < now && entry->backoff_time() < now)) &&
1036
- lb_policy_->request_map_.find(key) == lb_policy_->request_map_.end()) {
1037
- // Check if requests are being throttled.
1038
- if (lb_policy_->rls_channel_->ShouldThrottle()) {
1039
- // Request is throttled.
1040
- // If there is no non-expired data in the cache, then we use the
1041
- // default target if set, or else we fail the pick.
1042
- if (entry == nullptr || entry->data_expiration_time() < now) {
1043
- if (default_child_policy_ != nullptr) {
1044
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1045
- gpr_log(GPR_INFO,
1046
- "[rlslb %p] picker=%p: RLS call throttled; "
1047
- "using default target",
1048
- lb_policy_.get(), this);
1049
- }
1050
- return default_child_policy_->Pick(args);
1051
- }
1052
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1053
- gpr_log(GPR_INFO,
1054
- "[rlslb %p] picker=%p: RLS call throttled; failing pick",
1055
- lb_policy_.get(), this);
1056
- }
1057
- return PickResult::Fail(
1058
- absl::UnavailableError("RLS request throttled"));
1059
- }
1060
- }
1061
- // Start the RLS call.
1062
- lb_policy_->rls_channel_->StartRlsCall(
1063
- key, (entry == nullptr || entry->data_expiration_time() < now) ? nullptr
1064
- : entry);
1065
- }
1066
- // If the cache entry exists, see if it has usable data.
1067
- if (entry != nullptr) {
1068
- // If the entry has non-expired data, use it.
1069
- if (entry->data_expiration_time() >= now) {
1070
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1071
- gpr_log(GPR_INFO, "[rlslb %p] picker=%p: using cache entry %p",
1072
- lb_policy_.get(), this, entry);
1073
- }
1074
- return entry->Pick(args);
1075
- }
1076
- // If the entry is in backoff, then use the default target if set,
1077
- // or else fail the pick.
1078
- if (entry->backoff_time() >= now) {
1079
- if (default_child_policy_ != nullptr) {
1080
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1081
- gpr_log(
1082
- GPR_INFO,
1083
- "[rlslb %p] picker=%p: RLS call in backoff; using default target",
1084
- lb_policy_.get(), this);
1085
- }
1086
- return default_child_policy_->Pick(args);
1087
- }
1088
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1089
- gpr_log(GPR_INFO,
1090
- "[rlslb %p] picker=%p: RLS call in backoff; failing pick",
1091
- lb_policy_.get(), this);
1092
- }
1093
- return PickResult::Fail(absl::UnavailableError(
1094
- absl::StrCat("RLS request failed: ", entry->status().ToString())));
1095
- }
1096
- }
1097
- // RLS call pending. Queue the pick.
1098
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1099
- gpr_log(GPR_INFO, "[rlslb %p] picker=%p: RLS request pending; queuing pick",
1100
- lb_policy_.get(), this);
1101
- }
1102
- return PickResult::Queue();
1103
- }
1104
-
1105
- //
1106
- // RlsLb::Cache::Entry::BackoffTimer
1107
- //
1108
-
1109
- RlsLb::Cache::Entry::BackoffTimer::BackoffTimer(RefCountedPtr<Entry> entry,
1110
- Timestamp backoff_time)
1111
- : entry_(std::move(entry)) {
1112
- GRPC_CLOSURE_INIT(&backoff_timer_callback_, OnBackoffTimer, this, nullptr);
1113
- Ref(DEBUG_LOCATION, "BackoffTimer").release();
1114
- grpc_timer_init(&backoff_timer_, backoff_time, &backoff_timer_callback_);
1115
- }
1116
-
1117
- void RlsLb::Cache::Entry::BackoffTimer::Orphan() {
1118
- if (armed_) {
1119
- armed_ = false;
1120
- grpc_timer_cancel(&backoff_timer_);
1121
- }
1122
- Unref(DEBUG_LOCATION, "Orphan");
1123
- }
1124
-
1125
- void RlsLb::Cache::Entry::BackoffTimer::OnBackoffTimer(
1126
- void* arg, grpc_error_handle /*error*/) {
1127
- auto* self = static_cast<BackoffTimer*>(arg);
1128
- self->entry_->lb_policy_->work_serializer()->Run(
1129
- [self]() {
1130
- RefCountedPtr<BackoffTimer> backoff_timer(self);
1131
- {
1132
- MutexLock lock(&self->entry_->lb_policy_->mu_);
1133
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1134
- gpr_log(GPR_INFO,
1135
- "[rlslb %p] cache entry=%p %s, armed_=%d: "
1136
- "backoff timer fired",
1137
- self->entry_->lb_policy_.get(), self->entry_.get(),
1138
- self->entry_->is_shutdown_
1139
- ? "(shut down)"
1140
- : self->entry_->lru_iterator_->ToString().c_str(),
1141
- self->armed_);
1142
- }
1143
- bool cancelled = !self->armed_;
1144
- self->armed_ = false;
1145
- if (cancelled) return;
1146
- }
1147
- // The pick was in backoff state and there could be a pick queued if
1148
- // wait_for_ready is true. We'll update the picker for that case.
1149
- self->entry_->lb_policy_->UpdatePickerLocked();
1150
- },
1151
- DEBUG_LOCATION);
1152
- }
1153
-
1154
- //
1155
- // RlsLb::Cache::Entry
1156
- //
1157
-
1158
- std::unique_ptr<BackOff> MakeCacheEntryBackoff() {
1159
- return absl::make_unique<BackOff>(
1160
- BackOff::Options()
1161
- .set_initial_backoff(kCacheBackoffInitial)
1162
- .set_multiplier(kCacheBackoffMultiplier)
1163
- .set_jitter(kCacheBackoffJitter)
1164
- .set_max_backoff(kCacheBackoffMax));
1165
- }
1166
-
1167
- RlsLb::Cache::Entry::Entry(RefCountedPtr<RlsLb> lb_policy,
1168
- const RequestKey& key)
1169
- : InternallyRefCounted<Entry>(
1170
- GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace) ? "CacheEntry" : nullptr),
1171
- lb_policy_(std::move(lb_policy)),
1172
- backoff_state_(MakeCacheEntryBackoff()),
1173
- min_expiration_time_(Timestamp::Now() + kMinExpirationTime),
1174
- lru_iterator_(lb_policy_->cache_.lru_list_.insert(
1175
- lb_policy_->cache_.lru_list_.end(), key)) {}
1176
-
1177
- void RlsLb::Cache::Entry::Orphan() {
1178
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1179
- gpr_log(GPR_INFO, "[rlslb %p] cache entry=%p %s: cache entry evicted",
1180
- lb_policy_.get(), this, lru_iterator_->ToString().c_str());
1181
- }
1182
- is_shutdown_ = true;
1183
- lb_policy_->cache_.lru_list_.erase(lru_iterator_);
1184
- lru_iterator_ = lb_policy_->cache_.lru_list_.end(); // Just in case.
1185
- backoff_state_.reset();
1186
- if (backoff_timer_ != nullptr) {
1187
- backoff_timer_.reset();
1188
- lb_policy_->UpdatePickerAsync();
1189
- }
1190
- child_policy_wrappers_.clear();
1191
- Unref(DEBUG_LOCATION, "Orphan");
1192
- }
1193
-
1194
- size_t RlsLb::Cache::Entry::Size() const {
1195
- // lru_iterator_ is not valid once we're shut down.
1196
- GPR_ASSERT(!is_shutdown_);
1197
- return lb_policy_->cache_.EntrySizeForKey(*lru_iterator_);
1198
- }
1199
-
1200
- LoadBalancingPolicy::PickResult RlsLb::Cache::Entry::Pick(PickArgs args) {
1201
- size_t i = 0;
1202
- ChildPolicyWrapper* child_policy_wrapper = nullptr;
1203
- // Skip targets before the last one that are in state TRANSIENT_FAILURE.
1204
- for (; i < child_policy_wrappers_.size(); ++i) {
1205
- child_policy_wrapper = child_policy_wrappers_[i].get();
1206
- if (child_policy_wrapper->connectivity_state() ==
1207
- GRPC_CHANNEL_TRANSIENT_FAILURE &&
1208
- i < child_policy_wrappers_.size() - 1) {
1209
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1210
- gpr_log(GPR_INFO,
1211
- "[rlslb %p] cache entry=%p %s: target %s (%" PRIuPTR
1212
- " of %" PRIuPTR ") in state TRANSIENT_FAILURE; skipping",
1213
- lb_policy_.get(), this, lru_iterator_->ToString().c_str(),
1214
- child_policy_wrapper->target().c_str(), i,
1215
- child_policy_wrappers_.size());
1216
- }
1217
- continue;
1218
- }
1219
- break;
1220
- }
1221
- // Child policy not in TRANSIENT_FAILURE or is the last target in
1222
- // the list, so delegate.
1223
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1224
- gpr_log(GPR_INFO,
1225
- "[rlslb %p] cache entry=%p %s: target %s (%" PRIuPTR " of %" PRIuPTR
1226
- ") in state %s; delegating",
1227
- lb_policy_.get(), this, lru_iterator_->ToString().c_str(),
1228
- child_policy_wrapper->target().c_str(), i,
1229
- child_policy_wrappers_.size(),
1230
- ConnectivityStateName(child_policy_wrapper->connectivity_state()));
1231
- }
1232
- // Add header data.
1233
- // Note that even if the target we're using is in TRANSIENT_FAILURE,
1234
- // the pick might still succeed (e.g., if the child is ring_hash), so
1235
- // we need to pass the right header info down in all cases.
1236
- if (!header_data_.empty()) {
1237
- char* copied_header_data =
1238
- static_cast<char*>(args.call_state->Alloc(header_data_.length() + 1));
1239
- strcpy(copied_header_data, header_data_.c_str());
1240
- args.initial_metadata->Add(kRlsHeaderKey, copied_header_data);
1241
- }
1242
- return child_policy_wrapper->Pick(args);
1243
- }
1244
-
1245
- void RlsLb::Cache::Entry::ResetBackoff() {
1246
- backoff_time_ = Timestamp::InfPast();
1247
- backoff_timer_.reset();
1248
- }
1249
-
1250
- bool RlsLb::Cache::Entry::ShouldRemove() const {
1251
- Timestamp now = Timestamp::Now();
1252
- return data_expiration_time_ < now && backoff_expiration_time_ < now;
1253
- }
1254
-
1255
- bool RlsLb::Cache::Entry::CanEvict() const {
1256
- Timestamp now = Timestamp::Now();
1257
- return min_expiration_time_ < now;
1258
- }
1259
-
1260
- void RlsLb::Cache::Entry::MarkUsed() {
1261
- auto& lru_list = lb_policy_->cache_.lru_list_;
1262
- auto new_it = lru_list.insert(lru_list.end(), *lru_iterator_);
1263
- lru_list.erase(lru_iterator_);
1264
- lru_iterator_ = new_it;
1265
- }
1266
-
1267
- std::vector<RlsLb::ChildPolicyWrapper*>
1268
- RlsLb::Cache::Entry::OnRlsResponseLocked(
1269
- ResponseInfo response, std::unique_ptr<BackOff> backoff_state) {
1270
- // Move the entry to the end of the LRU list.
1271
- MarkUsed();
1272
- // If the request failed, store the failed status and update the
1273
- // backoff state.
1274
- if (!response.status.ok()) {
1275
- status_ = response.status;
1276
- if (backoff_state != nullptr) {
1277
- backoff_state_ = std::move(backoff_state);
1278
- } else {
1279
- backoff_state_ = MakeCacheEntryBackoff();
1280
- }
1281
- backoff_time_ = backoff_state_->NextAttemptTime();
1282
- Timestamp now = Timestamp::Now();
1283
- backoff_expiration_time_ = now + (backoff_time_ - now) * 2;
1284
- backoff_timer_ = MakeOrphanable<BackoffTimer>(
1285
- Ref(DEBUG_LOCATION, "BackoffTimer"), backoff_time_);
1286
- lb_policy_->UpdatePickerAsync();
1287
- return {};
1288
- }
1289
- // Request succeeded, so store the result.
1290
- header_data_ = std::move(response.header_data);
1291
- Timestamp now = Timestamp::Now();
1292
- data_expiration_time_ = now + lb_policy_->config_->max_age();
1293
- stale_time_ = now + lb_policy_->config_->stale_age();
1294
- status_ = absl::OkStatus();
1295
- backoff_state_.reset();
1296
- backoff_time_ = Timestamp::InfPast();
1297
- backoff_expiration_time_ = Timestamp::InfPast();
1298
- // Check if we need to update this list of targets.
1299
- bool targets_changed = [&]() ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb::mu_) {
1300
- if (child_policy_wrappers_.size() != response.targets.size()) return true;
1301
- for (size_t i = 0; i < response.targets.size(); ++i) {
1302
- if (child_policy_wrappers_[i]->target() != response.targets[i]) {
1303
- return true;
1304
- }
1305
- }
1306
- return false;
1307
- }();
1308
- if (!targets_changed) {
1309
- // Targets didn't change, so we're not updating the list of child
1310
- // policies. Return a new picker so that any queued requests can be
1311
- // re-processed.
1312
- lb_policy_->UpdatePickerAsync();
1313
- return {};
1314
- }
1315
- // Target list changed, so update it.
1316
- std::set<absl::string_view> old_targets;
1317
- for (RefCountedPtr<ChildPolicyWrapper>& child_policy_wrapper :
1318
- child_policy_wrappers_) {
1319
- old_targets.emplace(child_policy_wrapper->target());
1320
- }
1321
- bool update_picker = false;
1322
- std::vector<ChildPolicyWrapper*> child_policies_to_finish_update;
1323
- std::vector<RefCountedPtr<ChildPolicyWrapper>> new_child_policy_wrappers;
1324
- new_child_policy_wrappers.reserve(response.targets.size());
1325
- for (std::string& target : response.targets) {
1326
- auto it = lb_policy_->child_policy_map_.find(target);
1327
- if (it == lb_policy_->child_policy_map_.end()) {
1328
- auto new_child = MakeRefCounted<ChildPolicyWrapper>(
1329
- lb_policy_->Ref(DEBUG_LOCATION, "ChildPolicyWrapper"), target);
1330
- new_child->StartUpdate();
1331
- child_policies_to_finish_update.push_back(new_child.get());
1332
- new_child_policy_wrappers.emplace_back(std::move(new_child));
1333
- } else {
1334
- new_child_policy_wrappers.emplace_back(
1335
- it->second->Ref(DEBUG_LOCATION, "CacheEntry"));
1336
- // If the target already existed but was not previously used for
1337
- // this key, then we'll need to update the picker, since we
1338
- // didn't actually create a new child policy, which would have
1339
- // triggered an RLS picker update when it returned its first picker.
1340
- if (old_targets.find(target) == old_targets.end()) {
1341
- update_picker = true;
1342
- }
1343
- }
1344
- }
1345
- child_policy_wrappers_ = std::move(new_child_policy_wrappers);
1346
- if (update_picker) {
1347
- lb_policy_->UpdatePickerAsync();
1348
- }
1349
- return child_policies_to_finish_update;
1350
- }
1351
-
1352
- //
1353
- // RlsLb::Cache
1354
- //
1355
-
1356
- RlsLb::Cache::Cache(RlsLb* lb_policy) : lb_policy_(lb_policy) {
1357
- Timestamp now = Timestamp::Now();
1358
- lb_policy_->Ref(DEBUG_LOCATION, "CacheCleanupTimer").release();
1359
- GRPC_CLOSURE_INIT(&timer_callback_, OnCleanupTimer, this, nullptr);
1360
- grpc_timer_init(&cleanup_timer_, now + kCacheCleanupTimerInterval,
1361
- &timer_callback_);
1362
- }
1363
-
1364
- RlsLb::Cache::Entry* RlsLb::Cache::Find(const RequestKey& key) {
1365
- auto it = map_.find(key);
1366
- if (it == map_.end()) return nullptr;
1367
- it->second->MarkUsed();
1368
- return it->second.get();
1369
- }
1370
-
1371
- RlsLb::Cache::Entry* RlsLb::Cache::FindOrInsert(const RequestKey& key) {
1372
- auto it = map_.find(key);
1373
- // If not found, create new entry.
1374
- if (it == map_.end()) {
1375
- size_t entry_size = EntrySizeForKey(key);
1376
- MaybeShrinkSize(size_limit_ - std::min(size_limit_, entry_size));
1377
- Entry* entry =
1378
- new Entry(lb_policy_->Ref(DEBUG_LOCATION, "CacheEntry"), key);
1379
- map_.emplace(key, OrphanablePtr<Entry>(entry));
1380
- size_ += entry_size;
1381
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1382
- gpr_log(GPR_INFO, "[rlslb %p] key=%s: cache entry added, entry=%p",
1383
- lb_policy_, key.ToString().c_str(), entry);
1384
- }
1385
- return entry;
1386
- }
1387
- // Entry found, so use it.
1388
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1389
- gpr_log(GPR_INFO, "[rlslb %p] key=%s: found cache entry %p", lb_policy_,
1390
- key.ToString().c_str(), it->second.get());
1391
- }
1392
- it->second->MarkUsed();
1393
- return it->second.get();
1394
- }
1395
-
1396
- void RlsLb::Cache::Resize(size_t bytes) {
1397
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1398
- gpr_log(GPR_INFO, "[rlslb %p] resizing cache to %" PRIuPTR " bytes",
1399
- lb_policy_, bytes);
1400
- }
1401
- size_limit_ = bytes;
1402
- MaybeShrinkSize(size_limit_);
1403
- }
1404
-
1405
- void RlsLb::Cache::ResetAllBackoff() {
1406
- for (auto& p : map_) {
1407
- p.second->ResetBackoff();
1408
- }
1409
- lb_policy_->UpdatePickerAsync();
1410
- }
1411
-
1412
- void RlsLb::Cache::Shutdown() {
1413
- map_.clear();
1414
- lru_list_.clear();
1415
- grpc_timer_cancel(&cleanup_timer_);
1416
- }
1417
-
1418
- void RlsLb::Cache::OnCleanupTimer(void* arg, grpc_error_handle error) {
1419
- Cache* cache = static_cast<Cache*>(arg);
1420
- (void)GRPC_ERROR_REF(error);
1421
- cache->lb_policy_->work_serializer()->Run(
1422
- [cache, error]() {
1423
- RefCountedPtr<RlsLb> lb_policy(cache->lb_policy_);
1424
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1425
- gpr_log(GPR_INFO, "[rlslb %p] cache cleanup timer fired (%s)",
1426
- cache->lb_policy_, grpc_error_std_string(error).c_str());
1427
- }
1428
- if (error == GRPC_ERROR_CANCELLED) return;
1429
- MutexLock lock(&lb_policy->mu_);
1430
- if (lb_policy->is_shutdown_) return;
1431
- for (auto it = cache->map_.begin(); it != cache->map_.end();) {
1432
- if (GPR_UNLIKELY(it->second->ShouldRemove() &&
1433
- it->second->CanEvict())) {
1434
- cache->size_ -= it->second->Size();
1435
- it = cache->map_.erase(it);
1436
- } else {
1437
- ++it;
1438
- }
1439
- }
1440
- Timestamp now = Timestamp::Now();
1441
- lb_policy.release();
1442
- grpc_timer_init(&cache->cleanup_timer_,
1443
- now + kCacheCleanupTimerInterval,
1444
- &cache->timer_callback_);
1445
- },
1446
- DEBUG_LOCATION);
1447
- }
1448
-
1449
- size_t RlsLb::Cache::EntrySizeForKey(const RequestKey& key) {
1450
- // Key is stored twice, once in LRU list and again in the cache map.
1451
- return (key.Size() * 2) + sizeof(Entry);
1452
- }
1453
-
1454
- void RlsLb::Cache::MaybeShrinkSize(size_t bytes) {
1455
- while (size_ > bytes) {
1456
- auto lru_it = lru_list_.begin();
1457
- if (GPR_UNLIKELY(lru_it == lru_list_.end())) break;
1458
- auto map_it = map_.find(*lru_it);
1459
- GPR_ASSERT(map_it != map_.end());
1460
- if (!map_it->second->CanEvict()) break;
1461
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1462
- gpr_log(GPR_INFO, "[rlslb %p] LRU eviction: removing entry %p %s",
1463
- lb_policy_, map_it->second.get(), lru_it->ToString().c_str());
1464
- }
1465
- size_ -= map_it->second->Size();
1466
- map_.erase(map_it);
1467
- }
1468
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1469
- gpr_log(GPR_INFO,
1470
- "[rlslb %p] LRU pass complete: desired size=%" PRIuPTR
1471
- " size=%" PRIuPTR,
1472
- lb_policy_, bytes, size_);
1473
- }
1474
- }
1475
-
1476
- //
1477
- // RlsLb::RlsChannel::StateWatcher
1478
- //
1479
-
1480
- void RlsLb::RlsChannel::StateWatcher::OnConnectivityStateChange(
1481
- grpc_connectivity_state new_state, const absl::Status& status) {
1482
- auto* lb_policy = rls_channel_->lb_policy_.get();
1483
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1484
- gpr_log(GPR_INFO,
1485
- "[rlslb %p] RlsChannel=%p StateWatcher=%p: "
1486
- "state changed to %s (%s)",
1487
- lb_policy, rls_channel_.get(), this,
1488
- ConnectivityStateName(new_state), status.ToString().c_str());
1489
- }
1490
- if (rls_channel_->is_shutdown_) return;
1491
- MutexLock lock(&lb_policy->mu_);
1492
- if (new_state == GRPC_CHANNEL_READY && was_transient_failure_) {
1493
- was_transient_failure_ = false;
1494
- // Reset the backoff of all cache entries, so that we don't
1495
- // double-penalize if an RLS request fails while the channel is
1496
- // down, since the throttling for the channel being down is handled
1497
- // at the channel level instead of in the individual cache entries.
1498
- lb_policy->cache_.ResetAllBackoff();
1499
- } else if (new_state == GRPC_CHANNEL_TRANSIENT_FAILURE) {
1500
- was_transient_failure_ = true;
1501
- }
1502
- }
1503
-
1504
- //
1505
- // RlsLb::RlsChannel::Throttle
1506
- //
1507
-
1508
- bool RlsLb::RlsChannel::Throttle::ShouldThrottle() {
1509
- Timestamp now = Timestamp::Now();
1510
- while (!requests_.empty() && now - requests_.front() > window_size_) {
1511
- requests_.pop_front();
1512
- }
1513
- while (!failures_.empty() && now - failures_.front() > window_size_) {
1514
- failures_.pop_front();
1515
- }
1516
- // Compute probability of throttling.
1517
- float num_requests = requests_.size();
1518
- float num_successes = num_requests - failures_.size();
1519
- // Note: it's possible that this ratio will be negative, in which case
1520
- // no throttling will be done.
1521
- float throttle_probability =
1522
- (num_requests - (num_successes * ratio_for_successes_)) /
1523
- (num_requests + padding_);
1524
- // Generate a random number for the request.
1525
- std::uniform_real_distribution<float> dist(0, 1.0);
1526
- // Check if we should throttle the request.
1527
- bool throttle = dist(rng_) < throttle_probability;
1528
- // If we're throttling, record the request and the failure.
1529
- if (throttle) {
1530
- requests_.push_back(now);
1531
- failures_.push_back(now);
1532
- }
1533
- return throttle;
1534
- }
1535
-
1536
- void RlsLb::RlsChannel::Throttle::RegisterResponse(bool success) {
1537
- Timestamp now = Timestamp::Now();
1538
- requests_.push_back(now);
1539
- if (!success) failures_.push_back(now);
1540
- }
1541
-
1542
- //
1543
- // RlsLb::RlsChannel
1544
- //
1545
-
1546
- RlsLb::RlsChannel::RlsChannel(RefCountedPtr<RlsLb> lb_policy)
1547
- : InternallyRefCounted<RlsChannel>(
1548
- GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace) ? "RlsChannel" : nullptr),
1549
- lb_policy_(std::move(lb_policy)) {
1550
- // Get channel creds from parent channel.
1551
- // TODO(roth): Once we eliminate insecure builds, get this via a
1552
- // method on the helper instead of digging through channel args.
1553
- auto* creds = lb_policy_->channel_args_.GetObject<grpc_channel_credentials>();
1554
- // Use the parent channel's authority.
1555
- std::string authority(lb_policy_->channel_control_helper()->GetAuthority());
1556
- ChannelArgs args = ChannelArgs()
1557
- .Set(GRPC_ARG_DEFAULT_AUTHORITY, authority)
1558
- .Set(GRPC_ARG_CHANNELZ_IS_INTERNAL_CHANNEL, 1);
1559
- // Propagate fake security connector expected targets, if any.
1560
- // (This is ugly, but it seems better than propagating all channel args
1561
- // from the parent channel by default and then having a giant
1562
- // exclude list of args to strip out, like we do in grpclb.)
1563
- absl::optional<absl::string_view> fake_security_expected_targets =
1564
- lb_policy_->channel_args_.GetString(
1565
- GRPC_ARG_FAKE_SECURITY_EXPECTED_TARGETS);
1566
- if (fake_security_expected_targets.has_value()) {
1567
- args = args.Set(GRPC_ARG_FAKE_SECURITY_EXPECTED_TARGETS,
1568
- *fake_security_expected_targets);
1569
- }
1570
- // Add service config args if needed.
1571
- const std::string& service_config =
1572
- lb_policy_->config_->rls_channel_service_config();
1573
- if (!service_config.empty()) {
1574
- args = args.Set(GRPC_ARG_SERVICE_CONFIG, service_config)
1575
- .Set(GRPC_ARG_SERVICE_CONFIG_DISABLE_RESOLUTION, 1);
1576
- }
1577
- channel_ = grpc_channel_create(lb_policy_->config_->lookup_service().c_str(),
1578
- creds, args.ToC().get());
1579
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1580
- gpr_log(GPR_INFO, "[rlslb %p] RlsChannel=%p: created channel %p for %s",
1581
- lb_policy_.get(), this, channel_,
1582
- lb_policy_->config_->lookup_service().c_str());
1583
- }
1584
- if (channel_ != nullptr) {
1585
- // Set up channelz linkage.
1586
- channelz::ChannelNode* child_channelz_node =
1587
- grpc_channel_get_channelz_node(channel_);
1588
- channelz::ChannelNode* parent_channelz_node =
1589
- lb_policy_->channel_args_.GetObject<channelz::ChannelNode>();
1590
- if (child_channelz_node != nullptr && parent_channelz_node != nullptr) {
1591
- parent_channelz_node->AddChildChannel(child_channelz_node->uuid());
1592
- parent_channelz_node_ = parent_channelz_node->Ref();
1593
- }
1594
- // Start connectivity watch.
1595
- ClientChannel* client_channel =
1596
- ClientChannel::GetFromChannel(Channel::FromC(channel_));
1597
- GPR_ASSERT(client_channel != nullptr);
1598
- watcher_ = new StateWatcher(Ref(DEBUG_LOCATION, "StateWatcher"));
1599
- client_channel->AddConnectivityWatcher(
1600
- GRPC_CHANNEL_IDLE,
1601
- OrphanablePtr<AsyncConnectivityStateWatcherInterface>(watcher_));
1602
- }
1603
- }
1604
-
1605
- void RlsLb::RlsChannel::Orphan() {
1606
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1607
- gpr_log(GPR_INFO, "[rlslb %p] RlsChannel=%p, channel=%p: shutdown",
1608
- lb_policy_.get(), this, channel_);
1609
- }
1610
- is_shutdown_ = true;
1611
- if (channel_ != nullptr) {
1612
- // Remove channelz linkage.
1613
- if (parent_channelz_node_ != nullptr) {
1614
- channelz::ChannelNode* child_channelz_node =
1615
- grpc_channel_get_channelz_node(channel_);
1616
- GPR_ASSERT(child_channelz_node != nullptr);
1617
- parent_channelz_node_->RemoveChildChannel(child_channelz_node->uuid());
1618
- }
1619
- // Stop connectivity watch.
1620
- if (watcher_ != nullptr) {
1621
- ClientChannel* client_channel =
1622
- ClientChannel::GetFromChannel(Channel::FromC(channel_));
1623
- GPR_ASSERT(client_channel != nullptr);
1624
- client_channel->RemoveConnectivityWatcher(watcher_);
1625
- watcher_ = nullptr;
1626
- }
1627
- grpc_channel_destroy(channel_);
1628
- }
1629
- Unref(DEBUG_LOCATION, "Orphan");
1630
- }
1631
-
1632
- void RlsLb::RlsChannel::StartRlsCall(const RequestKey& key,
1633
- Cache::Entry* stale_entry) {
1634
- std::unique_ptr<BackOff> backoff_state;
1635
- grpc_lookup_v1_RouteLookupRequest_Reason reason =
1636
- grpc_lookup_v1_RouteLookupRequest_REASON_MISS;
1637
- std::string stale_header_data;
1638
- if (stale_entry != nullptr) {
1639
- backoff_state = stale_entry->TakeBackoffState();
1640
- reason = grpc_lookup_v1_RouteLookupRequest_REASON_STALE;
1641
- stale_header_data = stale_entry->header_data();
1642
- }
1643
- lb_policy_->request_map_.emplace(
1644
- key, MakeOrphanable<RlsRequest>(
1645
- lb_policy_->Ref(DEBUG_LOCATION, "RlsRequest"), key,
1646
- lb_policy_->rls_channel_->Ref(DEBUG_LOCATION, "RlsRequest"),
1647
- std::move(backoff_state), reason, std::move(stale_header_data)));
1648
- }
1649
-
1650
- void RlsLb::RlsChannel::ReportResponseLocked(bool response_succeeded) {
1651
- throttle_.RegisterResponse(response_succeeded);
1652
- }
1653
-
1654
- void RlsLb::RlsChannel::ResetBackoff() {
1655
- GPR_DEBUG_ASSERT(channel_ != nullptr);
1656
- grpc_channel_reset_connect_backoff(channel_);
1657
- }
1658
-
1659
- //
1660
- // RlsLb::RlsRequest
1661
- //
1662
-
1663
- RlsLb::RlsRequest::RlsRequest(RefCountedPtr<RlsLb> lb_policy, RequestKey key,
1664
- RefCountedPtr<RlsChannel> rls_channel,
1665
- std::unique_ptr<BackOff> backoff_state,
1666
- grpc_lookup_v1_RouteLookupRequest_Reason reason,
1667
- std::string stale_header_data)
1668
- : InternallyRefCounted<RlsRequest>(
1669
- GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace) ? "RlsRequest" : nullptr),
1670
- lb_policy_(std::move(lb_policy)),
1671
- key_(std::move(key)),
1672
- rls_channel_(std::move(rls_channel)),
1673
- backoff_state_(std::move(backoff_state)),
1674
- reason_(reason),
1675
- stale_header_data_(std::move(stale_header_data)) {
1676
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1677
- gpr_log(GPR_INFO,
1678
- "[rlslb %p] rls_request=%p: RLS request created for key %s",
1679
- lb_policy_.get(), this, key_.ToString().c_str());
1680
- }
1681
- GRPC_CLOSURE_INIT(&call_complete_cb_, OnRlsCallComplete, this, nullptr);
1682
- ExecCtx::Run(
1683
- DEBUG_LOCATION,
1684
- GRPC_CLOSURE_INIT(&call_start_cb_, StartCall,
1685
- Ref(DEBUG_LOCATION, "StartCall").release(), nullptr),
1686
- GRPC_ERROR_NONE);
1687
- }
1688
-
1689
- RlsLb::RlsRequest::~RlsRequest() { GPR_ASSERT(call_ == nullptr); }
1690
-
1691
- void RlsLb::RlsRequest::Orphan() {
1692
- if (call_ != nullptr) {
1693
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1694
- gpr_log(GPR_INFO, "[rlslb %p] rls_request=%p %s: cancelling RLS call",
1695
- lb_policy_.get(), this, key_.ToString().c_str());
1696
- }
1697
- grpc_call_cancel_internal(call_);
1698
- }
1699
- Unref(DEBUG_LOCATION, "Orphan");
1700
- }
1701
-
1702
- void RlsLb::RlsRequest::StartCall(void* arg, grpc_error_handle /*error*/) {
1703
- auto* request = static_cast<RlsRequest*>(arg);
1704
- request->lb_policy_->work_serializer()->Run(
1705
- [request]() {
1706
- request->StartCallLocked();
1707
- request->Unref(DEBUG_LOCATION, "StartCall");
1708
- },
1709
- DEBUG_LOCATION);
1710
- }
1711
-
1712
- void RlsLb::RlsRequest::StartCallLocked() {
1713
- {
1714
- MutexLock lock(&lb_policy_->mu_);
1715
- if (lb_policy_->is_shutdown_) return;
1716
- }
1717
- Timestamp now = Timestamp::Now();
1718
- deadline_ = now + lb_policy_->config_->lookup_service_timeout();
1719
- grpc_metadata_array_init(&recv_initial_metadata_);
1720
- grpc_metadata_array_init(&recv_trailing_metadata_);
1721
- call_ = grpc_channel_create_pollset_set_call(
1722
- rls_channel_->channel(), nullptr, GRPC_PROPAGATE_DEFAULTS,
1723
- lb_policy_->interested_parties(),
1724
- grpc_slice_from_static_string(kRlsRequestPath), nullptr, deadline_,
1725
- nullptr);
1726
- grpc_op ops[6];
1727
- memset(ops, 0, sizeof(ops));
1728
- grpc_op* op = ops;
1729
- op->op = GRPC_OP_SEND_INITIAL_METADATA;
1730
- ++op;
1731
- op->op = GRPC_OP_SEND_MESSAGE;
1732
- send_message_ = MakeRequestProto();
1733
- op->data.send_message.send_message = send_message_;
1734
- ++op;
1735
- op->op = GRPC_OP_SEND_CLOSE_FROM_CLIENT;
1736
- ++op;
1737
- op->op = GRPC_OP_RECV_INITIAL_METADATA;
1738
- op->data.recv_initial_metadata.recv_initial_metadata =
1739
- &recv_initial_metadata_;
1740
- ++op;
1741
- op->op = GRPC_OP_RECV_MESSAGE;
1742
- op->data.recv_message.recv_message = &recv_message_;
1743
- ++op;
1744
- op->op = GRPC_OP_RECV_STATUS_ON_CLIENT;
1745
- op->data.recv_status_on_client.trailing_metadata = &recv_trailing_metadata_;
1746
- op->data.recv_status_on_client.status = &status_recv_;
1747
- op->data.recv_status_on_client.status_details = &status_details_recv_;
1748
- ++op;
1749
- Ref(DEBUG_LOCATION, "OnRlsCallComplete").release();
1750
- auto call_error = grpc_call_start_batch_and_execute(
1751
- call_, ops, static_cast<size_t>(op - ops), &call_complete_cb_);
1752
- GPR_ASSERT(call_error == GRPC_CALL_OK);
1753
- }
1754
-
1755
- void RlsLb::RlsRequest::OnRlsCallComplete(void* arg, grpc_error_handle error) {
1756
- auto* request = static_cast<RlsRequest*>(arg);
1757
- (void)GRPC_ERROR_REF(error);
1758
- request->lb_policy_->work_serializer()->Run(
1759
- [request, error]() {
1760
- request->OnRlsCallCompleteLocked(error);
1761
- request->Unref(DEBUG_LOCATION, "OnRlsCallComplete");
1762
- },
1763
- DEBUG_LOCATION);
1764
- }
1765
-
1766
- void RlsLb::RlsRequest::OnRlsCallCompleteLocked(grpc_error_handle error) {
1767
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1768
- std::string status_message(StringViewFromSlice(status_details_recv_));
1769
- gpr_log(GPR_INFO,
1770
- "[rlslb %p] rls_request=%p %s, error=%s, status={%d, %s} RLS call "
1771
- "response received",
1772
- lb_policy_.get(), this, key_.ToString().c_str(),
1773
- grpc_error_std_string(error).c_str(), status_recv_,
1774
- status_message.c_str());
1775
- }
1776
- // Parse response.
1777
- ResponseInfo response;
1778
- if (!GRPC_ERROR_IS_NONE(error)) {
1779
- grpc_status_code code;
1780
- std::string message;
1781
- grpc_error_get_status(error, deadline_, &code, &message,
1782
- /*http_error=*/nullptr, /*error_string=*/nullptr);
1783
- response.status =
1784
- absl::Status(static_cast<absl::StatusCode>(code), message);
1785
- } else if (status_recv_ != GRPC_STATUS_OK) {
1786
- response.status = absl::Status(static_cast<absl::StatusCode>(status_recv_),
1787
- StringViewFromSlice(status_details_recv_));
1788
- } else {
1789
- response = ParseResponseProto();
1790
- }
1791
- // Clean up call state.
1792
- grpc_byte_buffer_destroy(send_message_);
1793
- grpc_byte_buffer_destroy(recv_message_);
1794
- grpc_metadata_array_destroy(&recv_initial_metadata_);
1795
- grpc_metadata_array_destroy(&recv_trailing_metadata_);
1796
- grpc_slice_unref_internal(status_details_recv_);
1797
- grpc_call_unref(call_);
1798
- call_ = nullptr;
1799
- // Return result to cache.
1800
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1801
- gpr_log(GPR_INFO, "[rlslb %p] rls_request=%p %s: response info: %s",
1802
- lb_policy_.get(), this, key_.ToString().c_str(),
1803
- response.ToString().c_str());
1804
- }
1805
- std::vector<ChildPolicyWrapper*> child_policies_to_finish_update;
1806
- {
1807
- MutexLock lock(&lb_policy_->mu_);
1808
- if (lb_policy_->is_shutdown_) return;
1809
- rls_channel_->ReportResponseLocked(response.status.ok());
1810
- Cache::Entry* cache_entry = lb_policy_->cache_.FindOrInsert(key_);
1811
- child_policies_to_finish_update = cache_entry->OnRlsResponseLocked(
1812
- std::move(response), std::move(backoff_state_));
1813
- lb_policy_->request_map_.erase(key_);
1814
- }
1815
- // Now that we've released the lock, finish the update on any newly
1816
- // created child policies.
1817
- for (ChildPolicyWrapper* child : child_policies_to_finish_update) {
1818
- // TODO(roth): If the child reports an error with the update, we
1819
- // need to propagate that back to the resolver somehow.
1820
- (void)child->MaybeFinishUpdate();
1821
- }
1822
- }
1823
-
1824
- grpc_byte_buffer* RlsLb::RlsRequest::MakeRequestProto() {
1825
- upb::Arena arena;
1826
- grpc_lookup_v1_RouteLookupRequest* req =
1827
- grpc_lookup_v1_RouteLookupRequest_new(arena.ptr());
1828
- grpc_lookup_v1_RouteLookupRequest_set_target_type(
1829
- req, upb_StringView_FromDataAndSize(kGrpc, sizeof(kGrpc) - 1));
1830
- for (const auto& kv : key_.key_map) {
1831
- grpc_lookup_v1_RouteLookupRequest_key_map_set(
1832
- req, upb_StringView_FromDataAndSize(kv.first.data(), kv.first.size()),
1833
- upb_StringView_FromDataAndSize(kv.second.data(), kv.second.size()),
1834
- arena.ptr());
1835
- }
1836
- grpc_lookup_v1_RouteLookupRequest_set_reason(req, reason_);
1837
- if (!stale_header_data_.empty()) {
1838
- grpc_lookup_v1_RouteLookupRequest_set_stale_header_data(
1839
- req, upb_StringView_FromDataAndSize(stale_header_data_.data(),
1840
- stale_header_data_.size()));
1841
- }
1842
- size_t len;
1843
- char* buf =
1844
- grpc_lookup_v1_RouteLookupRequest_serialize(req, arena.ptr(), &len);
1845
- grpc_slice send_slice = grpc_slice_from_copied_buffer(buf, len);
1846
- grpc_byte_buffer* byte_buffer = grpc_raw_byte_buffer_create(&send_slice, 1);
1847
- grpc_slice_unref_internal(send_slice);
1848
- return byte_buffer;
1849
- }
1850
-
1851
- RlsLb::ResponseInfo RlsLb::RlsRequest::ParseResponseProto() {
1852
- ResponseInfo response_info;
1853
- upb::Arena arena;
1854
- grpc_byte_buffer_reader bbr;
1855
- grpc_byte_buffer_reader_init(&bbr, recv_message_);
1856
- grpc_slice recv_slice = grpc_byte_buffer_reader_readall(&bbr);
1857
- grpc_byte_buffer_reader_destroy(&bbr);
1858
- grpc_lookup_v1_RouteLookupResponse* response =
1859
- grpc_lookup_v1_RouteLookupResponse_parse(
1860
- reinterpret_cast<const char*>(GRPC_SLICE_START_PTR(recv_slice)),
1861
- GRPC_SLICE_LENGTH(recv_slice), arena.ptr());
1862
- grpc_slice_unref_internal(recv_slice);
1863
- if (response == nullptr) {
1864
- response_info.status = absl::InternalError("cannot parse RLS response");
1865
- return response_info;
1866
- }
1867
- size_t num_targets;
1868
- const upb_StringView* targets_strview =
1869
- grpc_lookup_v1_RouteLookupResponse_targets(response, &num_targets);
1870
- if (num_targets == 0) {
1871
- response_info.status =
1872
- absl::InvalidArgumentError("RLS response has no target entry");
1873
- return response_info;
1874
- }
1875
- response_info.targets.reserve(num_targets);
1876
- for (size_t i = 0; i < num_targets; ++i) {
1877
- response_info.targets.emplace_back(targets_strview[i].data,
1878
- targets_strview[i].size);
1879
- }
1880
- upb_StringView header_data_strview =
1881
- grpc_lookup_v1_RouteLookupResponse_header_data(response);
1882
- response_info.header_data =
1883
- std::string(header_data_strview.data, header_data_strview.size);
1884
- return response_info;
1885
- }
1886
-
1887
- //
1888
- // RlsLb
1889
- //
1890
-
1891
- std::string GetServerUri(const ChannelArgs& args) {
1892
- auto server_uri_str = args.GetString(GRPC_ARG_SERVER_URI);
1893
- GPR_ASSERT(server_uri_str.has_value());
1894
- absl::StatusOr<URI> uri = URI::Parse(*server_uri_str);
1895
- GPR_ASSERT(uri.ok());
1896
- return std::string(absl::StripPrefix(uri->path(), "/"));
1897
- }
1898
-
1899
- RlsLb::RlsLb(Args args)
1900
- : LoadBalancingPolicy(std::move(args)),
1901
- server_name_(GetServerUri(channel_args())),
1902
- cache_(this) {
1903
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1904
- gpr_log(GPR_INFO, "[rlslb %p] policy created", this);
1905
- }
1906
- }
1907
-
1908
- absl::Status RlsLb::UpdateLocked(UpdateArgs args) {
1909
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1910
- gpr_log(GPR_INFO, "[rlslb %p] policy updated", this);
1911
- }
1912
- update_in_progress_ = true;
1913
- // Swap out config.
1914
- RefCountedPtr<RlsLbConfig> old_config = std::move(config_);
1915
- config_ = std::move(args.config);
1916
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace) &&
1917
- (old_config == nullptr ||
1918
- old_config->child_policy_config() != config_->child_policy_config())) {
1919
- gpr_log(GPR_INFO, "[rlslb %p] updated child policy config: %s", this,
1920
- config_->child_policy_config().Dump().c_str());
1921
- }
1922
- // Swap out addresses.
1923
- // If the new address list is an error and we have an existing address list,
1924
- // stick with the existing addresses.
1925
- absl::StatusOr<ServerAddressList> old_addresses;
1926
- if (args.addresses.ok()) {
1927
- old_addresses = std::move(addresses_);
1928
- addresses_ = std::move(args.addresses);
1929
- } else {
1930
- old_addresses = addresses_;
1931
- }
1932
- // Swap out channel args.
1933
- channel_args_ = std::move(args.args);
1934
- // Determine whether we need to update all child policies.
1935
- bool update_child_policies =
1936
- old_config == nullptr ||
1937
- old_config->child_policy_config() != config_->child_policy_config() ||
1938
- old_addresses != addresses_ || args.args != channel_args_;
1939
- // If default target changes, swap out child policy.
1940
- bool created_default_child = false;
1941
- if (old_config == nullptr ||
1942
- config_->default_target() != old_config->default_target()) {
1943
- if (config_->default_target().empty()) {
1944
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1945
- gpr_log(GPR_INFO, "[rlslb %p] unsetting default target", this);
1946
- }
1947
- default_child_policy_.reset();
1948
- } else {
1949
- auto it = child_policy_map_.find(config_->default_target());
1950
- if (it == child_policy_map_.end()) {
1951
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1952
- gpr_log(GPR_INFO, "[rlslb %p] creating new default target", this);
1953
- }
1954
- default_child_policy_ = MakeRefCounted<ChildPolicyWrapper>(
1955
- Ref(DEBUG_LOCATION, "ChildPolicyWrapper"),
1956
- config_->default_target());
1957
- created_default_child = true;
1958
- } else {
1959
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1960
- gpr_log(GPR_INFO,
1961
- "[rlslb %p] using existing child for default target", this);
1962
- }
1963
- default_child_policy_ =
1964
- it->second->Ref(DEBUG_LOCATION, "DefaultChildPolicy");
1965
- }
1966
- }
1967
- }
1968
- // Now grab the lock to swap out the state it guards.
1969
- {
1970
- MutexLock lock(&mu_);
1971
- // Swap out RLS channel if needed.
1972
- if (old_config == nullptr ||
1973
- config_->lookup_service() != old_config->lookup_service()) {
1974
- rls_channel_ =
1975
- MakeOrphanable<RlsChannel>(Ref(DEBUG_LOCATION, "RlsChannel"));
1976
- }
1977
- // Resize cache if needed.
1978
- if (old_config == nullptr ||
1979
- config_->cache_size_bytes() != old_config->cache_size_bytes()) {
1980
- cache_.Resize(static_cast<size_t>(config_->cache_size_bytes()));
1981
- }
1982
- // Start update of child policies if needed.
1983
- if (update_child_policies) {
1984
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1985
- gpr_log(GPR_INFO, "[rlslb %p] starting child policy updates", this);
1986
- }
1987
- for (auto& p : child_policy_map_) {
1988
- p.second->StartUpdate();
1989
- }
1990
- } else if (created_default_child) {
1991
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
1992
- gpr_log(GPR_INFO, "[rlslb %p] starting default child policy update",
1993
- this);
1994
- }
1995
- default_child_policy_->StartUpdate();
1996
- }
1997
- }
1998
- // Now that we've released the lock, finish update of child policies.
1999
- std::vector<std::string> errors;
2000
- if (update_child_policies) {
2001
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
2002
- gpr_log(GPR_INFO, "[rlslb %p] finishing child policy updates", this);
2003
- }
2004
- for (auto& p : child_policy_map_) {
2005
- absl::Status status = p.second->MaybeFinishUpdate();
2006
- if (!status.ok()) {
2007
- errors.emplace_back(
2008
- absl::StrCat("target ", p.first, ": ", status.ToString()));
2009
- }
2010
- }
2011
- } else if (created_default_child) {
2012
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
2013
- gpr_log(GPR_INFO, "[rlslb %p] finishing default child policy update",
2014
- this);
2015
- }
2016
- absl::Status status = default_child_policy_->MaybeFinishUpdate();
2017
- if (!status.ok()) {
2018
- errors.emplace_back(absl::StrCat("target ", config_->default_target(),
2019
- ": ", status.ToString()));
2020
- }
2021
- }
2022
- update_in_progress_ = false;
2023
- // In principle, we need to update the picker here only if the config
2024
- // fields used by the picker have changed. However, it seems fragile
2025
- // to check individual fields, since the picker logic could change in
2026
- // the future to use additional config fields, and we might not
2027
- // remember to update the code here. So for now, we just unconditionally
2028
- // update the picker here, even though it's probably redundant.
2029
- UpdatePickerLocked();
2030
- // Return status.
2031
- if (!errors.empty()) {
2032
- return absl::UnavailableError(absl::StrCat(
2033
- "errors from children: [", absl::StrJoin(errors, "; "), "]"));
2034
- }
2035
- return absl::OkStatus();
2036
- }
2037
-
2038
- void RlsLb::ExitIdleLocked() {
2039
- MutexLock lock(&mu_);
2040
- for (auto& child_entry : child_policy_map_) {
2041
- child_entry.second->ExitIdleLocked();
2042
- }
2043
- }
2044
-
2045
- void RlsLb::ResetBackoffLocked() {
2046
- {
2047
- MutexLock lock(&mu_);
2048
- rls_channel_->ResetBackoff();
2049
- cache_.ResetAllBackoff();
2050
- }
2051
- for (auto& child : child_policy_map_) {
2052
- child.second->ResetBackoffLocked();
2053
- }
2054
- }
2055
-
2056
- void RlsLb::ShutdownLocked() {
2057
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
2058
- gpr_log(GPR_INFO, "[rlslb %p] policy shutdown", this);
2059
- }
2060
- MutexLock lock(&mu_);
2061
- is_shutdown_ = true;
2062
- config_.reset(DEBUG_LOCATION, "ShutdownLocked");
2063
- channel_args_ = ChannelArgs();
2064
- cache_.Shutdown();
2065
- request_map_.clear();
2066
- rls_channel_.reset();
2067
- default_child_policy_.reset();
2068
- }
2069
-
2070
- void RlsLb::UpdatePickerAsync() {
2071
- // Run via the ExecCtx, since the caller may be holding the lock, and
2072
- // we don't want to be doing that when we hop into the WorkSerializer,
2073
- // in case the WorkSerializer callback happens to run inline.
2074
- ExecCtx::Run(
2075
- DEBUG_LOCATION,
2076
- GRPC_CLOSURE_CREATE(UpdatePickerCallback,
2077
- Ref(DEBUG_LOCATION, "UpdatePickerCallback").release(),
2078
- grpc_schedule_on_exec_ctx),
2079
- GRPC_ERROR_NONE);
2080
- }
2081
-
2082
- void RlsLb::UpdatePickerCallback(void* arg, grpc_error_handle /*error*/) {
2083
- auto* rls_lb = static_cast<RlsLb*>(arg);
2084
- rls_lb->work_serializer()->Run(
2085
- [rls_lb]() {
2086
- RefCountedPtr<RlsLb> lb_policy(rls_lb);
2087
- lb_policy->UpdatePickerLocked();
2088
- lb_policy.reset(DEBUG_LOCATION, "UpdatePickerCallback");
2089
- },
2090
- DEBUG_LOCATION);
2091
- }
2092
-
2093
- void RlsLb::UpdatePickerLocked() {
2094
- // If we're in the process of propagating an update from our parent to
2095
- // our children, ignore any updates that come from the children. We
2096
- // will instead return a new picker once the update has been seen by
2097
- // all children. This avoids unnecessary picker churn while an update
2098
- // is being propagated to our children.
2099
- if (update_in_progress_) return;
2100
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
2101
- gpr_log(GPR_INFO, "[rlslb %p] updating picker", this);
2102
- }
2103
- grpc_connectivity_state state = GRPC_CHANNEL_IDLE;
2104
- if (!child_policy_map_.empty()) {
2105
- state = GRPC_CHANNEL_TRANSIENT_FAILURE;
2106
- int num_idle = 0;
2107
- int num_connecting = 0;
2108
- {
2109
- MutexLock lock(&mu_);
2110
- if (is_shutdown_) return;
2111
- for (auto& p : child_policy_map_) {
2112
- grpc_connectivity_state child_state = p.second->connectivity_state();
2113
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
2114
- gpr_log(GPR_INFO, "[rlslb %p] target %s in state %s", this,
2115
- p.second->target().c_str(),
2116
- ConnectivityStateName(child_state));
2117
- }
2118
- if (child_state == GRPC_CHANNEL_READY) {
2119
- state = GRPC_CHANNEL_READY;
2120
- break;
2121
- } else if (child_state == GRPC_CHANNEL_CONNECTING) {
2122
- ++num_connecting;
2123
- } else if (child_state == GRPC_CHANNEL_IDLE) {
2124
- ++num_idle;
2125
- }
2126
- }
2127
- if (state != GRPC_CHANNEL_READY) {
2128
- if (num_connecting > 0) {
2129
- state = GRPC_CHANNEL_CONNECTING;
2130
- } else if (num_idle > 0) {
2131
- state = GRPC_CHANNEL_IDLE;
2132
- }
2133
- }
2134
- }
2135
- }
2136
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_rls_trace)) {
2137
- gpr_log(GPR_INFO, "[rlslb %p] reporting state %s", this,
2138
- ConnectivityStateName(state));
2139
- }
2140
- absl::Status status;
2141
- if (state == GRPC_CHANNEL_TRANSIENT_FAILURE) {
2142
- status = absl::UnavailableError("no children available");
2143
- }
2144
- channel_control_helper()->UpdateState(
2145
- state, status, absl::make_unique<Picker>(Ref(DEBUG_LOCATION, "Picker")));
2146
- }
2147
-
2148
- //
2149
- // RlsLbFactory
2150
- //
2151
-
2152
- struct GrpcKeyBuilder {
2153
- struct Name {
2154
- std::string service;
2155
- std::string method;
2156
-
2157
- static const JsonLoaderInterface* JsonLoader(const JsonArgs&) {
2158
- static const auto* loader = JsonObjectLoader<Name>()
2159
- .Field("service", &Name::service)
2160
- .OptionalField("method", &Name::method)
2161
- .Finish();
2162
- return loader;
2163
- }
2164
- };
2165
-
2166
- struct NameMatcher {
2167
- std::string key;
2168
- std::vector<std::string> names;
2169
- absl::optional<bool> required_match;
2170
-
2171
- static const JsonLoaderInterface* JsonLoader(const JsonArgs&) {
2172
- static const auto* loader =
2173
- JsonObjectLoader<NameMatcher>()
2174
- .Field("key", &NameMatcher::key)
2175
- .Field("names", &NameMatcher::names)
2176
- .OptionalField("requiredMatch", &NameMatcher::required_match)
2177
- .Finish();
2178
- return loader;
2179
- }
2180
-
2181
- void JsonPostLoad(const Json&, const JsonArgs&, ValidationErrors* errors) {
2182
- // key must be non-empty.
2183
- {
2184
- ValidationErrors::ScopedField field(errors, ".key");
2185
- if (!errors->FieldHasErrors() && key.empty()) {
2186
- errors->AddError("must be non-empty");
2187
- }
2188
- }
2189
- // List of header names must be non-empty.
2190
- {
2191
- ValidationErrors::ScopedField field(errors, ".names");
2192
- if (!errors->FieldHasErrors() && names.empty()) {
2193
- errors->AddError("must be non-empty");
2194
- }
2195
- // Individual header names must be non-empty.
2196
- for (size_t i = 0; i < names.size(); ++i) {
2197
- ValidationErrors::ScopedField field(errors,
2198
- absl::StrCat("[", i, "]"));
2199
- if (!errors->FieldHasErrors() && names[i].empty()) {
2200
- errors->AddError("must be non-empty");
2201
- }
2202
- }
2203
- }
2204
- // requiredMatch must not be present.
2205
- {
2206
- ValidationErrors::ScopedField field(errors, ".requiredMatch");
2207
- if (required_match.has_value()) {
2208
- errors->AddError("must not be present");
2209
- }
2210
- }
2211
- }
2212
- };
2213
-
2214
- struct ExtraKeys {
2215
- absl::optional<std::string> host_key;
2216
- absl::optional<std::string> service_key;
2217
- absl::optional<std::string> method_key;
2218
-
2219
- static const JsonLoaderInterface* JsonLoader(const JsonArgs&) {
2220
- static const auto* loader =
2221
- JsonObjectLoader<ExtraKeys>()
2222
- .OptionalField("host", &ExtraKeys::host_key)
2223
- .OptionalField("service", &ExtraKeys::service_key)
2224
- .OptionalField("method", &ExtraKeys::method_key)
2225
- .Finish();
2226
- return loader;
2227
- }
2228
-
2229
- void JsonPostLoad(const Json&, const JsonArgs&, ValidationErrors* errors) {
2230
- auto check_field = [&](const std::string& field_name,
2231
- absl::optional<std::string>* struct_field) {
2232
- ValidationErrors::ScopedField field(errors,
2233
- absl::StrCat(".", field_name));
2234
- if (struct_field->has_value() && (*struct_field)->empty()) {
2235
- errors->AddError("must be non-empty if set");
2236
- }
2237
- };
2238
- check_field("host", &host_key);
2239
- check_field("service", &service_key);
2240
- check_field("method", &method_key);
2241
- }
2242
- };
2243
-
2244
- std::vector<Name> names;
2245
- std::vector<NameMatcher> headers;
2246
- ExtraKeys extra_keys;
2247
- std::map<std::string /*key*/, std::string /*value*/> constant_keys;
2248
-
2249
- static const JsonLoaderInterface* JsonLoader(const JsonArgs&) {
2250
- static const auto* loader =
2251
- JsonObjectLoader<GrpcKeyBuilder>()
2252
- .Field("names", &GrpcKeyBuilder::names)
2253
- .OptionalField("headers", &GrpcKeyBuilder::headers)
2254
- .OptionalField("extraKeys", &GrpcKeyBuilder::extra_keys)
2255
- .OptionalField("constantKeys", &GrpcKeyBuilder::constant_keys)
2256
- .Finish();
2257
- return loader;
2258
- }
2259
-
2260
- void JsonPostLoad(const Json&, const JsonArgs&, ValidationErrors* errors) {
2261
- // The names field must be non-empty.
2262
- {
2263
- ValidationErrors::ScopedField field(errors, ".names");
2264
- if (!errors->FieldHasErrors() && names.empty()) {
2265
- errors->AddError("must be non-empty");
2266
- }
2267
- }
2268
- // Make sure no key in constantKeys is empty.
2269
- if (constant_keys.find("") != constant_keys.end()) {
2270
- ValidationErrors::ScopedField field(errors, ".constantKeys[\"\"]");
2271
- errors->AddError("key must be non-empty");
2272
- }
2273
- // Check for duplicate keys.
2274
- std::set<absl::string_view> keys_seen;
2275
- auto duplicate_key_check_func = [&keys_seen, errors](
2276
- const std::string& key,
2277
- const std::string& field_name) {
2278
- if (key.empty()) return; // Already generated an error about this.
2279
- ValidationErrors::ScopedField field(errors, field_name);
2280
- auto it = keys_seen.find(key);
2281
- if (it != keys_seen.end()) {
2282
- errors->AddError(absl::StrCat("duplicate key \"", key, "\""));
2283
- } else {
2284
- keys_seen.insert(key);
2285
- }
2286
- };
2287
- for (size_t i = 0; i < headers.size(); ++i) {
2288
- NameMatcher& header = headers[i];
2289
- duplicate_key_check_func(header.key,
2290
- absl::StrCat(".headers[", i, "].key"));
2291
- }
2292
- for (const auto& p : constant_keys) {
2293
- duplicate_key_check_func(
2294
- p.first, absl::StrCat(".constantKeys[\"", p.first, "\"]"));
2295
- }
2296
- if (extra_keys.host_key.has_value()) {
2297
- duplicate_key_check_func(*extra_keys.host_key, ".extraKeys.host");
2298
- }
2299
- if (extra_keys.service_key.has_value()) {
2300
- duplicate_key_check_func(*extra_keys.service_key, ".extraKeys.service");
2301
- }
2302
- if (extra_keys.method_key.has_value()) {
2303
- duplicate_key_check_func(*extra_keys.method_key, ".extraKeys.method");
2304
- }
2305
- }
2306
- };
2307
-
2308
- const JsonLoaderInterface* RlsLbConfig::RouteLookupConfig::JsonLoader(
2309
- const JsonArgs&) {
2310
- static const auto* loader =
2311
- JsonObjectLoader<RouteLookupConfig>()
2312
- // Note: Some fields require manual processing and are handled in
2313
- // JsonPostLoad() instead.
2314
- .Field("lookupService", &RouteLookupConfig::lookup_service)
2315
- .OptionalField("lookupServiceTimeout",
2316
- &RouteLookupConfig::lookup_service_timeout)
2317
- .OptionalField("maxAge", &RouteLookupConfig::max_age)
2318
- .OptionalField("staleAge", &RouteLookupConfig::stale_age)
2319
- .Field("cacheSizeBytes", &RouteLookupConfig::cache_size_bytes)
2320
- .OptionalField("defaultTarget", &RouteLookupConfig::default_target)
2321
- .Finish();
2322
- return loader;
2323
- }
2324
-
2325
- void RlsLbConfig::RouteLookupConfig::JsonPostLoad(const Json& json,
2326
- const JsonArgs& args,
2327
- ValidationErrors* errors) {
2328
- // Parse grpcKeybuilders.
2329
- auto grpc_keybuilders = LoadJsonObjectField<std::vector<GrpcKeyBuilder>>(
2330
- json.object_value(), args, "grpcKeybuilders", errors);
2331
- if (grpc_keybuilders.has_value()) {
2332
- ValidationErrors::ScopedField field(errors, ".grpcKeybuilders");
2333
- for (size_t i = 0; i < grpc_keybuilders->size(); ++i) {
2334
- ValidationErrors::ScopedField field(errors, absl::StrCat("[", i, "]"));
2335
- auto& grpc_keybuilder = (*grpc_keybuilders)[i];
2336
- // Construct KeyBuilder.
2337
- RlsLbConfig::KeyBuilder key_builder;
2338
- for (const auto& header : grpc_keybuilder.headers) {
2339
- key_builder.header_keys.emplace(header.key, header.names);
2340
- }
2341
- if (grpc_keybuilder.extra_keys.host_key.has_value()) {
2342
- key_builder.host_key = std::move(*grpc_keybuilder.extra_keys.host_key);
2343
- }
2344
- if (grpc_keybuilder.extra_keys.service_key.has_value()) {
2345
- key_builder.service_key =
2346
- std::move(*grpc_keybuilder.extra_keys.service_key);
2347
- }
2348
- if (grpc_keybuilder.extra_keys.method_key.has_value()) {
2349
- key_builder.method_key =
2350
- std::move(*grpc_keybuilder.extra_keys.method_key);
2351
- }
2352
- key_builder.constant_keys = std::move(grpc_keybuilder.constant_keys);
2353
- // Add entries to map.
2354
- for (const auto& name : grpc_keybuilder.names) {
2355
- std::string path = absl::StrCat("/", name.service, "/", name.method);
2356
- bool inserted = key_builder_map.emplace(path, key_builder).second;
2357
- if (!inserted) {
2358
- errors->AddError(absl::StrCat("duplicate entry for \"", path, "\""));
2359
- }
2360
- }
2361
- }
2362
- }
2363
- // Validate lookupService.
2364
- {
2365
- ValidationErrors::ScopedField field(errors, ".lookupService");
2366
- if (!errors->FieldHasErrors() &&
2367
- !CoreConfiguration::Get().resolver_registry().IsValidTarget(
2368
- lookup_service)) {
2369
- errors->AddError("must be valid gRPC target URI");
2370
- }
2371
- }
2372
- // Clamp maxAge to the max allowed value.
2373
- if (max_age > kMaxMaxAge) max_age = kMaxMaxAge;
2374
- // If staleAge is set, then maxAge must also be set.
2375
- if (json.object_value().find("staleAge") != json.object_value().end() &&
2376
- json.object_value().find("maxAge") == json.object_value().end()) {
2377
- ValidationErrors::ScopedField field(errors, ".maxAge");
2378
- errors->AddError("must be set if staleAge is set");
2379
- }
2380
- // Ignore staleAge if greater than or equal to maxAge.
2381
- if (stale_age >= max_age) stale_age = max_age;
2382
- // Validate cacheSizeBytes.
2383
- {
2384
- ValidationErrors::ScopedField field(errors, ".cacheSizeBytes");
2385
- if (!errors->FieldHasErrors() && cache_size_bytes <= 0) {
2386
- errors->AddError("must be greater than 0");
2387
- }
2388
- }
2389
- // Clamp cacheSizeBytes to the max allowed value.
2390
- if (cache_size_bytes > kMaxCacheSizeBytes) {
2391
- cache_size_bytes = kMaxCacheSizeBytes;
2392
- }
2393
- // Validate defaultTarget.
2394
- {
2395
- ValidationErrors::ScopedField field(errors, ".defaultTarget");
2396
- if (!errors->FieldHasErrors() &&
2397
- json.object_value().find("defaultTarget") !=
2398
- json.object_value().end() &&
2399
- default_target.empty()) {
2400
- errors->AddError("must be non-empty if set");
2401
- }
2402
- }
2403
- }
2404
-
2405
- const JsonLoaderInterface* RlsLbConfig::JsonLoader(const JsonArgs&) {
2406
- static const auto* loader =
2407
- JsonObjectLoader<RlsLbConfig>()
2408
- // Note: Some fields require manual processing and are handled in
2409
- // JsonPostLoad() instead.
2410
- .Field("routeLookupConfig", &RlsLbConfig::route_lookup_config_)
2411
- .Field("childPolicyConfigTargetFieldName",
2412
- &RlsLbConfig::child_policy_config_target_field_name_)
2413
- .Finish();
2414
- return loader;
2415
- }
2416
-
2417
- void RlsLbConfig::JsonPostLoad(const Json& json, const JsonArgs&,
2418
- ValidationErrors* errors) {
2419
- // Parse routeLookupChannelServiceConfig.
2420
- auto it = json.object_value().find("routeLookupChannelServiceConfig");
2421
- if (it != json.object_value().end()) {
2422
- ValidationErrors::ScopedField field(errors,
2423
- ".routeLookupChannelServiceConfig");
2424
- grpc_error_handle child_error = GRPC_ERROR_NONE;
2425
- rls_channel_service_config_ = it->second.Dump();
2426
- auto service_config = MakeRefCounted<ServiceConfigImpl>(
2427
- ChannelArgs(), rls_channel_service_config_, it->second, &child_error);
2428
- if (!GRPC_ERROR_IS_NONE(child_error)) {
2429
- errors->AddError(grpc_error_std_string(child_error));
2430
- GRPC_ERROR_UNREF(child_error);
2431
- }
2432
- }
2433
- // Validate childPolicyConfigTargetFieldName.
2434
- {
2435
- ValidationErrors::ScopedField field(errors,
2436
- ".childPolicyConfigTargetFieldName");
2437
- if (!errors->FieldHasErrors() &&
2438
- child_policy_config_target_field_name_.empty()) {
2439
- errors->AddError("must be non-empty");
2440
- }
2441
- }
2442
- // Parse childPolicy.
2443
- {
2444
- ValidationErrors::ScopedField field(errors, ".childPolicy");
2445
- auto it = json.object_value().find("childPolicy");
2446
- if (it == json.object_value().end()) {
2447
- errors->AddError("field not present");
2448
- } else {
2449
- // Add target to all child policy configs in the list.
2450
- child_policy_config_ = it->second;
2451
- std::string target = route_lookup_config_.default_target.empty()
2452
- ? kFakeTargetFieldValue
2453
- : route_lookup_config_.default_target;
2454
- if (InsertOrUpdateChildPolicyField(child_policy_config_target_field_name_,
2455
- target, &child_policy_config_,
2456
- errors)) {
2457
- // Parse the config.
2458
- auto parsed_config =
2459
- CoreConfiguration::Get()
2460
- .lb_policy_registry()
2461
- .ParseLoadBalancingConfig(child_policy_config_);
2462
- if (!parsed_config.ok()) {
2463
- errors->AddError(parsed_config.status().message());
2464
- } else {
2465
- // Find the chosen config and return it in JSON form.
2466
- // We remove all non-selected configs, and in the selected config,
2467
- // we leave the target field in place, set to the default value.
2468
- // This slightly optimizes what we need to do later when we update
2469
- // a child policy for a given target.
2470
- for (Json& config : *(child_policy_config_.mutable_array())) {
2471
- if (config.object_value().begin()->first ==
2472
- (*parsed_config)->name()) {
2473
- Json save_config = std::move(config);
2474
- child_policy_config_.mutable_array()->clear();
2475
- child_policy_config_.mutable_array()->push_back(
2476
- std::move(save_config));
2477
- break;
2478
- }
2479
- }
2480
- // If default target is set, set the default child config.
2481
- if (!route_lookup_config_.default_target.empty()) {
2482
- default_child_policy_parsed_config_ = std::move(*parsed_config);
2483
- }
2484
- }
2485
- }
2486
- }
2487
- }
2488
- }
2489
-
2490
- class RlsLbFactory : public LoadBalancingPolicyFactory {
2491
- public:
2492
- absl::string_view name() const override { return kRls; }
2493
-
2494
- OrphanablePtr<LoadBalancingPolicy> CreateLoadBalancingPolicy(
2495
- LoadBalancingPolicy::Args args) const override {
2496
- return MakeOrphanable<RlsLb>(std::move(args));
2497
- }
2498
-
2499
- absl::StatusOr<RefCountedPtr<LoadBalancingPolicy::Config>>
2500
- ParseLoadBalancingConfig(const Json& json) const override {
2501
- return LoadRefCountedFromJson<RlsLbConfig>(
2502
- json, JsonArgs(), "errors validing RLS LB policy config");
2503
- }
2504
- };
2505
-
2506
- } // namespace
2507
-
2508
- void RegisterRlsLbPolicy(CoreConfiguration::Builder* builder) {
2509
- builder->lb_policy_registry()->RegisterLoadBalancingPolicyFactory(
2510
- absl::make_unique<RlsLbFactory>());
2511
- }
2512
-
2513
- } // namespace grpc_core