grpc 1.64.3 → 1.65.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (632) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +57 -58
  3. data/include/grpc/event_engine/event_engine.h +13 -6
  4. data/include/grpc/impl/channel_arg_names.h +7 -3
  5. data/include/grpc/module.modulemap +1 -0
  6. data/include/grpc/passive_listener.h +62 -0
  7. data/include/grpc/support/log.h +7 -17
  8. data/include/grpc/support/port_platform.h +3 -0
  9. data/src/core/channelz/channel_trace.cc +1 -1
  10. data/src/core/channelz/channel_trace.h +1 -1
  11. data/src/core/channelz/channelz.cc +3 -3
  12. data/src/core/channelz/channelz.h +7 -7
  13. data/src/core/channelz/channelz_registry.cc +4 -3
  14. data/src/core/client_channel/backup_poller.cc +4 -5
  15. data/src/core/client_channel/client_channel.cc +1324 -0
  16. data/src/core/client_channel/client_channel.h +243 -0
  17. data/src/core/client_channel/client_channel_filter.cc +266 -709
  18. data/src/core/client_channel/client_channel_filter.h +11 -64
  19. data/src/core/client_channel/client_channel_internal.h +16 -5
  20. data/src/core/client_channel/client_channel_plugin.cc +1 -14
  21. data/src/core/client_channel/client_channel_service_config.h +3 -3
  22. data/src/core/client_channel/config_selector.cc +1 -1
  23. data/src/core/client_channel/config_selector.h +1 -1
  24. data/src/core/client_channel/dynamic_filters.cc +3 -3
  25. data/src/core/client_channel/dynamic_filters.h +1 -3
  26. data/src/core/client_channel/load_balanced_call_destination.cc +336 -0
  27. data/src/core/client_channel/load_balanced_call_destination.h +49 -0
  28. data/src/core/client_channel/retry_filter.cc +2 -9
  29. data/src/core/client_channel/retry_filter.h +2 -7
  30. data/src/core/client_channel/retry_filter_legacy_call_data.cc +65 -72
  31. data/src/core/client_channel/retry_filter_legacy_call_data.h +0 -2
  32. data/src/core/client_channel/retry_service_config.cc +4 -5
  33. data/src/core/client_channel/retry_service_config.h +3 -3
  34. data/src/core/client_channel/subchannel.cc +220 -112
  35. data/src/core/client_channel/subchannel.h +31 -18
  36. data/src/core/client_channel/subchannel_pool_interface.cc +0 -2
  37. data/src/core/client_channel/subchannel_pool_interface.h +2 -4
  38. data/src/core/client_channel/subchannel_stream_client.cc +36 -49
  39. data/src/core/client_channel/subchannel_stream_client.h +2 -4
  40. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +7 -10
  41. data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +1 -0
  42. data/src/core/ext/filters/backend_metrics/backend_metric_provider.h +7 -0
  43. data/src/core/ext/filters/census/grpc_context.cc +2 -4
  44. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +8 -15
  45. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h +2 -0
  46. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +3 -7
  47. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +1 -0
  48. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +3 -3
  49. data/src/core/ext/filters/http/client/http_client_filter.cc +1 -0
  50. data/src/core/ext/filters/http/client/http_client_filter.h +1 -0
  51. data/src/core/ext/filters/http/client_authority_filter.cc +1 -0
  52. data/src/core/ext/filters/http/client_authority_filter.h +1 -0
  53. data/src/core/ext/filters/http/message_compress/compression_filter.cc +10 -15
  54. data/src/core/ext/filters/http/message_compress/compression_filter.h +2 -0
  55. data/src/core/ext/filters/http/server/http_server_filter.cc +2 -2
  56. data/src/core/ext/filters/http/server/http_server_filter.h +1 -0
  57. data/src/core/ext/filters/message_size/message_size_filter.cc +6 -9
  58. data/src/core/ext/filters/message_size/message_size_filter.h +6 -6
  59. data/src/core/ext/filters/rbac/rbac_filter.cc +2 -5
  60. data/src/core/ext/filters/rbac/rbac_filter.h +1 -0
  61. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +2 -2
  62. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +1 -1
  63. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +2 -6
  64. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +1 -0
  65. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +3 -3
  66. data/src/core/ext/transport/chttp2/alpn/alpn.cc +1 -1
  67. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +8 -25
  68. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +0 -5
  69. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +223 -148
  70. data/src/core/ext/transport/chttp2/server/chttp2_server.h +33 -0
  71. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +131 -107
  72. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +8 -8
  73. data/src/core/ext/transport/chttp2/transport/context_list_entry.h +1 -1
  74. data/src/core/ext/transport/chttp2/transport/flow_control.cc +2 -4
  75. data/src/core/ext/transport/chttp2/transport/flow_control.h +0 -2
  76. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +4 -6
  77. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +1 -2
  78. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +9 -5
  79. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +5 -4
  80. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +9 -2
  81. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +32 -43
  82. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +1 -3
  83. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +3 -8
  84. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +1 -1
  85. data/src/core/ext/transport/chttp2/transport/http2_settings.h +1 -1
  86. data/src/core/ext/transport/chttp2/transport/internal.h +29 -19
  87. data/src/core/ext/transport/chttp2/transport/parsing.cc +15 -25
  88. data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +0 -2
  89. data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +0 -2
  90. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +29 -13
  91. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +5 -4
  92. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +3 -5
  93. data/src/core/ext/transport/chttp2/transport/writing.cc +24 -25
  94. data/src/core/ext/transport/inproc/inproc_transport.cc +56 -32
  95. data/src/core/ext/transport/inproc/inproc_transport.h +1 -3
  96. data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +13 -15
  97. data/src/core/ext/transport/inproc/legacy_inproc_transport.h +0 -2
  98. data/src/core/handshaker/handshaker.cc +6 -14
  99. data/src/core/handshaker/http_connect/http_connect_handshaker.cc +9 -17
  100. data/src/core/handshaker/http_connect/http_proxy_mapper.cc +3 -2
  101. data/src/core/handshaker/security/secure_endpoint.cc +38 -32
  102. data/src/core/handshaker/security/secure_endpoint.h +0 -2
  103. data/src/core/handshaker/security/security_handshaker.cc +25 -37
  104. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +2 -1
  105. data/src/core/lib/address_utils/parse_address.cc +27 -39
  106. data/src/core/lib/address_utils/sockaddr_utils.cc +5 -6
  107. data/src/core/lib/avl/avl.h +1 -1
  108. data/src/core/lib/channel/channel_args.cc +13 -17
  109. data/src/core/lib/channel/channel_args.h +19 -8
  110. data/src/core/lib/channel/channel_stack.cc +5 -63
  111. data/src/core/lib/channel/channel_stack.h +13 -37
  112. data/src/core/lib/channel/channel_stack_builder.h +0 -5
  113. data/src/core/lib/channel/channel_stack_builder_impl.cc +0 -142
  114. data/src/core/lib/channel/channel_stack_builder_impl.h +0 -2
  115. data/src/core/lib/channel/connected_channel.cc +37 -676
  116. data/src/core/lib/channel/promise_based_filter.cc +41 -47
  117. data/src/core/lib/channel/promise_based_filter.h +124 -477
  118. data/src/core/lib/channel/status_util.cc +1 -1
  119. data/src/core/lib/compression/compression.cc +1 -1
  120. data/src/core/lib/compression/message_compress.cc +6 -6
  121. data/src/core/lib/config/config_vars.cc +3 -8
  122. data/src/core/lib/config/config_vars.h +1 -5
  123. data/src/core/lib/debug/event_log.h +1 -1
  124. data/src/core/lib/debug/trace.cc +43 -59
  125. data/src/core/lib/debug/trace.h +2 -97
  126. data/src/core/lib/debug/trace_flags.cc +255 -0
  127. data/src/core/lib/debug/trace_flags.h +133 -0
  128. data/src/core/lib/debug/trace_impl.h +115 -0
  129. data/src/core/lib/event_engine/ares_resolver.cc +5 -7
  130. data/src/core/lib/event_engine/ares_resolver.h +1 -3
  131. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +1 -1
  132. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +17 -22
  133. data/src/core/lib/event_engine/event_engine.cc +29 -4
  134. data/src/core/lib/event_engine/extensions/supports_fd.h +7 -0
  135. data/src/core/lib/event_engine/extensions/tcp_trace.h +43 -0
  136. data/src/core/lib/event_engine/forkable.cc +4 -5
  137. data/src/core/lib/event_engine/forkable.h +0 -11
  138. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +10 -11
  139. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +4 -3
  140. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +1 -1
  141. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +19 -33
  142. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +3 -2
  143. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +24 -7
  144. data/src/core/lib/event_engine/posix_engine/posix_engine.h +2 -0
  145. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +14 -16
  146. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +18 -22
  147. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +13 -17
  148. data/src/core/lib/event_engine/posix_engine/timer.cc +1 -1
  149. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +4 -6
  150. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +2 -1
  151. data/src/core/lib/event_engine/shim.cc +1 -1
  152. data/src/core/lib/event_engine/tcp_socket_utils.cc +6 -8
  153. data/src/core/lib/event_engine/thread_local.h +1 -1
  154. data/src/core/lib/event_engine/thread_pool/thread_count.h +1 -1
  155. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +19 -21
  156. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +3 -6
  157. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +14 -13
  158. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +4 -3
  159. data/src/core/lib/event_engine/trace.h +6 -17
  160. data/src/core/lib/event_engine/windows/iocp.h +1 -1
  161. data/src/core/lib/event_engine/windows/win_socket.cc +23 -17
  162. data/src/core/lib/event_engine/windows/win_socket.h +4 -5
  163. data/src/core/lib/event_engine/windows/windows_endpoint.cc +6 -9
  164. data/src/core/lib/event_engine/windows/windows_engine.cc +201 -87
  165. data/src/core/lib/event_engine/windows/windows_engine.h +136 -25
  166. data/src/core/lib/event_engine/windows/windows_listener.cc +12 -23
  167. data/src/core/lib/experiments/experiments.cc +35 -151
  168. data/src/core/lib/experiments/experiments.h +12 -45
  169. data/src/core/lib/gprpp/bitset.h +1 -1
  170. data/src/core/lib/gprpp/crash.cc +2 -3
  171. data/src/core/lib/gprpp/dual_ref_counted.h +45 -33
  172. data/src/core/lib/gprpp/dump_args.cc +54 -0
  173. data/src/core/lib/gprpp/dump_args.h +69 -0
  174. data/src/core/lib/gprpp/glob.cc +70 -0
  175. data/src/core/lib/gprpp/glob.h +29 -0
  176. data/src/core/lib/gprpp/per_cpu.cc +1 -1
  177. data/src/core/lib/gprpp/posix/stat.cc +3 -4
  178. data/src/core/lib/gprpp/posix/thd.cc +8 -9
  179. data/src/core/lib/gprpp/ref_counted.h +30 -22
  180. data/src/core/lib/gprpp/single_set_ptr.h +5 -3
  181. data/src/core/lib/gprpp/status_helper.cc +11 -30
  182. data/src/core/lib/gprpp/status_helper.h +3 -31
  183. data/src/core/lib/gprpp/time.cc +3 -4
  184. data/src/core/lib/gprpp/time.h +3 -2
  185. data/src/core/lib/gprpp/unique_type_name.h +1 -1
  186. data/src/core/lib/gprpp/validation_errors.cc +10 -1
  187. data/src/core/lib/gprpp/validation_errors.h +11 -0
  188. data/src/core/lib/gprpp/windows/stat.cc +3 -4
  189. data/src/core/lib/gprpp/windows/thd.cc +3 -2
  190. data/src/core/lib/gprpp/work_serializer.cc +48 -57
  191. data/src/core/lib/iomgr/buffer_list.cc +4 -2
  192. data/src/core/lib/iomgr/call_combiner.cc +18 -27
  193. data/src/core/lib/iomgr/call_combiner.h +1 -3
  194. data/src/core/lib/iomgr/cfstream_handle.cc +4 -6
  195. data/src/core/lib/iomgr/closure.h +2 -4
  196. data/src/core/lib/iomgr/combiner.cc +6 -8
  197. data/src/core/lib/iomgr/combiner.h +0 -2
  198. data/src/core/lib/iomgr/endpoint.cc +0 -6
  199. data/src/core/lib/iomgr/endpoint.h +0 -2
  200. data/src/core/lib/iomgr/endpoint_cfstream.cc +19 -41
  201. data/src/core/lib/iomgr/endpoint_pair_posix.cc +1 -1
  202. data/src/core/lib/iomgr/endpoint_pair_windows.cc +5 -6
  203. data/src/core/lib/iomgr/error.cc +13 -21
  204. data/src/core/lib/iomgr/error.h +1 -1
  205. data/src/core/lib/iomgr/ev_apple.cc +3 -5
  206. data/src/core/lib/iomgr/ev_epoll1_linux.cc +43 -42
  207. data/src/core/lib/iomgr/ev_poll_posix.cc +38 -29
  208. data/src/core/lib/iomgr/ev_posix.cc +8 -9
  209. data/src/core/lib/iomgr/ev_posix.h +10 -7
  210. data/src/core/lib/iomgr/event_engine_shims/closure.cc +2 -2
  211. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +14 -28
  212. data/src/core/lib/iomgr/exec_ctx.cc +2 -2
  213. data/src/core/lib/iomgr/exec_ctx.h +1 -1
  214. data/src/core/lib/iomgr/executor.cc +6 -15
  215. data/src/core/lib/iomgr/executor.h +1 -1
  216. data/src/core/lib/iomgr/fork_posix.cc +8 -10
  217. data/src/core/lib/iomgr/fork_windows.cc +3 -1
  218. data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +2 -3
  219. data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +3 -5
  220. data/src/core/lib/iomgr/internal_errqueue.cc +4 -2
  221. data/src/core/lib/iomgr/iocp_windows.cc +4 -3
  222. data/src/core/lib/iomgr/iomgr.cc +13 -17
  223. data/src/core/lib/iomgr/lockfree_event.cc +3 -5
  224. data/src/core/lib/iomgr/pollset.h +0 -2
  225. data/src/core/lib/iomgr/pollset_windows.cc +0 -2
  226. data/src/core/lib/iomgr/resolve_address_posix.cc +7 -14
  227. data/src/core/lib/iomgr/resolve_address_windows.cc +1 -1
  228. data/src/core/lib/iomgr/socket_factory_posix.cc +1 -1
  229. data/src/core/lib/iomgr/socket_mutator.cc +1 -1
  230. data/src/core/lib/iomgr/socket_utils_common_posix.cc +11 -17
  231. data/src/core/lib/iomgr/socket_windows.cc +4 -6
  232. data/src/core/lib/iomgr/tcp_client_cfstream.cc +3 -5
  233. data/src/core/lib/iomgr/tcp_client_posix.cc +9 -15
  234. data/src/core/lib/iomgr/tcp_client_windows.cc +2 -4
  235. data/src/core/lib/iomgr/tcp_posix.cc +57 -84
  236. data/src/core/lib/iomgr/tcp_posix.h +0 -2
  237. data/src/core/lib/iomgr/tcp_server_posix.cc +3 -3
  238. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +4 -6
  239. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +7 -7
  240. data/src/core/lib/iomgr/tcp_server_windows.cc +10 -16
  241. data/src/core/lib/iomgr/tcp_windows.cc +25 -41
  242. data/src/core/lib/iomgr/timer_generic.cc +17 -20
  243. data/src/core/lib/iomgr/timer_heap.cc +1 -1
  244. data/src/core/lib/iomgr/timer_manager.cc +17 -30
  245. data/src/core/lib/iomgr/unix_sockets_posix.cc +1 -1
  246. data/src/core/lib/iomgr/vsock.cc +1 -1
  247. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +3 -3
  248. data/src/core/lib/promise/activity.h +27 -4
  249. data/src/core/lib/promise/cancel_callback.h +24 -0
  250. data/src/core/lib/promise/context.h +11 -0
  251. data/src/core/lib/promise/detail/basic_seq.h +1 -2
  252. data/src/core/lib/promise/detail/join_state.h +354 -398
  253. data/src/core/lib/promise/detail/promise_like.h +6 -5
  254. data/src/core/lib/promise/detail/seq_state.h +1178 -1178
  255. data/src/core/lib/promise/for_each.h +6 -6
  256. data/src/core/lib/promise/interceptor_list.h +6 -7
  257. data/src/core/lib/promise/latch.h +9 -9
  258. data/src/core/lib/promise/map.h +17 -0
  259. data/src/core/lib/promise/observable.h +182 -0
  260. data/src/core/lib/promise/party.cc +7 -8
  261. data/src/core/lib/promise/party.h +10 -8
  262. data/src/core/lib/promise/pipe.h +16 -35
  263. data/src/core/lib/promise/promise.h +1 -0
  264. data/src/core/lib/promise/status_flag.h +2 -0
  265. data/src/core/lib/resource_quota/arena.cc +56 -79
  266. data/src/core/lib/resource_quota/arena.h +118 -209
  267. data/src/core/lib/resource_quota/memory_quota.cc +12 -13
  268. data/src/core/lib/resource_quota/memory_quota.h +2 -3
  269. data/src/core/lib/resource_quota/periodic_update.cc +1 -1
  270. data/src/core/lib/resource_quota/resource_quota.h +1 -1
  271. data/src/core/lib/security/authorization/authorization_policy_provider.h +1 -1
  272. data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +1 -1
  273. data/src/core/lib/security/authorization/evaluate_args.cc +6 -8
  274. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +5 -6
  275. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +1 -0
  276. data/src/core/lib/security/authorization/matchers.cc +3 -3
  277. data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +2 -2
  278. data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +2 -3
  279. data/src/core/lib/security/context/security_context.cc +12 -13
  280. data/src/core/lib/security/context/security_context.h +31 -8
  281. data/src/core/lib/security/credentials/alts/alts_credentials.h +1 -1
  282. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +3 -1
  283. data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +2 -3
  284. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +5 -5
  285. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +3 -3
  286. data/src/core/lib/security/credentials/call_creds_util.cc +2 -1
  287. data/src/core/lib/security/credentials/channel_creds_registry.h +2 -2
  288. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +5 -3
  289. data/src/core/lib/security/credentials/composite/composite_credentials.h +1 -1
  290. data/src/core/lib/security/credentials/credentials.cc +6 -6
  291. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +4 -4
  292. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +2 -2
  293. data/src/core/lib/security/credentials/external/external_account_credentials.cc +9 -11
  294. data/src/core/lib/security/credentials/external/external_account_credentials.h +3 -3
  295. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +2 -2
  296. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +4 -4
  297. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +1 -1
  298. data/src/core/lib/security/credentials/fake/fake_credentials.h +1 -1
  299. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +3 -3
  300. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +11 -11
  301. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +1 -1
  302. data/src/core/lib/security/credentials/iam/iam_credentials.h +1 -1
  303. data/src/core/lib/security/credentials/jwt/json_token.cc +14 -15
  304. data/src/core/lib/security/credentials/jwt/json_token.h +1 -1
  305. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +6 -5
  306. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +1 -1
  307. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +50 -54
  308. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +1 -1
  309. data/src/core/lib/security/credentials/local/local_credentials.h +1 -1
  310. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +12 -11
  311. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +4 -4
  312. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +6 -7
  313. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +1 -3
  314. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +15 -21
  315. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +1 -1
  316. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +21 -30
  317. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +1 -1
  318. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +1 -1
  319. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +4 -4
  320. data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.cc +3 -5
  321. data/src/core/lib/security/credentials/tls/tls_credentials.cc +14 -16
  322. data/src/core/lib/security/credentials/tls/tls_utils.cc +4 -4
  323. data/src/core/lib/security/credentials/xds/xds_credentials.cc +1 -1
  324. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +13 -16
  325. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +15 -12
  326. data/src/core/lib/security/security_connector/load_system_roots_supported.cc +6 -6
  327. data/src/core/lib/security/security_connector/load_system_roots_windows.cc +1 -1
  328. data/src/core/lib/security/security_connector/local/local_security_connector.cc +8 -12
  329. data/src/core/lib/security/security_connector/security_connector.cc +1 -4
  330. data/src/core/lib/security/security_connector/security_connector.h +1 -3
  331. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +17 -19
  332. data/src/core/lib/security/security_connector/ssl_utils.cc +19 -21
  333. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +29 -40
  334. data/src/core/lib/security/transport/auth_filters.h +1 -0
  335. data/src/core/lib/security/transport/client_auth_filter.cc +7 -13
  336. data/src/core/lib/security/transport/server_auth_filter.cc +3 -8
  337. data/src/core/lib/security/util/json_util.h +1 -1
  338. data/src/core/lib/slice/slice.h +1 -1
  339. data/src/core/lib/slice/slice_refcount.h +2 -4
  340. data/src/core/lib/slice/slice_string_helpers.cc +1 -1
  341. data/src/core/lib/surface/api_trace.h +1 -3
  342. data/src/core/lib/surface/call.cc +64 -3738
  343. data/src/core/lib/surface/call.h +41 -143
  344. data/src/core/lib/surface/call_log_batch.cc +1 -1
  345. data/src/core/lib/surface/call_utils.cc +276 -0
  346. data/src/core/lib/surface/call_utils.h +449 -0
  347. data/src/core/lib/surface/channel.cc +8 -3
  348. data/src/core/lib/surface/channel.h +10 -7
  349. data/src/core/lib/surface/channel_create.cc +14 -6
  350. data/src/core/lib/surface/channel_create.h +3 -2
  351. data/src/core/lib/surface/channel_init.cc +21 -77
  352. data/src/core/lib/surface/channel_init.h +19 -97
  353. data/src/core/lib/surface/client_call.cc +419 -0
  354. data/src/core/lib/surface/client_call.h +180 -0
  355. data/src/core/lib/surface/completion_queue.cc +28 -33
  356. data/src/core/lib/surface/completion_queue.h +0 -8
  357. data/src/core/lib/surface/filter_stack_call.cc +1157 -0
  358. data/src/core/lib/surface/filter_stack_call.h +369 -0
  359. data/src/core/lib/surface/init.cc +7 -6
  360. data/src/core/lib/surface/lame_client.cc +1 -1
  361. data/src/core/lib/surface/legacy_channel.cc +40 -27
  362. data/src/core/lib/surface/legacy_channel.h +9 -18
  363. data/src/core/lib/surface/server_call.cc +222 -0
  364. data/src/core/lib/surface/server_call.h +167 -0
  365. data/src/core/lib/surface/version.cc +2 -2
  366. data/src/core/lib/transport/bdp_estimator.cc +3 -5
  367. data/src/core/lib/transport/bdp_estimator.h +2 -4
  368. data/src/core/lib/transport/call_arena_allocator.h +9 -7
  369. data/src/core/lib/transport/call_destination.h +76 -0
  370. data/src/core/lib/transport/call_filters.cc +28 -10
  371. data/src/core/lib/transport/call_filters.h +128 -22
  372. data/src/core/lib/transport/call_spine.cc +5 -6
  373. data/src/core/lib/transport/call_spine.h +159 -334
  374. data/src/core/lib/transport/connectivity_state.cc +8 -10
  375. data/src/core/lib/transport/connectivity_state.h +0 -2
  376. data/src/core/lib/transport/interception_chain.cc +155 -0
  377. data/src/core/lib/transport/interception_chain.h +236 -0
  378. data/src/core/lib/transport/metadata_batch.h +10 -1
  379. data/src/core/lib/transport/metadata_info.h +1 -1
  380. data/src/core/lib/transport/transport.cc +3 -6
  381. data/src/core/lib/transport/transport.h +43 -40
  382. data/src/core/load_balancing/child_policy_handler.cc +8 -8
  383. data/src/core/load_balancing/endpoint_list.cc +5 -5
  384. data/src/core/load_balancing/endpoint_list.h +1 -1
  385. data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +1 -0
  386. data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +1 -0
  387. data/src/core/load_balancing/grpclb/grpclb.cc +25 -29
  388. data/src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc +1 -1
  389. data/src/core/load_balancing/grpclb/load_balancer_api.cc +3 -4
  390. data/src/core/load_balancing/health_check_client.cc +10 -13
  391. data/src/core/load_balancing/lb_policy.cc +5 -8
  392. data/src/core/load_balancing/lb_policy.h +19 -3
  393. data/src/core/load_balancing/lb_policy_factory.h +1 -1
  394. data/src/core/load_balancing/lb_policy_registry.cc +2 -3
  395. data/src/core/load_balancing/lb_policy_registry.h +1 -1
  396. data/src/core/load_balancing/oob_backend_metric.cc +2 -4
  397. data/src/core/load_balancing/outlier_detection/outlier_detection.cc +33 -35
  398. data/src/core/load_balancing/outlier_detection/outlier_detection.h +3 -3
  399. data/src/core/load_balancing/pick_first/pick_first.cc +65 -65
  400. data/src/core/load_balancing/priority/priority.cc +26 -28
  401. data/src/core/load_balancing/ring_hash/ring_hash.cc +11 -13
  402. data/src/core/load_balancing/ring_hash/ring_hash.h +3 -3
  403. data/src/core/load_balancing/rls/rls.cc +82 -82
  404. data/src/core/load_balancing/round_robin/round_robin.cc +17 -20
  405. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +54 -43
  406. data/src/core/load_balancing/weighted_target/weighted_target.cc +21 -24
  407. data/src/core/load_balancing/xds/cds.cc +14 -16
  408. data/src/core/load_balancing/xds/xds_cluster_impl.cc +16 -18
  409. data/src/core/load_balancing/xds/xds_cluster_manager.cc +15 -17
  410. data/src/core/load_balancing/xds/xds_override_host.cc +40 -41
  411. data/src/core/load_balancing/xds/xds_override_host.h +3 -3
  412. data/src/core/load_balancing/xds/xds_wrr_locality.cc +10 -12
  413. data/src/core/plugin_registry/grpc_plugin_registry.cc +5 -1
  414. data/src/core/resolver/binder/binder_resolver.cc +3 -2
  415. data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +3 -2
  416. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +1 -1
  417. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +7 -14
  418. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +1 -5
  419. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
  420. data/src/core/resolver/dns/dns_resolver_plugin.cc +6 -5
  421. data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +4 -9
  422. data/src/core/resolver/dns/event_engine/service_config_helper.cc +5 -5
  423. data/src/core/resolver/dns/native/dns_resolver.cc +8 -9
  424. data/src/core/resolver/endpoint_addresses.cc +1 -1
  425. data/src/core/resolver/fake/fake_resolver.cc +1 -1
  426. data/src/core/resolver/fake/fake_resolver.h +1 -1
  427. data/src/core/resolver/google_c2p/google_c2p_resolver.cc +13 -14
  428. data/src/core/resolver/polling_resolver.cc +30 -35
  429. data/src/core/resolver/resolver.cc +2 -6
  430. data/src/core/resolver/resolver.h +0 -2
  431. data/src/core/resolver/resolver_registry.cc +6 -8
  432. data/src/core/resolver/sockaddr/sockaddr_resolver.cc +3 -3
  433. data/src/core/resolver/xds/xds_dependency_manager.cc +22 -23
  434. data/src/core/resolver/xds/xds_resolver.cc +13 -15
  435. data/src/core/server/server.cc +269 -389
  436. data/src/core/server/server.h +37 -19
  437. data/src/core/server/server_call_tracer_filter.cc +7 -14
  438. data/src/core/server/server_config_selector.h +1 -1
  439. data/src/core/server/server_config_selector_filter.cc +3 -3
  440. data/src/core/server/server_interface.h +2 -0
  441. data/src/core/server/xds_channel_stack_modifier.cc +1 -1
  442. data/src/core/server/xds_channel_stack_modifier.h +1 -1
  443. data/src/core/server/xds_server_config_fetcher.cc +1 -4
  444. data/src/core/service_config/service_config.h +1 -1
  445. data/src/core/service_config/service_config_call_data.h +13 -11
  446. data/src/core/service_config/service_config_channel_arg_filter.cc +6 -4
  447. data/src/core/service_config/service_config_impl.cc +5 -5
  448. data/src/core/service_config/service_config_impl.h +1 -1
  449. data/src/core/service_config/service_config_parser.cc +3 -6
  450. data/src/core/service_config/service_config_parser.h +1 -1
  451. data/src/core/{lib/channel → telemetry}/call_tracer.cc +20 -30
  452. data/src/core/{lib/channel → telemetry}/call_tracer.h +32 -9
  453. data/src/core/{lib/debug → telemetry}/histogram_view.cc +1 -1
  454. data/src/core/{lib/debug → telemetry}/histogram_view.h +3 -3
  455. data/src/core/telemetry/metrics.cc +178 -0
  456. data/src/core/telemetry/metrics.h +562 -0
  457. data/src/core/{lib/debug → telemetry}/stats.cc +1 -1
  458. data/src/core/{lib/debug → telemetry}/stats.h +5 -5
  459. data/src/core/{lib/debug → telemetry}/stats_data.cc +1 -1
  460. data/src/core/{lib/debug → telemetry}/stats_data.h +4 -4
  461. data/src/core/{lib/channel → telemetry}/tcp_tracer.h +3 -3
  462. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +12 -13
  463. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +25 -27
  464. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +32 -33
  465. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +2 -1
  466. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +2 -1
  467. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +5 -4
  468. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +5 -3
  469. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +1 -1
  470. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +4 -3
  471. data/src/core/tsi/fake_transport_security.cc +14 -17
  472. data/src/core/tsi/local_transport_security.cc +6 -5
  473. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +4 -4
  474. data/src/core/tsi/ssl_transport_security.cc +76 -81
  475. data/src/core/tsi/ssl_transport_security_utils.cc +74 -18
  476. data/src/core/tsi/ssl_transport_security_utils.h +11 -0
  477. data/src/core/tsi/transport_security.cc +0 -4
  478. data/src/core/tsi/transport_security.h +0 -2
  479. data/src/core/tsi/transport_security_interface.h +0 -4
  480. data/src/core/{lib/gpr → util}/alloc.h +3 -3
  481. data/src/core/{lib/gpr → util}/android/log.cc +0 -19
  482. data/src/core/{lib/gpr → util}/atm.cc +1 -1
  483. data/src/core/{ext/gcp/metadata_query.cc → util/gcp_metadata_query.cc} +25 -26
  484. data/src/core/{ext/gcp/metadata_query.h → util/gcp_metadata_query.h} +11 -11
  485. data/src/core/{lib/http → util/http_client}/format_request.cc +4 -3
  486. data/src/core/{lib/http → util/http_client}/format_request.h +6 -5
  487. data/src/core/{lib/http → util/http_client}/httpcli.cc +9 -10
  488. data/src/core/{lib/http → util/http_client}/httpcli.h +6 -5
  489. data/src/core/{lib/http → util/http_client}/httpcli_security_connector.cc +9 -9
  490. data/src/core/{lib/http → util/http_client}/httpcli_ssl_credentials.h +5 -4
  491. data/src/core/{lib/http → util/http_client}/parser.cc +4 -5
  492. data/src/core/{lib/http → util/http_client}/parser.h +5 -6
  493. data/src/core/{lib → util}/json/json.h +5 -4
  494. data/src/core/{lib → util}/json/json_args.h +5 -5
  495. data/src/core/{lib → util}/json/json_channel_args.h +6 -6
  496. data/src/core/{lib → util}/json/json_object_loader.cc +3 -2
  497. data/src/core/{lib → util}/json/json_object_loader.h +7 -7
  498. data/src/core/{lib → util}/json/json_reader.cc +3 -2
  499. data/src/core/{lib → util}/json/json_reader.h +6 -6
  500. data/src/core/{lib → util}/json/json_util.cc +4 -4
  501. data/src/core/{lib → util}/json/json_util.h +6 -6
  502. data/src/core/{lib → util}/json/json_writer.cc +3 -3
  503. data/src/core/{lib → util}/json/json_writer.h +6 -6
  504. data/src/core/{lib/gpr → util}/linux/log.cc +0 -45
  505. data/src/core/util/log.cc +165 -0
  506. data/src/core/{lib/gpr → util}/msys/tmpfile.cc +2 -2
  507. data/src/core/{lib/gpr → util}/posix/cpu.cc +1 -1
  508. data/src/core/{lib/gpr → util}/posix/log.cc +0 -42
  509. data/src/core/{lib/gpr → util}/posix/time.cc +1 -1
  510. data/src/core/{lib/gpr → util}/posix/tmpfile.cc +2 -2
  511. data/src/core/{lib/gpr → util}/spinlock.h +3 -3
  512. data/src/core/{lib/gpr → util}/string.cc +2 -2
  513. data/src/core/{lib/gpr → util}/string.h +3 -3
  514. data/src/core/{lib/gpr → util}/time_precise.cc +1 -1
  515. data/src/core/{lib/gpr → util}/time_precise.h +3 -3
  516. data/src/core/{lib/gpr → util}/tmpfile.h +3 -3
  517. data/src/core/{lib/gpr → util}/useful.h +3 -3
  518. data/src/core/{lib/gpr → util}/windows/log.cc +1 -44
  519. data/src/core/{lib/gpr → util}/windows/string.cc +1 -1
  520. data/src/core/{lib/gpr → util}/windows/string_util.cc +1 -1
  521. data/src/core/{lib/gpr → util}/windows/time.cc +1 -1
  522. data/src/core/{lib/gpr → util}/windows/tmpfile.cc +1 -1
  523. data/src/core/xds/grpc/certificate_provider_store.cc +3 -3
  524. data/src/core/xds/grpc/certificate_provider_store.h +4 -4
  525. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +3 -3
  526. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.h +3 -3
  527. data/src/core/xds/grpc/xds_audit_logger_registry.h +1 -1
  528. data/src/core/xds/grpc/xds_bootstrap_grpc.cc +5 -5
  529. data/src/core/xds/grpc/xds_bootstrap_grpc.h +3 -3
  530. data/src/core/xds/grpc/xds_certificate_provider.h +1 -1
  531. data/src/core/xds/grpc/xds_client_grpc.cc +27 -23
  532. data/src/core/xds/grpc/xds_client_grpc.h +2 -2
  533. data/src/core/xds/grpc/xds_cluster.cc +4 -5
  534. data/src/core/xds/grpc/xds_cluster.h +1 -1
  535. data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +2 -2
  536. data/src/core/xds/grpc/xds_cluster_specifier_plugin.h +1 -1
  537. data/src/core/xds/grpc/xds_common_types.cc +1 -1
  538. data/src/core/xds/grpc/xds_common_types.h +1 -1
  539. data/src/core/xds/grpc/xds_endpoint.cc +4 -5
  540. data/src/core/xds/grpc/xds_http_fault_filter.cc +2 -2
  541. data/src/core/xds/grpc/xds_http_filters.h +2 -2
  542. data/src/core/xds/grpc/xds_http_rbac_filter.cc +3 -3
  543. data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +2 -2
  544. data/src/core/xds/grpc/xds_lb_policy_registry.h +1 -1
  545. data/src/core/xds/grpc/xds_listener.cc +4 -6
  546. data/src/core/xds/grpc/xds_route_config.cc +7 -8
  547. data/src/core/xds/grpc/xds_transport_grpc.cc +2 -2
  548. data/src/core/xds/grpc/xds_transport_grpc.h +1 -1
  549. data/src/core/xds/xds_client/xds_api.cc +5 -9
  550. data/src/core/xds/xds_client/xds_bootstrap.cc +1 -1
  551. data/src/core/xds/xds_client/xds_bootstrap.h +1 -1
  552. data/src/core/xds/xds_client/xds_client.cc +39 -45
  553. data/src/core/xds/xds_client/xds_client.h +0 -3
  554. data/src/core/xds/xds_client/xds_client_stats.cc +6 -6
  555. data/src/core/xds/xds_client/xds_client_stats.h +2 -2
  556. data/src/ruby/bin/math_pb.rb +1 -22
  557. data/src/ruby/ext/grpc/rb_call.c +8 -1
  558. data/src/ruby/ext/grpc/rb_completion_queue.c +15 -32
  559. data/src/ruby/ext/grpc/rb_completion_queue.h +7 -1
  560. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +2 -2
  561. data/src/ruby/ext/grpc/rb_server.c +39 -22
  562. data/src/ruby/lib/grpc/version.rb +1 -1
  563. data/src/ruby/pb/grpc/health/v1/health_pb.rb +1 -22
  564. data/src/ruby/pb/grpc/testing/duplicate/echo_duplicate_services_pb.rb +5 -5
  565. data/src/ruby/pb/grpc/testing/metrics_pb.rb +10 -19
  566. data/src/ruby/pb/grpc/testing/metrics_services_pb.rb +5 -5
  567. data/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb +1 -22
  568. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +1 -22
  569. data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +1 -22
  570. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +4 -0
  571. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +12 -12
  572. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +66 -41
  573. data/third_party/boringssl-with-bazel/src/crypto/dilithium/dilithium.c +1497 -0
  574. data/third_party/boringssl-with-bazel/src/crypto/dilithium/internal.h +58 -0
  575. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +10 -3
  576. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +0 -2
  577. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +2 -0
  578. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +5 -0
  579. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c +45 -1
  580. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +33 -23
  581. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c +3 -6
  582. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +9 -4
  583. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +6 -0
  584. data/third_party/boringssl-with-bazel/src/crypto/internal.h +7 -0
  585. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +0 -4
  586. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_utl.c +49 -16
  587. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +0 -10
  588. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +7 -17
  589. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +8 -6
  590. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +3 -0
  591. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/dilithium.h +125 -0
  592. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +0 -23
  593. data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +1 -1
  594. data/third_party/boringssl-with-bazel/src/ssl/internal.h +4 -10
  595. metadata +103 -93
  596. data/src/core/ext/transport/chttp2/transport/http_trace.cc +0 -19
  597. data/src/core/ext/transport/chttp2/transport/http_trace.h +0 -24
  598. data/src/core/ext/transport/inproc/inproc_plugin.cc +0 -23
  599. data/src/core/handshaker/security/tsi_error.cc +0 -31
  600. data/src/core/handshaker/security/tsi_error.h +0 -30
  601. data/src/core/lib/channel/channel_stack_trace.cc +0 -19
  602. data/src/core/lib/channel/channel_stack_trace.h +0 -24
  603. data/src/core/lib/channel/context.h +0 -105
  604. data/src/core/lib/channel/metrics.cc +0 -334
  605. data/src/core/lib/channel/metrics.h +0 -365
  606. data/src/core/lib/event_engine/trace.cc +0 -25
  607. data/src/core/lib/gpr/log.cc +0 -166
  608. data/src/core/lib/iomgr/ev_windows.cc +0 -30
  609. data/src/core/lib/promise/trace.cc +0 -20
  610. data/src/core/lib/promise/trace.h +0 -24
  611. data/src/core/lib/resource_quota/trace.cc +0 -19
  612. data/src/core/lib/resource_quota/trace.h +0 -24
  613. data/src/core/lib/slice/slice_refcount.cc +0 -20
  614. data/src/core/lib/surface/api_trace.cc +0 -25
  615. data/src/core/lib/surface/call_trace.h +0 -24
  616. data/src/core/lib/surface/wait_for_cq_end_op.cc +0 -75
  617. data/src/core/lib/surface/wait_for_cq_end_op.h +0 -72
  618. data/src/core/lib/transport/batch_builder.cc +0 -172
  619. data/src/core/lib/transport/batch_builder.h +0 -474
  620. data/src/core/resolver/xds/xds_resolver_trace.cc +0 -25
  621. data/src/core/resolver/xds/xds_resolver_trace.h +0 -30
  622. data/third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h +0 -122
  623. /data/src/core/{lib/gpr → util}/alloc.cc +0 -0
  624. /data/src/core/{lib/gpr → util}/iphone/cpu.cc +0 -0
  625. /data/src/core/{lib/gpr → util}/linux/cpu.cc +0 -0
  626. /data/src/core/{lib/gpr → util}/posix/string.cc +0 -0
  627. /data/src/core/{lib/gpr → util}/posix/sync.cc +0 -0
  628. /data/src/core/{lib/gpr → util}/sync.cc +0 -0
  629. /data/src/core/{lib/gpr → util}/sync_abseil.cc +0 -0
  630. /data/src/core/{lib/gpr → util}/time.cc +0 -0
  631. /data/src/core/{lib/gpr → util}/windows/cpu.cc +0 -0
  632. /data/src/core/{lib/gpr → util}/windows/sync.cc +0 -0
