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
@@ -42,6 +42,7 @@
42
42
  #endif
43
43
 
44
44
  #include "absl/log/check.h"
45
+ #include "absl/log/log.h"
45
46
  #include "absl/status/status.h"
46
47
  #include "absl/status/statusor.h"
47
48
  #include "absl/strings/escaping.h"
@@ -50,28 +51,27 @@
50
51
  #include <grpc/slice.h>
51
52
  #include <grpc/support/alloc.h>
52
53
  #include <grpc/support/json.h>
53
- #include <grpc/support/log.h>
54
54
  #include <grpc/support/string_util.h>
55
55
  #include <grpc/support/time.h>
56
56
 
57
- #include "src/core/lib/gpr/string.h"
58
57
  #include "src/core/lib/gprpp/manual_constructor.h"
59
58
  #include "src/core/lib/gprpp/memory.h"
60
59
  #include "src/core/lib/gprpp/orphanable.h"
61
- #include "src/core/lib/http/httpcli.h"
62
- #include "src/core/lib/http/httpcli_ssl_credentials.h"
63
- #include "src/core/lib/http/parser.h"
64
60
  #include "src/core/lib/iomgr/closure.h"
65
61
  #include "src/core/lib/iomgr/error.h"
66
62
  #include "src/core/lib/iomgr/exec_ctx.h"
67
63
  #include "src/core/lib/iomgr/iomgr_fwd.h"
68
64
  #include "src/core/lib/iomgr/polling_entity.h"
69
- #include "src/core/lib/json/json_reader.h"
70
65
  #include "src/core/lib/security/credentials/credentials.h" // IWYU pragma: keep
71
66
  #include "src/core/lib/slice/slice.h"
72
67
  #include "src/core/lib/slice/slice_internal.h"
73
68
  #include "src/core/lib/uri/uri_parser.h"
74
69
  #include "src/core/tsi/ssl_types.h"
70
+ #include "src/core/util/http_client/httpcli.h"
71
+ #include "src/core/util/http_client/httpcli_ssl_credentials.h"
72
+ #include "src/core/util/http_client/parser.h"
73
+ #include "src/core/util/json/json_reader.h"
74
+ #include "src/core/util/string.h"
75
75
 
76
76
  using grpc_core::Json;
77
77
 