@@ -43,11 +43,9 @@
43
43
 
44
44
  #include "src/core/lib/address_utils/sockaddr_utils.h"
45
45
  #include "src/core/lib/channel/channel_args.h"
46
- #include "src/core/lib/channel/metrics.h"
47
46
  #include "src/core/lib/config/core_configuration.h"
48
47
  #include "src/core/lib/debug/trace.h"
49
48
  #include "src/core/lib/experiments/experiments.h"
50
- #include "src/core/lib/gpr/useful.h"
51
49
  #include "src/core/lib/gprpp/crash.h"
52
50
  #include "src/core/lib/gprpp/debug_location.h"
53
51
  #include "src/core/lib/gprpp/orphanable.h"
@@ -57,20 +55,20 @@
57
55
  #include "src/core/lib/iomgr/exec_ctx.h"
58
56
  #include "src/core/lib/iomgr/iomgr_fwd.h"
59
57
  #include "src/core/lib/iomgr/resolved_address.h"
60
- #include "src/core/lib/json/json.h"
61
- #include "src/core/lib/json/json_args.h"
62
- #include "src/core/lib/json/json_object_loader.h"
63
58
  #include "src/core/lib/transport/connectivity_state.h"
64
59
  #include "src/core/load_balancing/health_check_client.h"
65
60
  #include "src/core/load_balancing/lb_policy.h"
66
61
  #include "src/core/load_balancing/lb_policy_factory.h"
67
62
  #include "src/core/load_balancing/subchannel_interface.h"
68
63
  #include "src/core/resolver/endpoint_addresses.h"
64
+ #include "src/core/telemetry/metrics.h"
65
+ #include "src/core/util/json/json.h"
66
+ #include "src/core/util/json/json_args.h"
67
+ #include "src/core/util/json/json_object_loader.h"
68
+ #include "src/core/util/useful.h"
69
69
 
70
70
  namespace grpc_core {
71
71
 
72
- TraceFlag grpc_lb_pick_first_trace(false, "pick_first");
73
-
74
72
  namespace {
75
73
 
76
74
  //
@@ -84,19 +82,25 @@ const auto kMetricDisconnections =
84
82
  "grpc.lb.pick_first.disconnections",
85
83
  "EXPERIMENTAL. Number of times the selected subchannel becomes "
86
84
  "disconnected.",
87
- "{disconnection}", {kMetricLabelTarget}, {}, false);
85
+ "{disconnection}", false)
86
+ .Labels(kMetricLabelTarget)
87
+ .Build();
88
88
 
89
89
  const auto kMetricConnectionAttemptsSucceeded =