@@ -114,13 +114,12 @@ static const EVP_MD* evp_md_from_alg(const char* alg) {
114
114
  static Json parse_json_part_from_jwt(const char* str, size_t len) {
115
115
  std::string string;
116
116
  if (!absl::WebSafeBase64Unescape(absl::string_view(str, len), &string)) {
117
- gpr_log(GPR_ERROR, "Invalid base64.");
117
+ LOG(ERROR) << "Invalid base64.";
118
118
  return Json(); // JSON null
119
119
  }
120
120
  auto json = grpc_core::JsonParse(string);
121
121
  if (!json.ok()) {
122
- gpr_log(GPR_ERROR, "JSON parse error: %s",
123
- json.status().ToString().c_str());
122
+ LOG(ERROR) << "JSON parse error: " << json.status();
124
123
  return Json(); // JSON null
125
124
  }
126
125
  return std::move(*json);
@@ -128,7 +127,7 @@ static Json parse_json_part_from_jwt(const char* str, size_t len) {
128
127
 
129
128
  static const char* validate_string_field(const Json& json, const char* key) {
130
129
  if (json.type() != Json::Type::kString) {
131
- gpr_log(GPR_ERROR, "Invalid %s field", key);
130
+ LOG(ERROR) << "Invalid " << key << " field";
132
131
  return nullptr;
133
132
  }
134
133
  return json.string().c_str();
@@ -137,7 +136,7 @@ static const char* validate_string_field(const Json& json, const char* key) {
137
136
  static gpr_timespec validate_time_field(const Json& json, const char* key) {
138
137
  gpr_timespec result = gpr_time_0(GPR_CLOCK_REALTIME);
139
138
  if (json.type() != Json::Type::kNumber) {
140
- gpr_log(GPR_ERROR, "Invalid %s field", key);
139
+ LOG(ERROR) << "Invalid " << key << " field";
141
140
  return result;
142
141
  }
143
142
  result.tv_sec = strtol(json.string().c_str(), nullptr, 10);
@@ -163,13 +162,13 @@ static jose_header* jose_header_from_json(Json json) {
163
162
  Json::Object::const_iterator it;
164
163
  jose_header* h = grpc_core::Zalloc<jose_header>();
165
164
  if (json.type() != Json::Type::kObject) {
166
- gpr_log(GPR_ERROR, "JSON value is not an object");
165
+ LOG(ERROR) << "JSON value is not an object";
167
166
  goto error;
168
167
  }
169
168
  // Check alg field.
170
169
  it = json.object().find("alg");
171
170
  if (it == json.object().end()) {
172
- gpr_log(GPR_ERROR, "Missing alg field.");
171
+ LOG(ERROR) << "Missing alg field.";
173
172
  goto error;
174
173
  }
175
174
  // We only support RSA-1.5 signatures for now.
@@ -180,7 +179,7 @@ static jose_header* jose_header_from_json(Json json) {
180
179
  if (it->second.type() != Json::Type::kString ||
181
180
  strncmp(alg_value, "RS", 2) != 0 ||
182
181
  evp_md_from_alg(alg_value) == nullptr) {
183
- gpr_log(GPR_ERROR, "Invalid alg field");
182
+ LOG(ERROR) << "Invalid alg field";
184
183
  goto error;
185
184
  }
186
185
  h->alg = alg_value;
@@ -319,13 +318,13 @@ grpc_jwt_verifier_status grpc_jwt_claims_check(const grpc_jwt_claims* claims,
319
318
  skewed_now =
320
319
  gpr_time_add(gpr_now(GPR_CLOCK_REALTIME), grpc_jwt_verifier_clock_skew);
321
320
  if (gpr_time_cmp(skewed_now, claims->nbf) < 0) {
322
- gpr_log(GPR_ERROR, "JWT is not valid yet.");
321
+ LOG(ERROR) << "JWT is not valid yet.";
323
322
  return GRPC_JWT_VERIFIER_TIME_CONSTRAINT_FAILURE;
324
323
  }
325
324
  skewed_now =
326
325
  gpr_time_sub(gpr_now(GPR_CLOCK_REALTIME), grpc_jwt_verifier_clock_skew);
327
326
  if (gpr_time_cmp(skewed_now, claims->exp) > 0) {
328
- gpr_log(GPR_ERROR, "JWT is expired.");
327
+ LOG(ERROR) << "JWT is expired.";
329
328
  return GRPC_JWT_VERIFIER_TIME_CONSTRAINT_FAILURE;
330
329
  }
331
330
 
@@ -334,9 +333,9 @@ grpc_jwt_verifier_status grpc_jwt_claims_check(const grpc_jwt_claims* claims,
334
333
  // issued.
335
334
  if (grpc_jwt_issuer_email_domain(claims->iss) != nullptr &&
336
335
  claims->sub != nullptr && strcmp(claims->iss, claims->sub) != 0) {
337
- gpr_log(GPR_ERROR,
338
- "Email issuer (%s) cannot assert another subject (%s) than itself.",
339
- claims->iss, claims->sub);
336
+ LOG(ERROR) << "Email issuer (" << claims->iss
337
+ << ") cannot assert another subject (" << claims->sub
338
+ << ") than itself.";
340
339
  return GRPC_JWT_VERIFIER_BAD_SUBJECT;
341
340
  }
342
341
 
@@ -346,9 +345,9 @@ grpc_jwt_verifier_status grpc_jwt_claims_check(const grpc_jwt_claims* claims,
346
345
  audience_ok = claims->aud != nullptr && strcmp(audience, claims->aud) == 0;
347
346
  }
348
347
  if (!audience_ok) {
349
- gpr_log(GPR_ERROR, "Audience mismatch: expected %s and found %s.",
350
- audience == nullptr ? "NULL" : audience,
351
- claims->aud == nullptr ? "NULL" : claims->aud);
348
+ LOG(ERROR) << "Audience mismatch: expected "
349
+ << (audience == nullptr ? "NULL" : audience) << " and found "
350
+ << (claims->aud == nullptr ? "NULL" : claims->aud);
352
351
  return GRPC_JWT_VERIFIER_BAD_AUDIENCE;
353
352
  }
354
353
  return GRPC_JWT_VERIFIER_OK;
@@ -430,18 +429,17 @@ struct grpc_jwt_verifier {
430
429
 
431
430
  static Json json_from_http(const grpc_http_response* response) {
432
431
  if (response == nullptr) {
433
- gpr_log(GPR_ERROR, "HTTP response is NULL.");
432
+ LOG(ERROR) << "HTTP response is NULL.";
434
433
  return Json(); // JSON null
435
434
  }
436
435
  if (response->status != 200) {
437
- gpr_log(GPR_ERROR, "Call to http server failed with error %d.",
438
- response->status);
436
+ LOG(ERROR) << "Call to http server failed with error " << response->status;
439
437
  return Json(); // JSON null
440
438
  }
441
439
  auto json = grpc_core::JsonParse(
442
440
  absl::string_view(response->body, response->body_length));
443
441
  if (!json.ok()) {
444
- gpr_log(GPR_ERROR, "Invalid JSON found in response.");
442
+ LOG(ERROR) << "Invalid JSON found in response.";
445
443
  return Json(); // JSON null
446
444
  }
447
445
  return std::move(*json);
@@ -464,12 +462,12 @@ static EVP_PKEY* extract_pkey_from_x509(const char* x509_str) {
464
462
  BIO_write(bio, x509_str, static_cast<int>(len));
465
463
  x509 = PEM_read_bio_X509(bio, nullptr, nullptr, nullptr);
466
464
  if (x509 == nullptr) {
467
- gpr_log(GPR_ERROR, "Unable to parse x509 cert.");
465
+ LOG(ERROR) << "Unable to parse x509 cert.";
468
466
  goto end;
469
467
  }
470
468
  result = X509_get_pubkey(x509);
471
469
  if (result == nullptr) {
472
- gpr_log(GPR_ERROR, "Cannot find public key in X509 cert.");
470
+ LOG(ERROR) << "Cannot find public key in X509 cert.";
473
471
  }
474
472
 
475
473
  end:
@@ -482,7 +480,7 @@ static BIGNUM* bignum_from_base64(const char* b64) {
482
480
  if (b64 == nullptr) return nullptr;
483
481
  std::string string;
484
482
  if (!absl::WebSafeBase64Unescape(b64, &string)) {
485
- gpr_log(GPR_ERROR, "Invalid base64 for big num.");
483
+ LOG(ERROR) << "Invalid base64 for big num.";
486
484
  return nullptr;
487
485
  }
488
486
  return BN_bin2bn(reinterpret_cast<const uint8_t*>(string.data()),
@@ -534,33 +532,33 @@ static EVP_PKEY* pkey_from_jwk(const Json& json, const char* kty) {
534
532
  CHECK(json.type() == Json::Type::kObject);
535
533
  CHECK_NE(kty, nullptr);
536
534
  if (strcmp(kty, "RSA") != 0) {
537
- gpr_log(GPR_ERROR, "Unsupported key type %s.", kty);
535
+ LOG(ERROR) << "Unsupported key type " << kty;
538
536
  goto end;
539
537
  }
540
538
  #if OPENSSL_VERSION_NUMBER < 0x30000000L
541
539
  rsa = RSA_new();
542
540
  if (rsa == nullptr) {
543
- gpr_log(GPR_ERROR, "Could not create rsa key.");
541
+ LOG(ERROR) << "Could not create rsa key.";
544
542
  goto end;
545
543
  }
546
544
  #endif
547
545
  it = json.object().find("n");
548
546
  if (it == json.object().end()) {
549
- gpr_log(GPR_ERROR, "Missing RSA public key field.");
547
+ LOG(ERROR) << "Missing RSA public key field.";
550
548
  goto end;
551
549
  }
552
550
  tmp_n = bignum_from_base64(validate_string_field(it->second, "n"));
553
551
  if (tmp_n == nullptr) goto end;
554
552
  it = json.object().find("e");
555
553
  if (it == json.object().end()) {
556
- gpr_log(GPR_ERROR, "Missing RSA public key field.");
554
+ LOG(ERROR) << "Missing RSA public key field.";
557
555
  goto end;
558
556
  }
559
557
  tmp_e = bignum_from_base64(validate_string_field(it->second, "e"));
560
558
  if (tmp_e == nullptr) goto end;
561
559
  #if OPENSSL_VERSION_NUMBER < 0x30000000L
562
560
  if (!RSA_set0_key(rsa, tmp_n, tmp_e, nullptr)) {
563
- gpr_log(GPR_ERROR, "Cannot set RSA key from inputs.");
561
+ LOG(ERROR) << "Cannot set RSA key from inputs.";
564
562
  goto end;
565
563
  }
566
564
  // RSA_set0_key takes ownership on success.
@@ -573,21 +571,21 @@ static EVP_PKEY* pkey_from_jwk(const Json& json, const char* kty) {
573
571
  if (!OSSL_PARAM_BLD_push_BN(bld, "n", tmp_n) ||
574
572
  !OSSL_PARAM_BLD_push_BN(bld, "e", tmp_e) ||
575
573
  (params = OSSL_PARAM_BLD_to_param(bld)) == NULL) {
576
- gpr_log(GPR_ERROR, "Could not create OSSL_PARAM");
574
+ LOG(ERROR) << "Could not create OSSL_PARAM";
577
575
  goto end;
578
576
  }
579
577
 
580
578
  ctx = EVP_PKEY_CTX_new_from_name(nullptr, "RSA", nullptr);
581
579
  if (ctx == nullptr) {
582
- gpr_log(GPR_ERROR, "Could not create rsa key.");
580
+ LOG(ERROR) << "Could not create rsa key.";
583
581
  goto end;
584
582
  }
585
583
  if (EVP_PKEY_fromdata_init(ctx) <= 0) {
586
- gpr_log(GPR_ERROR, "Could not create rsa key.");
584
+ LOG(ERROR) << "Could not create rsa key.";
587
585
  goto end;
588
586
  }
589
587
  if (EVP_PKEY_fromdata(ctx, &result, EVP_PKEY_KEYPAIR, params) <= 0) {
590
- gpr_log(GPR_ERROR, "Cannot set RSA key from inputs.");
588
+ LOG(ERROR) << "Cannot set RSA key from inputs.";
591
589
  goto end;
592
590
  }
593
591
  #endif
@@ -618,8 +616,7 @@ static EVP_PKEY* find_verification_key(const Json& json, const char* header_alg,
618
616
  return extract_pkey_from_x509(cur->string().c_str());
619
617
  }
620
618
  if (jwt_keys->type() != Json::Type::kArray) {
621
- gpr_log(GPR_ERROR,
622
- "Unexpected value type of keys property in jwks key set.");
619
+ LOG(ERROR) << "Unexpected value type of keys property in jwks key set.";
623
620
  return nullptr;
624
621
  }
625
622
  // Key format is specified in:
@@ -646,9 +643,8 @@ static EVP_PKEY* find_verification_key(const Json& json, const char* header_alg,
646
643
  return pkey_from_jwk(jkey, kty);
647
644
  }
648
645
  }
649
- gpr_log(GPR_ERROR,
650
- "Could not find matching key in key set for kid=%s and alg=%s",
651
- header_kid, header_alg);
646
+ LOG(ERROR) << "Could not find matching key in key set for kid=" << header_kid
647
+ << " and alg=" << header_alg;
652
648
  return nullptr;
653
649
  }
654
650
 
@@ -661,21 +657,21 @@ static int verify_jwt_signature(EVP_PKEY* key, const char* alg,
661
657
 
662
658
  CHECK_NE(md, nullptr); // Checked before.
663
659
  if (md_ctx == nullptr) {
664
- gpr_log(GPR_ERROR, "Could not create EVP_MD_CTX.");
660
+ LOG(ERROR) << "Could not create EVP_MD_CTX.";
665
661
  goto end;
666
662
  }
667
663
  if (EVP_DigestVerifyInit(md_ctx, nullptr, md, nullptr, key) != 1) {
668
- gpr_log(GPR_ERROR, "EVP_DigestVerifyInit failed.");
664
+ LOG(ERROR) << "EVP_DigestVerifyInit failed.";
669
665
  goto end;
670
666
  }
671
667
  if (EVP_DigestVerifyUpdate(md_ctx, GRPC_SLICE_START_PTR(signed_data),
672
668
  GRPC_SLICE_LENGTH(signed_data)) != 1) {
673
- gpr_log(GPR_ERROR, "EVP_DigestVerifyUpdate failed.");
669
+ LOG(ERROR) << "EVP_DigestVerifyUpdate failed.";
674
670
  goto end;
675
671
  }
676
672
  if (EVP_DigestVerifyFinal(md_ctx, GRPC_SLICE_START_PTR(signature),
677
673
  GRPC_SLICE_LENGTH(signature)) != 1) {
678
- gpr_log(GPR_ERROR, "JWT signature verification failed.");
674
+ LOG(ERROR) << "JWT signature verification failed.";
679
675
 
680
676
  goto end;
681
677
  }
@@ -700,8 +696,8 @@ static void on_keys_retrieved(void* user_data, grpc_error_handle /*error*/) {
700
696
  verification_key =
701
697
  find_verification_key(json, ctx->header->alg, ctx->header->kid);
702
698
  if (verification_key == nullptr) {
703
- gpr_log(GPR_ERROR, "Could not find verification key with kid %s.",
704
- ctx->header->kid);
699
+ LOG(ERROR) << "Could not find verification key with kid "
700
+ << ctx->header->kid;
705
701
  status = GRPC_JWT_VERIFIER_KEY_RETRIEVAL_ERROR;
706
702
  goto end;
707
703
  }
@@ -742,13 +738,13 @@ static void on_openid_config_retrieved(void* user_data,
742
738
  if (json.type() == Json::Type::kNull) goto error;
743
739
  cur = find_property_by_name(json, "jwks_uri");
744
740
  if (cur == nullptr) {
745
- gpr_log(GPR_ERROR, "Could not find jwks_uri in openid config.");
741
+ LOG(ERROR) << "Could not find jwks_uri in openid config.";
746
742
  goto error;
747
743
  }
748
744
  jwks_uri = validate_string_field(*cur, "jwks_uri");
749
745
  if (jwks_uri == nullptr) goto error;
750
746
  if (strstr(jwks_uri, "https://") != jwks_uri) {
751
- gpr_log(GPR_ERROR, "Invalid non https jwks_uri: %s.", jwks_uri);
747
+ LOG(ERROR) << "Invalid non https jwks_uri: " << jwks_uri;
752
748
  goto error;
753
749
  }
754
750
  jwks_uri += 8;
@@ -843,11 +839,11 @@ static void retrieve_key_and_verify(verifier_cb_ctx* ctx) {
843
839
  CHECK(ctx != nullptr && ctx->header != nullptr && ctx->claims != nullptr);
844
840
  iss = ctx->claims->iss;
845
841
  if (ctx->header->kid == nullptr) {
846
- gpr_log(GPR_ERROR, "Missing kid in jose header.");
842
+ LOG(ERROR) << "Missing kid in jose header.";
847
843
  goto error;
848
844
  }
849
845
  if (iss == nullptr) {
850
- gpr_log(GPR_ERROR, "Missing iss in claims.");
846
+ LOG(ERROR) << "Missing iss in claims.";
851
847
  goto error;
852
848
  }
853
849
 
@@ -862,7 +858,7 @@ static void retrieve_key_and_verify(verifier_cb_ctx* ctx) {
862
858
  CHECK_NE(ctx->verifier, nullptr);
863
859
  mapping = verifier_get_mapping(ctx->verifier, email_domain);
864
860
  if (mapping == nullptr) {
865
- gpr_log(GPR_ERROR, "Missing mapping for issuer email.");
861
+ LOG(ERROR) << "Missing mapping for issuer email.";
866
862
  goto error;
867
863
  }
868
864
  host = gpr_strdup(mapping->key_url_prefix);
@@ -26,7 +26,7 @@
26
26
 
27
27
  #include "src/core/lib/gprpp/time.h"
28
28
  #include "src/core/lib/iomgr/iomgr_fwd.h"
29
- #include "src/core/lib/json/json.h"
29
+ #include "src/core/util/json/json.h"
30
30
 
31
31
  // --- Constants. ---
32
32
 
@@ -26,11 +26,11 @@
26
26
  #include <grpc/support/port_platform.h>
27
27
 
28
28
  #include "src/core/lib/channel/channel_args.h"
29
- #include "src/core/lib/gpr/useful.h"
30
29
  #include "src/core/lib/gprpp/ref_counted_ptr.h"
31
30
  #include "src/core/lib/gprpp/unique_type_name.h"
32
31
  #include "src/core/lib/security/credentials/credentials.h"
33
32
  #include "src/core/lib/security/security_connector/security_connector.h"
33
+ #include "src/core/util/useful.h"
34
34
 
35
35
  // Main class for grpc local channel credential.
36
36
  class grpc_local_credentials final : public grpc_channel_credentials {
@@ -28,6 +28,7 @@
28
28
  #include <vector>
29
29
 
30
30
  #include "absl/log/check.h"
31
+ #include "absl/log/log.h"
31
32
  #include "absl/status/status.h"
32
33
  #include "absl/strings/str_cat.h"
33
34
  #include "absl/strings/str_format.h"
@@ -50,11 +51,8 @@
50
51
  #include "src/core/lib/gprpp/memory.h"
51
52
  #include "src/core/lib/gprpp/ref_counted_ptr.h"
52
53
  #include "src/core/lib/gprpp/status_helper.h"
53
- #include "src/core/lib/http/httpcli_ssl_credentials.h"
54
54
  #include "src/core/lib/iomgr/error.h"
55
55
  #include "src/core/lib/iomgr/pollset_set.h"
56
- #include "src/core/lib/json/json.h"
57
- #include "src/core/lib/json/json_reader.h"
58
56
  #include "src/core/lib/promise/context.h"
59
57
  #include "src/core/lib/promise/poll.h"
60
58
  #include "src/core/lib/promise/promise.h"
@@ -63,6 +61,9 @@
63
61
  #include "src/core/lib/transport/error_utils.h"
64
62
  #include "src/core/lib/transport/metadata_batch.h"
65
63
  #include "src/core/lib/uri/uri_parser.h"
64
+ #include "src/core/util/http_client/httpcli_ssl_credentials.h"
65
+ #include "src/core/util/json/json.h"
66
+ #include "src/core/util/json/json_reader.h"
66
67
 
67
68
  using grpc_core::Json;
68
69
 
@@ -86,7 +87,7 @@ grpc_auth_refresh_token grpc_auth_refresh_token_create_from_json(
86
87
  memset(&result, 0, sizeof(grpc_auth_refresh_token));
87
88
  result.type = GRPC_AUTH_JSON_TYPE_INVALID;
88
89
  if (json.type() != Json::Type::kObject) {
89
- gpr_log(GPR_ERROR, "Invalid json.");
90
+ LOG(ERROR) << "Invalid json.";
90
91
  goto end;
91
92
  }
92
93
 
@@ -161,7 +162,7 @@ grpc_oauth2_token_fetcher_credentials_parse_server_response(
161
162
  grpc_credentials_status status = GRPC_CREDENTIALS_OK;
162
163
 
163
164
  if (response == nullptr) {
164
- gpr_log(GPR_ERROR, "Received NULL response.");
165
+ LOG(ERROR) << "Received NULL response.";
165
166
  status = GRPC_CREDENTIALS_ERROR;
166
167
  goto end;
167
168
  }
@@ -193,14 +194,14 @@ grpc_oauth2_token_fetcher_credentials_parse_server_response(
193
194
  goto end;
194
195
  }
195
196
  if (json->type() != Json::Type::kObject) {
196
- gpr_log(GPR_ERROR, "Response should be a JSON object");
197
+ LOG(ERROR) << "Response should be a JSON object";
197
198
  status = GRPC_CREDENTIALS_ERROR;
198
199
  goto end;
199
200
  }
200
201
  it = json->object().find("access_token");
201
202
  if (it == json->object().end() ||
202
203
  it->second.type() != Json::Type::kString) {
203
- gpr_log(GPR_ERROR, "Missing or invalid access_token in JSON.");
204
+ LOG(ERROR) << "Missing or invalid access_token in JSON.";
204
205
  status = GRPC_CREDENTIALS_ERROR;
205
206
  goto end;
206
207
  }
@@ -208,7 +209,7 @@ grpc_oauth2_token_fetcher_credentials_parse_server_response(
208
209
  it = json->object().find("token_type");
209
210
  if (it == json->object().end() ||
210
211
  it->second.type() != Json::Type::kString) {
211
- gpr_log(GPR_ERROR, "Missing or invalid token_type in JSON.");
212
+ LOG(ERROR) << "Missing or invalid token_type in JSON.";
212
213
  status = GRPC_CREDENTIALS_ERROR;
213
214
  goto end;
214
215
  }
@@ -216,7 +217,7 @@ grpc_oauth2_token_fetcher_credentials_parse_server_response(
216
217
  it = json->object().find("expires_in");
217
218
  if (it == json->object().end() ||
218
219
  it->second.type() != Json::Type::kNumber) {
219
- gpr_log(GPR_ERROR, "Missing or invalid expires_in in JSON.");
220
+ LOG(ERROR) << "Missing or invalid expires_in in JSON.";
220
221
  status = GRPC_CREDENTIALS_ERROR;
221
222
  goto end;
222
223
  }
@@ -479,7 +480,7 @@ grpc_core::RefCountedPtr<grpc_call_credentials>
479
480
  grpc_refresh_token_credentials_create_from_auth_refresh_token(
480
481
  grpc_auth_refresh_token refresh_token) {
481
482
  if (!grpc_auth_refresh_token_is_valid(&refresh_token)) {
482
- gpr_log(GPR_ERROR, "Invalid input for refresh token credentials creation");
483
+ LOG(ERROR) << "Invalid input for refresh token credentials creation";
483
484
  return nullptr;
484
485
  }
485
486
  return grpc_core::MakeRefCounted<grpc_google_refresh_token_credentials>(
@@ -512,7 +513,7 @@ grpc_call_credentials* grpc_google_refresh_token_credentials_create(
512
513
  const char* json_refresh_token, void* reserved) {
513
514
  grpc_auth_refresh_token token =
514
515
  grpc_auth_refresh_token_create_from_string(json_refresh_token);
515
- if (GRPC_TRACE_FLAG_ENABLED(grpc_api_trace)) {
516
+ if (GRPC_TRACE_FLAG_ENABLED(api)) {
516
517
  gpr_log(GPR_INFO,
517
518
  "grpc_refresh_token_credentials_create(json_refresh_token=%s, "
518
519
  "reserved=%p)",
@@ -32,24 +32,24 @@
32
32
  #include <grpc/support/sync.h>
33
33
  #include <grpc/support/time.h>
34
34
 
35
- #include "src/core/lib/gpr/useful.h"
36
35
  #include "src/core/lib/gprpp/orphanable.h"
37
36
  #include "src/core/lib/gprpp/ref_counted.h"
38
37
  #include "src/core/lib/gprpp/ref_counted_ptr.h"
39
38
  #include "src/core/lib/gprpp/time.h"
40
39
  #include "src/core/lib/gprpp/unique_type_name.h"
41
- #include "src/core/lib/http/httpcli.h"
42
- #include "src/core/lib/http/parser.h"
43
40
  #include "src/core/lib/iomgr/closure.h"
44
41
  #include "src/core/lib/iomgr/error.h"
45
42
  #include "src/core/lib/iomgr/polling_entity.h"
46
- #include "src/core/lib/json/json.h"
47
43
  #include "src/core/lib/promise/activity.h"
48
44
  #include "src/core/lib/promise/arena_promise.h"
49
45
  #include "src/core/lib/security/credentials/credentials.h"
50
46
  #include "src/core/lib/slice/slice.h"
51
47
  #include "src/core/lib/transport/transport.h"
52
48
  #include "src/core/lib/uri/uri_parser.h"
49
+ #include "src/core/util/http_client/httpcli.h"
50
+ #include "src/core/util/http_client/parser.h"
51
+ #include "src/core/util/json/json.h"
52
+ #include "src/core/util/useful.h"
53
53
 
54
54
  // Constants.
55
55
  #define GRPC_STS_POST_MINIMAL_BODY_FORMAT_STRING \
@@ -22,6 +22,7 @@
22
22
  #include <memory>
23
23
 
24
24
  #include "absl/log/check.h"
25
+ #include "absl/log/log.h"
25
26
  #include "absl/status/status.h"
26
27
  #include "absl/strings/str_cat.h"
27
28
  #include "absl/strings/string_view.h"
@@ -39,8 +40,6 @@
39
40
  #include "src/core/lib/surface/validate_metadata.h"
40
41
  #include "src/core/lib/transport/metadata_batch.h"
41
42
 
42
- grpc_core::TraceFlag grpc_plugin_credentials_trace(false, "plugin_credentials");
43
-
44
43
  grpc_plugin_credentials::~grpc_plugin_credentials() {
45
44
  if (plugin_.state != nullptr && plugin_.destroy != nullptr) {
46
45
  plugin_.destroy(plugin_.state);
@@ -83,7 +82,7 @@ grpc_plugin_credentials::PendingRequest::ProcessPluginResult(
83
82
  !GRPC_LOG_IF_ERROR(
84
83
  "validate_metadata_from_plugin",
85
84
  grpc_validate_header_nonbin_value_is_legal(md[i].value))) {
86
- gpr_log(GPR_ERROR, "Plugin added invalid metadata value.");
85
+ LOG(ERROR) << "Plugin added invalid metadata value.";
87
86
  seen_illegal_header = true;
88
87
  break;
89
88
  }
@@ -124,7 +123,7 @@ void grpc_plugin_credentials::PendingRequest::RequestMetadataReady(
124
123
  GRPC_EXEC_CTX_FLAG_THREAD_RESOURCE_LOOP);
125
124
  grpc_core::RefCountedPtr<grpc_plugin_credentials::PendingRequest> r(
126
125
  static_cast<grpc_plugin_credentials::PendingRequest*>(request));
127
- if (GRPC_TRACE_FLAG_ENABLED(grpc_plugin_credentials_trace)) {
126
+ if (GRPC_TRACE_FLAG_ENABLED(plugin_credentials)) {
128
127
  gpr_log(GPR_INFO,
129
128
  "plugin_credentials[%p]: request %p: plugin returned "
130
129
  "asynchronously",
@@ -155,7 +154,7 @@ grpc_plugin_credentials::GetRequestMetadata(
155
154
  RefAsSubclass<grpc_plugin_credentials>(), std::move(initial_metadata),
156
155
  args);
157
156
  // Invoke the plugin. The callback holds a ref to us.
158
- if (GRPC_TRACE_FLAG_ENABLED(grpc_plugin_credentials_trace)) {
157
+ if (GRPC_TRACE_FLAG_ENABLED(plugin_credentials)) {
159
158
  gpr_log(GPR_INFO, "plugin_credentials[%p]: request %p: invoking plugin",
160
159
  this, request.get());
161
160
  }
@@ -173,7 +172,7 @@ grpc_plugin_credentials::GetRequestMetadata(
173
172
  child_request.get(), creds_md, &num_creds_md,
174
173
  &status, &error_details)) {
175
174
  child_request.release();
176
- if (GRPC_TRACE_FLAG_ENABLED(grpc_plugin_credentials_trace)) {
175
+ if (GRPC_TRACE_FLAG_ENABLED(plugin_credentials)) {
177
176
  gpr_log(GPR_INFO,
178
177
  "plugin_credentials[%p]: request %p: plugin will return "
179
178
  "asynchronously",
@@ -182,7 +181,7 @@ grpc_plugin_credentials::GetRequestMetadata(
182
181
  return [request] { return request->PollAsyncResult(); };
183
182
  }
184
183
  // Synchronous return.
185
- if (GRPC_TRACE_FLAG_ENABLED(grpc_plugin_credentials_trace)) {
184
+ if (GRPC_TRACE_FLAG_ENABLED(plugin_credentials)) {
186
185
  gpr_log(GPR_INFO,
187
186
  "plugin_credentials[%p]: request %p: plugin returned "
188
187
  "synchronously",
@@ -36,7 +36,6 @@
36
36
  #include <grpc/support/port_platform.h>
37
37
 
38
38
  #include "src/core/lib/debug/trace.h"
39
- #include "src/core/lib/gpr/useful.h"
40
39
  #include "src/core/lib/gprpp/ref_counted.h"
41
40
  #include "src/core/lib/gprpp/ref_counted_ptr.h"
42
41
  #include "src/core/lib/gprpp/unique_type_name.h"
@@ -47,8 +46,7 @@
47
46
  #include "src/core/lib/security/credentials/credentials.h"
48
47
  #include "src/core/lib/slice/slice.h"
49
48
  #include "src/core/lib/transport/transport.h"
50
-
51
- extern grpc_core::TraceFlag grpc_plugin_credentials_trace;
49
+ #include "src/core/util/useful.h"
52
50
 
53
51
  // This type is forward declared as a C struct and we cannot define it as a
54
52
  // class. Otherwise, compiler will complain about type mismatch due to