90
90
  GlobalInstrumentsRegistry::RegisterUInt64Counter(
91
91
  "grpc.lb.pick_first.connection_attempts_succeeded",
92
92
  "EXPERIMENTAL. Number of successful connection attempts.", "{attempt}",
93
- {kMetricLabelTarget}, {}, false);
93
+ false)
94
+ .Labels(kMetricLabelTarget)
95
+ .Build();
94
96
 
95
97
  const auto kMetricConnectionAttemptsFailed =
96
98
  GlobalInstrumentsRegistry::RegisterUInt64Counter(
97
99
  "grpc.lb.pick_first.connection_attempts_failed",
98
100
  "EXPERIMENTAL. Number of failed connection attempts.", "{attempt}",
99
- {kMetricLabelTarget}, {}, false);
101
+ false)
102
+ .Labels(kMetricLabelTarget)
103
+ .Build();
100
104
 
101
105
  class PickFirstConfig final : public LoadBalancingPolicy::Config {
102
106
  public:
@@ -416,20 +420,20 @@ PickFirst::PickFirst(Args args)
416
420
  .GetInt(GRPC_ARG_HAPPY_EYEBALLS_CONNECTION_ATTEMPT_DELAY_MS)
417
421
  .value_or(250),
418
422
  100, 2000))) {
419
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
423
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
420
424
  gpr_log(GPR_INFO, "Pick First %p created.", this);
421
425
  }
422
426
  }
423
427
 
424
428
  PickFirst::~PickFirst() {
425
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
429
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
426
430
  gpr_log(GPR_INFO, "Destroying Pick First %p", this);
427
431
  }
428
432
  CHECK(subchannel_list_ == nullptr);
429
433
  }
430
434
 
431
435
  void PickFirst::ShutdownLocked() {
432
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
436
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
433
437
  gpr_log(GPR_INFO, "Pick First %p Shutting down", this);
434
438
  }
435
439
  shutdown_ = true;
@@ -440,7 +444,7 @@ void PickFirst::ShutdownLocked() {
440
444
  void PickFirst::ExitIdleLocked() {
441
445
  if (shutdown_) return;
442
446
  if (IsIdle()) {
443
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
447
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
444
448
  gpr_log(GPR_INFO, "Pick First %p exiting idle", this);
445
449
  }
446
450
  AttemptToConnectUsingLatestUpdateArgsLocked();
@@ -458,8 +462,7 @@ void PickFirst::AttemptToConnectUsingLatestUpdateArgsLocked() {
458
462
  addresses = latest_update_args_.addresses->get();
459
463
  }
460
464
  // Replace subchannel_list_.
461
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace) &&
462
- subchannel_list_ != nullptr) {
465
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first) && subchannel_list_ != nullptr) {
463
466
  gpr_log(GPR_INFO, "[PF %p] Shutting down previous subchannel list %p", this,
464
467
  subchannel_list_.get());
465
468
  }
@@ -512,7 +515,7 @@ class AddressFamilyIterator final {
512
515
  };
513
516
 
514
517
  absl::Status PickFirst::UpdateLocked(UpdateArgs args) {
515
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
518
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
516
519
  if (args.addresses.ok()) {
517
520
  gpr_log(GPR_INFO, "Pick First %p received update", this);
518
521
  } else {
@@ -627,7 +630,7 @@ void PickFirst::GoIdle() {
627
630
  void PickFirst::HealthWatcher::OnConnectivityStateChange(
628
631
  grpc_connectivity_state new_state, absl::Status status) {
629
632
  if (policy_->health_watcher_ != this) return;
630
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
633
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
631
634
  gpr_log(GPR_INFO, "[PF %p] health watch state update: %s (%s)",
632
635
  policy_.get(), ConnectivityStateName(new_state),
633
636
  status.ToString().c_str());
@@ -669,7 +672,7 @@ PickFirst::SubchannelList::SubchannelData::SubchannelState::SubchannelState(
669
672
  : subchannel_data_(subchannel_data),
670
673
  pick_first_(subchannel_data_->subchannel_list_->policy_),
671
674
  subchannel_(std::move(subchannel)) {
672
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
675
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
673
676
  gpr_log(GPR_INFO,
674
677
  "[PF %p] subchannel state %p (subchannel %p): starting watch",
675
678
  pick_first_.get(), this, subchannel_.get());
@@ -680,7 +683,7 @@ PickFirst::SubchannelList::SubchannelData::SubchannelState::SubchannelState(
680
683
  }
681
684
 
682
685
  void PickFirst::SubchannelList::SubchannelData::SubchannelState::Orphan() {
683
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
686
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
684
687
  gpr_log(GPR_INFO,
685
688
  "[PF %p] subchannel state %p (subchannel %p): "
686
689
  "cancelling watch and unreffing subchannel",
@@ -695,7 +698,7 @@ void PickFirst::SubchannelList::SubchannelData::SubchannelState::Orphan() {
695
698
  }
696
699
 
697
700
  void PickFirst::SubchannelList::SubchannelData::SubchannelState::Select() {
698
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
701
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
699
702
  gpr_log(GPR_INFO, "Pick First %p selected subchannel %p", pick_first_.get(),
700
703
  subchannel_.get());
701
704
  }
@@ -707,7 +710,7 @@ void PickFirst::SubchannelList::SubchannelData::SubchannelState::Select() {
707
710
  // for the health status notification.
708
711
  // If health checking is NOT enabled, report READY.
709
712
  if (pick_first_->enable_health_watch_) {
710
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
713
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
711
714
  gpr_log(GPR_INFO, "[PF %p] starting health watch", pick_first_.get());
712
715
  }
713
716
  auto watcher = std::make_unique<HealthWatcher>(
@@ -745,7 +748,7 @@ void PickFirst::SubchannelList::SubchannelData::SubchannelState::
745
748
  OnConnectivityStateChange(grpc_connectivity_state new_state,
746
749
  absl::Status status) {
747
750
  if (watcher_ == nullptr) return;
748
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
751
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
749
752
  gpr_log(GPR_INFO,
750
753
  "[PF %p] subchannel state %p (subchannel %p): connectivity "
751
754
  "changed: new_state=%s, status=%s, watcher=%p, "
@@ -768,7 +771,7 @@ void PickFirst::SubchannelList::SubchannelData::SubchannelState::
768
771
  }
769
772
  // We aren't trying to connect, so we must be the selected subchannel.
770
773
  CHECK(pick_first_->selected_.get() == this);
771
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
774
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
772
775
  gpr_log(GPR_INFO,
773
776
  "Pick First %p selected subchannel connectivity changed to %s",
774
777
  pick_first_.get(), ConnectivityStateName(new_state));
@@ -792,7 +795,7 @@ PickFirst::SubchannelList::SubchannelData::SubchannelData(
792
795
  SubchannelList* subchannel_list, size_t index,
793
796
  RefCountedPtr<SubchannelInterface> subchannel)
794
797
  : subchannel_list_(subchannel_list), index_(index) {
795
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
798
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
796
799
  gpr_log(GPR_INFO,
797
800
  "[PF %p] subchannel list %p index %" PRIuPTR
798
801
  ": creating subchannel data",
@@ -805,7 +808,7 @@ PickFirst::SubchannelList::SubchannelData::SubchannelData(
805
808
  void PickFirst::SubchannelList::SubchannelData::OnConnectivityStateChange(
806
809
  grpc_connectivity_state new_state, absl::Status status) {
807
810
  PickFirst* p = subchannel_list_->policy_.get();
808
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
811
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
809
812
  gpr_log(
810
813
  GPR_INFO,
811
814
  "[PF %p] subchannel list %p index %" PRIuPTR " of %" PRIuPTR
@@ -858,7 +861,7 @@ void PickFirst::SubchannelList::SubchannelData::OnConnectivityStateChange(
858
861
  // is not in the new list. In that case, we drop the current
859
862
  // connection and report IDLE.
860
863
  if (p->selected_ != nullptr) {
861
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
864
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
862
865
  gpr_log(GPR_INFO,
863
866
  "[PF %p] subchannel list %p: new update has no subchannels in "
864
867
  "state READY; dropping existing connection and going IDLE",
@@ -959,7 +962,7 @@ void PickFirst::SubchannelList::SubchannelData::RequestConnectionWithTimer() {
959
962
  // If this is not the last subchannel in the list, start the timer.
960
963
  if (index_ != subchannel_list_->size() - 1) {
961
964
  PickFirst* p = subchannel_list_->policy_.get();
962
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
965
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
963
966
  gpr_log(GPR_INFO,
964
967
  "Pick First %p subchannel list %p: starting Connection "
965
968
  "Attempt Delay timer for %" PRId64 "ms for index %" PRIuPTR,
@@ -976,7 +979,7 @@ void PickFirst::SubchannelList::SubchannelData::RequestConnectionWithTimer() {
976
979
  auto* sl = subchannel_list.get();
977
980
  sl->policy_->work_serializer()->Run(
978
981
  [subchannel_list = std::move(subchannel_list)]() {
979
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
982
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
980
983
  gpr_log(GPR_INFO,
981
984
  "Pick First %p subchannel list %p: Connection "
982
985
  "Attempt Delay timer fired (shutting_down=%d, "
@@ -1004,13 +1007,12 @@ PickFirst::SubchannelList::SubchannelList(RefCountedPtr<PickFirst> policy,
1004
1007
  EndpointAddressesIterator* addresses,
1005
1008
  const ChannelArgs& args)
1006
1009
  : InternallyRefCounted<SubchannelList>(
1007
- GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace) ? "SubchannelList"
1008
- : nullptr),
1010
+ GRPC_TRACE_FLAG_ENABLED(pick_first) ? "SubchannelList" : nullptr),
1009
1011
  policy_(std::move(policy)),
1010
1012
  args_(args.Remove(GRPC_ARG_INTERNAL_PICK_FIRST_ENABLE_HEALTH_CHECKING)
1011
1013
  .Remove(
1012
1014
  GRPC_ARG_INTERNAL_PICK_FIRST_OMIT_STATUS_MESSAGE_PREFIX)) {
1013
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
1015
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
1014
1016
  gpr_log(GPR_INFO, "[PF %p] Creating subchannel list %p - channel args: %s",
1015
1017
  policy_.get(), this, args_.ToString().c_str());
1016
1018
  }
@@ -1023,14 +1025,14 @@ PickFirst::SubchannelList::SubchannelList(RefCountedPtr<PickFirst> policy,
1023
1025
  address.address(), address.args(), args_);
1024
1026
  if (subchannel == nullptr) {
1025
1027
  // Subchannel could not be created.
1026
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
1028
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
1027
1029
  gpr_log(GPR_INFO,
1028
1030
  "[PF %p] could not create subchannel for address %s, ignoring",
1029
1031
  policy_.get(), address.ToString().c_str());
1030
1032
  }
1031
1033
  return;
1032
1034
  }
1033
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
1035
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
1034
1036
  gpr_log(GPR_INFO,
1035
1037
  "[PF %p] subchannel list %p index %" PRIuPTR
1036
1038
  ": Created subchannel %p for address %s",
@@ -1043,14 +1045,14 @@ PickFirst::SubchannelList::SubchannelList(RefCountedPtr<PickFirst> policy,
1043
1045
  }
1044
1046
 
1045
1047
  PickFirst::SubchannelList::~SubchannelList() {
1046
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
1048
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
1047
1049
  gpr_log(GPR_INFO, "[PF %p] Destroying subchannel_list %p", policy_.get(),
1048
1050
  this);
1049
1051
  }
1050
1052
  }
1051
1053
 
1052
1054
  void PickFirst::SubchannelList::Orphan() {
1053
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
1055
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
1054
1056
  gpr_log(GPR_INFO, "[PF %p] Shutting down subchannel_list %p", policy_.get(),
1055
1057
  this);
1056
1058
  }
@@ -1095,7 +1097,7 @@ void PickFirst::SubchannelList::MaybeFinishHappyEyeballsPass() {
1095
1097
  // We didn't find another subchannel not in state TRANSIENT_FAILURE,
1096
1098
  // so report TRANSIENT_FAILURE and switch to a mode in which we try to
1097
1099
  // connect to all addresses in parallel.
1098
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
1100
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
1099
1101
  gpr_log(GPR_INFO,
1100
1102
  "Pick First %p subchannel list %p failed to connect to "
1101
1103
  "all subchannels",
@@ -1390,13 +1392,13 @@ OldPickFirst::OldPickFirst(Args args)
1390
1392
  .GetInt(GRPC_ARG_HAPPY_EYEBALLS_CONNECTION_ATTEMPT_DELAY_MS)
1391
1393
  .value_or(250),
1392
1394
  100, 2000))) {
1393
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
1395
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
1394
1396
  gpr_log(GPR_INFO, "Pick First %p created.", this);
1395
1397
  }
1396
1398
  }
1397
1399
 
1398
1400
  OldPickFirst::~OldPickFirst() {
1399
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
1401
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
1400
1402
  gpr_log(GPR_INFO, "Destroying Pick First %p", this);
1401
1403
  }
1402
1404
  CHECK(subchannel_list_ == nullptr);
@@ -1404,7 +1406,7 @@ OldPickFirst::~OldPickFirst() {
1404
1406
  }
1405
1407
 
1406
1408
  void OldPickFirst::ShutdownLocked() {
1407
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
1409
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
1408
1410
  gpr_log(GPR_INFO, "Pick First %p Shutting down", this);
1409
1411
  }
1410
1412
  shutdown_ = true;
@@ -1416,7 +1418,7 @@ void OldPickFirst::ShutdownLocked() {
1416
1418
  void OldPickFirst::ExitIdleLocked() {
1417
1419
  if (shutdown_) return;
1418
1420
  if (IsIdle()) {
1419
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
1421
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
1420
1422
  gpr_log(GPR_INFO, "Pick First %p exiting idle", this);
1421
1423
  }
1422
1424
  AttemptToConnectUsingLatestUpdateArgsLocked();
@@ -1437,7 +1439,7 @@ void OldPickFirst::AttemptToConnectUsingLatestUpdateArgsLocked() {
1437
1439
  addresses = latest_update_args_.addresses->get();
1438
1440
  }
1439
1441
  // Replace latest_pending_subchannel_list_.
1440
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace) &&
1442
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first) &&
1441
1443
  latest_pending_subchannel_list_ != nullptr) {
1442
1444
  gpr_log(GPR_INFO,
1443
1445
  "[PF %p] Shutting down previous pending subchannel list %p", this,
@@ -1461,8 +1463,7 @@ void OldPickFirst::AttemptToConnectUsingLatestUpdateArgsLocked() {
1461
1463
  // the current list, replace the current subchannel list immediately.
1462
1464
  if (latest_pending_subchannel_list_->size() == 0 || selected_ == nullptr) {
1463
1465
  UnsetSelectedSubchannel();
1464
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace) &&
1465
- subchannel_list_ != nullptr) {
1466
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first) && subchannel_list_ != nullptr) {
1466
1467
  gpr_log(GPR_INFO, "[PF %p] Shutting down previous subchannel list %p",
1467
1468
  this, subchannel_list_.get());
1468
1469
  }
@@ -1471,7 +1472,7 @@ void OldPickFirst::AttemptToConnectUsingLatestUpdateArgsLocked() {
1471
1472
  }
1472
1473
 
1473
1474
  absl::Status OldPickFirst::UpdateLocked(UpdateArgs args) {
1474
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
1475
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
1475
1476
  if (args.addresses.ok()) {
1476
1477
  gpr_log(GPR_INFO, "Pick First %p received update", this);
1477
1478
  } else {
@@ -1572,7 +1573,7 @@ void OldPickFirst::UnsetSelectedSubchannel() {
1572
1573
  void OldPickFirst::HealthWatcher::OnConnectivityStateChange(
1573
1574
  grpc_connectivity_state new_state, absl::Status status) {
1574
1575
  if (policy_->health_watcher_ != this) return;
1575
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
1576
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
1576
1577
  gpr_log(GPR_INFO, "[PF %p] health watch state update: %s (%s)",
1577
1578
  policy_.get(), ConnectivityStateName(new_state),
1578
1579
  status.ToString().c_str());
@@ -1614,7 +1615,7 @@ OldPickFirst::SubchannelList::SubchannelData::SubchannelData(
1614
1615
  : subchannel_list_(subchannel_list),
1615
1616
  index_(index),
1616
1617
  subchannel_(std::move(subchannel)) {
1617
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
1618
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
1618
1619
  gpr_log(GPR_INFO,
1619
1620
  "[PF %p] subchannel list %p index %" PRIuPTR
1620
1621
  " (subchannel %p): starting watch",
@@ -1629,7 +1630,7 @@ OldPickFirst::SubchannelList::SubchannelData::SubchannelData(
1629
1630
 
1630
1631
  void OldPickFirst::SubchannelList::SubchannelData::ShutdownLocked() {
1631
1632
  if (subchannel_ != nullptr) {
1632
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
1633
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
1633
1634
  gpr_log(GPR_INFO,
1634
1635
  "[PF %p] subchannel list %p index %" PRIuPTR " of %" PRIuPTR
1635
1636
  " (subchannel %p): cancelling watch and unreffing subchannel",
@@ -1645,7 +1646,7 @@ void OldPickFirst::SubchannelList::SubchannelData::ShutdownLocked() {
1645
1646
  void OldPickFirst::SubchannelList::SubchannelData::OnConnectivityStateChange(
1646
1647
  grpc_connectivity_state new_state, absl::Status status) {
1647
1648
  OldPickFirst* p = subchannel_list_->policy_.get();
1648
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
1649
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
1649
1650
  gpr_log(
1650
1651
  GPR_INFO,
1651
1652
  "[PF %p] subchannel list %p index %" PRIuPTR " of %" PRIuPTR
@@ -1677,7 +1678,7 @@ void OldPickFirst::SubchannelList::SubchannelData::OnConnectivityStateChange(
1677
1678
  // Handle updates for the currently selected subchannel.
1678
1679
  if (p->selected_ == this) {
1679
1680
  CHECK(subchannel_list_ == p->subchannel_list_.get());
1680
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
1681
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
1681
1682
  gpr_log(GPR_INFO,
1682
1683
  "Pick First %p selected subchannel connectivity changed to %s", p,
1683
1684
  ConnectivityStateName(new_state));
@@ -1696,7 +1697,7 @@ void OldPickFirst::SubchannelList::SubchannelData::OnConnectivityStateChange(
1696
1697
  p->channel_control_helper()->RequestReresolution();
1697
1698
  // If there is a pending update, switch to the pending update.
1698
1699
  if (p->latest_pending_subchannel_list_ != nullptr) {
1699
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
1700
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
1700
1701
  gpr_log(GPR_INFO,
1701
1702
  "Pick First %p promoting pending subchannel list %p to "
1702
1703
  "replace %p",
@@ -1860,7 +1861,7 @@ void OldPickFirst::SubchannelList::SubchannelData::
1860
1861
  // If this is not the last subchannel in the list, start the timer.
1861
1862
  if (index_ != subchannel_list_->size() - 1) {
1862
1863
  OldPickFirst* p = subchannel_list_->policy_.get();
1863
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
1864
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
1864
1865
  gpr_log(GPR_INFO,
1865
1866
  "Pick First %p subchannel list %p: starting Connection "
1866
1867
  "Attempt Delay timer for %" PRId64 "ms for index %" PRIuPTR,
@@ -1877,7 +1878,7 @@ void OldPickFirst::SubchannelList::SubchannelData::
1877
1878
  auto* sl = subchannel_list.get();
1878
1879
  sl->policy_->work_serializer()->Run(
1879
1880
  [subchannel_list = std::move(subchannel_list)]() {
1880
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
1881
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
1881
1882
  gpr_log(GPR_INFO,
1882
1883
  "Pick First %p subchannel list %p: Connection "
1883
1884
  "Attempt Delay timer fired (shutting_down=%d, "
@@ -1918,7 +1919,7 @@ void OldPickFirst::SubchannelList::SubchannelData::
1918
1919
  subchannel_list_ == p->latest_pending_subchannel_list_.get());
1919
1920
  // Case 2. Promote p->latest_pending_subchannel_list_ to p->subchannel_list_.
1920
1921
  if (subchannel_list_ == p->latest_pending_subchannel_list_.get()) {
1921
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
1922
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
1922
1923
  gpr_log(GPR_INFO,
1923
1924
  "Pick First %p promoting pending subchannel list %p to "
1924
1925
  "replace %p",
@@ -1929,7 +1930,7 @@ void OldPickFirst::SubchannelList::SubchannelData::
1929
1930
  p->subchannel_list_ = std::move(p->latest_pending_subchannel_list_);
1930
1931
  }
1931
1932
  // Cases 1 and 2.
1932
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
1933
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
1933
1934
  gpr_log(GPR_INFO, "Pick First %p selected subchannel %p", p,
1934
1935
  subchannel_.get());
1935
1936
  }
@@ -1939,7 +1940,7 @@ void OldPickFirst::SubchannelList::SubchannelData::
1939
1940
  // for the health status notification.
1940
1941
  // If health checking is NOT enabled, report READY.
1941
1942
  if (p->enable_health_watch_) {
1942
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
1943
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
1943
1944
  gpr_log(GPR_INFO, "[PF %p] starting health watch", p);
1944
1945
  }
1945
1946
  auto watcher = std::make_unique<HealthWatcher>(
@@ -1969,13 +1970,12 @@ OldPickFirst::SubchannelList::SubchannelList(
1969
1970
  RefCountedPtr<OldPickFirst> policy, EndpointAddressesIterator* addresses,
1970
1971
  const ChannelArgs& args)
1971
1972
  : InternallyRefCounted<SubchannelList>(
1972
- GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace) ? "SubchannelList"
1973
- : nullptr),
1973
+ GRPC_TRACE_FLAG_ENABLED(pick_first) ? "SubchannelList" : nullptr),
1974
1974
  policy_(std::move(policy)),
1975
1975
  args_(args.Remove(GRPC_ARG_INTERNAL_PICK_FIRST_ENABLE_HEALTH_CHECKING)
1976
1976
  .Remove(
1977
1977
  GRPC_ARG_INTERNAL_PICK_FIRST_OMIT_STATUS_MESSAGE_PREFIX)) {
1978
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
1978
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
1979
1979
  gpr_log(GPR_INFO, "[PF %p] Creating subchannel list %p - channel args: %s",
1980
1980
  policy_.get(), this, args_.ToString().c_str());
1981
1981
  }
@@ -1988,14 +1988,14 @@ OldPickFirst::SubchannelList::SubchannelList(
1988
1988
  address.address(), address.args(), args_);
1989
1989
  if (subchannel == nullptr) {
1990
1990
  // Subchannel could not be created.
1991
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
1991
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
1992
1992
  gpr_log(GPR_INFO,
1993
1993
  "[PF %p] could not create subchannel for address %s, ignoring",
1994
1994
  policy_.get(), address.ToString().c_str());
1995
1995
  }
1996
1996
  return;
1997
1997
  }
1998
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
1998
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
1999
1999
  gpr_log(GPR_INFO,
2000
2000
  "[PF %p] subchannel list %p index %" PRIuPTR
2001
2001
  ": Created subchannel %p for address %s",
@@ -2007,14 +2007,14 @@ OldPickFirst::SubchannelList::SubchannelList(
2007
2007
  }
2008
2008
 
2009
2009
  OldPickFirst::SubchannelList::~SubchannelList() {
2010
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
2010
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
2011
2011
  gpr_log(GPR_INFO, "[PF %p] Destroying subchannel_list %p", policy_.get(),
2012
2012
  this);
2013
2013
  }
2014
2014
  }
2015
2015
 
2016
2016
  void OldPickFirst::SubchannelList::Orphan() {
2017
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
2017
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
2018
2018
  gpr_log(GPR_INFO, "[PF %p] Shutting down subchannel_list %p", policy_.get(),
2019
2019
  this);
2020
2020
  }
@@ -2061,7 +2061,7 @@ void OldPickFirst::SubchannelList::MaybeFinishHappyEyeballsPass() {
2061
2061
  // We didn't find another subchannel not in state TRANSIENT_FAILURE,
2062
2062
  // so report TRANSIENT_FAILURE and switch to a mode in which we try to
2063
2063
  // connect to all addresses in parallel.
2064
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
2064
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
2065
2065
  gpr_log(GPR_INFO,
2066
2066
  "Pick First %p subchannel list %p failed to connect to "
2067
2067
  "all subchannels",
@@ -2071,7 +2071,7 @@ void OldPickFirst::SubchannelList::MaybeFinishHappyEyeballsPass() {
2071
2071
  // TRANSIENT_FAILURE and dropping the existing (working) connection,
2072
2072
  // but we can't ignore what the control plane has told us.
2073
2073
  if (policy_->latest_pending_subchannel_list_.get() == this) {
2074
- if (GRPC_TRACE_FLAG_ENABLED(grpc_lb_pick_first_trace)) {
2074
+ if (GRPC_TRACE_FLAG_ENABLED(pick_first)) {
2075
2075
  gpr_log(GPR_INFO,
2076
2076
  "Pick First %p promoting pending subchannel list %p to "
2077
2077
  "replace %p",