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
@@ -21,18 +21,17 @@
21
21
  #include <inttypes.h>
22
22
 
23
23
  #include "absl/log/check.h"
24
+ #include "absl/log/log.h"
24
25
 
25
26
  #include <grpc/support/log.h>
26
27
  #include <grpc/support/port_platform.h>
27
28
 
28
- #include "src/core/lib/debug/stats.h"
29
- #include "src/core/lib/debug/stats_data.h"
30
29
  #include "src/core/lib/gprpp/crash.h"
30
+ #include "src/core/telemetry/stats.h"
31
+ #include "src/core/telemetry/stats_data.h"
31
32
 
32
33
  namespace grpc_core {
33
34
 
34
- DebugOnlyTraceFlag grpc_call_combiner_trace(false, "call_combiner");
35
-
36
35
  namespace {
37
36
 
38
37
  // grpc_error LSB can be used
@@ -115,7 +114,7 @@ void CallCombiner::ScheduleClosure(grpc_closure* closure,
115
114
 
116
115
  void CallCombiner::Start(grpc_closure* closure, grpc_error_handle error,
117
116
  DEBUG_ARGS const char* reason) {
118
- if (GRPC_TRACE_FLAG_ENABLED(grpc_call_combiner_trace)) {
117
+ if (GRPC_TRACE_FLAG_ENABLED(call_combiner)) {
119
118
  gpr_log(GPR_INFO,
120
119
  "==> CallCombiner::Start() [%p] closure=%s [" DEBUG_FMT_STR
121
120
  "%s] error=%s",
@@ -124,20 +123,16 @@ void CallCombiner::Start(grpc_closure* closure, grpc_error_handle error,
124
123
  }
125
124
  size_t prev_size =
126
125
  static_cast<size_t>(gpr_atm_full_fetch_add(&size_, (gpr_atm)1));
127
- if (GRPC_TRACE_FLAG_ENABLED(grpc_call_combiner_trace)) {
126
+ if (GRPC_TRACE_FLAG_ENABLED(call_combiner)) {
128
127
  gpr_log(GPR_INFO, " size: %" PRIdPTR " -> %" PRIdPTR, prev_size,
129
128
  prev_size + 1);
130
129
  }
131
130
  if (prev_size == 0) {
132
- if (GRPC_TRACE_FLAG_ENABLED(grpc_call_combiner_trace)) {
133
- gpr_log(GPR_INFO, " EXECUTING IMMEDIATELY");
134
- }
131
+ GRPC_TRACE_LOG(call_combiner, INFO) << " EXECUTING IMMEDIATELY";
135
132
  // Queue was empty, so execute this closure immediately.
136
133
  ScheduleClosure(closure, error);
137
134
  } else {
138
- if (GRPC_TRACE_FLAG_ENABLED(grpc_call_combiner_trace)) {
139
- gpr_log(GPR_INFO, " QUEUING");
140
- }
135
+ GRPC_TRACE_LOG(call_combiner, INFO) << " QUEUING";
141
136
  // Queue was not empty, so add closure to queue.
142
137
  closure->error_data.error = internal::StatusAllocHeapPtr(error);
143
138
  queue_.Push(
@@ -146,45 +141,41 @@ void CallCombiner::Start(grpc_closure* closure, grpc_error_handle error,
146
141
  }
147
142
 
148
143
  void CallCombiner::Stop(DEBUG_ARGS const char* reason) {
149
- if (GRPC_TRACE_FLAG_ENABLED(grpc_call_combiner_trace)) {
144
+ if (GRPC_TRACE_FLAG_ENABLED(call_combiner)) {
150
145
  gpr_log(GPR_INFO, "==> CallCombiner::Stop() [%p] [" DEBUG_FMT_STR "%s]",
151
146
  this DEBUG_FMT_ARGS, reason);
152
147
  }
153
148
  size_t prev_size =
154
149
  static_cast<size_t>(gpr_atm_full_fetch_add(&size_, (gpr_atm)-1));
155
- if (GRPC_TRACE_FLAG_ENABLED(grpc_call_combiner_trace)) {
150
+ if (GRPC_TRACE_FLAG_ENABLED(call_combiner)) {
156
151
  gpr_log(GPR_INFO, " size: %" PRIdPTR " -> %" PRIdPTR, prev_size,
157
152
  prev_size - 1);
158
153
  }
159
154
  CHECK_GE(prev_size, 1u);
160
155
  if (prev_size > 1) {
161
156
  while (true) {
162
- if (GRPC_TRACE_FLAG_ENABLED(grpc_call_combiner_trace)) {
163
- gpr_log(GPR_INFO, " checking queue");
164
- }
157
+ GRPC_TRACE_LOG(call_combiner, INFO) << " checking queue";
165
158
  bool empty;
166
159
  grpc_closure* closure =
167
160
  reinterpret_cast<grpc_closure*>(queue_.PopAndCheckEnd(&empty));
168
161
  if (closure == nullptr) {
169
162
  // This can happen either due to a race condition within the mpscq
170
163
  // code or because of a race with Start().
171
- if (GRPC_TRACE_FLAG_ENABLED(grpc_call_combiner_trace)) {
172
- gpr_log(GPR_INFO, " queue returned no result; checking again");
173
- }
164
+ GRPC_TRACE_LOG(call_combiner, INFO)
165
+ << " queue returned no result; checking again";
174
166
  continue;
175
167
  }
176
168
  grpc_error_handle error =
177
169
  internal::StatusMoveFromHeapPtr(closure->error_data.error);
178
170
  closure->error_data.error = 0;
179
- if (GRPC_TRACE_FLAG_ENABLED(grpc_call_combiner_trace)) {
171
+ if (GRPC_TRACE_FLAG_ENABLED(call_combiner)) {
180
172
  gpr_log(GPR_INFO, " EXECUTING FROM QUEUE: closure=%s error=%s",
181
173
  closure->DebugString().c_str(), StatusToString(error).c_str());
182
174
  }
183
175
  ScheduleClosure(closure, error);
184
176
  break;
185
177
  }
186
- } else if (GRPC_TRACE_FLAG_ENABLED(grpc_call_combiner_trace)) {
187
- gpr_log(GPR_INFO, " queue empty");
178
+ GRPC_TRACE_LOG(call_combiner, INFO) << " queue empty";
188
179
  }
189
180
  }
190
181
 
@@ -196,7 +187,7 @@ void CallCombiner::SetNotifyOnCancel(grpc_closure* closure) {
196
187
  // If error is set, invoke the cancellation closure immediately.
197
188
  // Otherwise, store the new closure.
198
189
  if (!original_error.ok()) {
199
- if (GRPC_TRACE_FLAG_ENABLED(grpc_call_combiner_trace)) {
190
+ if (GRPC_TRACE_FLAG_ENABLED(call_combiner)) {
200
191
  gpr_log(GPR_INFO,
201
192
  "call_combiner=%p: scheduling notify_on_cancel callback=%p "
202
193
  "for pre-existing cancellation",
@@ -207,7 +198,7 @@ void CallCombiner::SetNotifyOnCancel(grpc_closure* closure) {
207
198
  } else {
208
199
  if (gpr_atm_full_cas(&cancel_state_, original_state,
209
200
  reinterpret_cast<gpr_atm>(closure))) {
210
- if (GRPC_TRACE_FLAG_ENABLED(grpc_call_combiner_trace)) {
201
+ if (GRPC_TRACE_FLAG_ENABLED(call_combiner)) {
211
202
  gpr_log(GPR_INFO, "call_combiner=%p: setting notify_on_cancel=%p",
212
203
  this, closure);
213
204
  }
@@ -216,7 +207,7 @@ void CallCombiner::SetNotifyOnCancel(grpc_closure* closure) {
216
207
  // up any resources they may be holding for the callback.
217
208
  if (original_state != 0) {
218
209
  closure = reinterpret_cast<grpc_closure*>(original_state);
219
- if (GRPC_TRACE_FLAG_ENABLED(grpc_call_combiner_trace)) {
210
+ if (GRPC_TRACE_FLAG_ENABLED(call_combiner)) {
220
211
  gpr_log(GPR_INFO,
221
212
  "call_combiner=%p: scheduling old cancel callback=%p", this,
222
213
  closure);
@@ -244,7 +235,7 @@ void CallCombiner::Cancel(grpc_error_handle error) {
244
235
  if (original_state != 0) {
245
236
  grpc_closure* notify_on_cancel =
246
237
  reinterpret_cast<grpc_closure*>(original_state);
247
- if (GRPC_TRACE_FLAG_ENABLED(grpc_call_combiner_trace)) {
238
+ if (GRPC_TRACE_FLAG_ENABLED(call_combiner)) {
248
239
  gpr_log(GPR_INFO,
249
240
  "call_combiner=%p: scheduling notify_on_cancel callback=%p",
250
241
  this, notify_on_cancel);
@@ -44,8 +44,6 @@
44
44
 
45
45
  namespace grpc_core {
46
46
 
47
- extern DebugOnlyTraceFlag grpc_call_combiner_trace;
48
-
49
47
  class CallCombiner {
50
48
  public:
51
49
  CallCombiner();
@@ -167,7 +165,7 @@ class CallCombinerClosureList {
167
165
  GRPC_CALL_COMBINER_START(call_combiner, closure.closure, closure.error,
168
166
  closure.reason);
169
167
  }
170
- if (GRPC_TRACE_FLAG_ENABLED(grpc_call_combiner_trace)) {
168
+ if (GRPC_TRACE_FLAG_ENABLED(call_combiner)) {
171
169
  gpr_log(GPR_INFO,
172
170
  "CallCombinerClosureList executing closure while already "
173
171
  "holding call_combiner %p: closure=%s error=%s reason=%s",
@@ -35,8 +35,6 @@
35
35
  #include "src/core/lib/iomgr/ev_apple.h"
36
36
  #include "src/core/lib/iomgr/exec_ctx.h"
37
37
 
38
- extern grpc_core::TraceFlag grpc_tcp_trace;
39
-
40
38
  GrpcLibraryInitHolder::GrpcLibraryInitHolder() { grpc_init(); }
41
39
 
42
40
  GrpcLibraryInitHolder::~GrpcLibraryInitHolder() { grpc_shutdown(); }
@@ -65,7 +63,7 @@ void CFStreamHandle::ReadCallback(CFReadStreamRef stream,
65
63
  grpc_error_handle error;
66
64
  CFErrorRef stream_error;
67
65
  CFStreamHandle* handle = static_cast<CFStreamHandle*>(client_callback_info);
68
- if (grpc_tcp_trace.enabled()) {
66
+ if (GRPC_TRACE_FLAG_ENABLED(tcp)) {
69
67
  gpr_log(GPR_DEBUG, "CFStream ReadCallback (%p, %p, %lu, %p)", handle,
70
68
  stream, type, client_callback_info);
71
69
  }
@@ -99,7 +97,7 @@ void CFStreamHandle::WriteCallback(CFWriteStreamRef stream,
99
97
  grpc_error_handle error;
100
98
  CFErrorRef stream_error;
101
99
  CFStreamHandle* handle = static_cast<CFStreamHandle*>(clientCallBackInfo);
102
- if (grpc_tcp_trace.enabled()) {
100
+ if (GRPC_TRACE_FLAG_ENABLED(tcp)) {
103
101
  gpr_log(GPR_DEBUG, "CFStream WriteCallback (%p, %p, %lu, %p)", handle,
104
102
  stream, type, clientCallBackInfo);
105
103
  }
@@ -176,7 +174,7 @@ void CFStreamHandle::Shutdown(grpc_error_handle error) {
176
174
  }
177
175
 
178
176
  void CFStreamHandle::Ref(const char* file, int line, const char* reason) {
179
- if (grpc_tcp_trace.enabled()) {
177
+ if (GRPC_TRACE_FLAG_ENABLED(tcp)) {
180
178
  gpr_atm val = gpr_atm_no_barrier_load(&refcount_.count);
181
179
  gpr_log(file, line, GPR_LOG_SEVERITY_DEBUG,
182
180
  "CFStream Handle ref %p : %s %" PRIdPTR " -> %" PRIdPTR, this,
@@ -186,7 +184,7 @@ void CFStreamHandle::Ref(const char* file, int line, const char* reason) {
186
184
  }
187
185
 
188
186
  void CFStreamHandle::Unref(const char* file, int line, const char* reason) {
189
- if (grpc_tcp_trace.enabled()) {
187
+ if (GRPC_TRACE_FLAG_ENABLED(tcp)) {
190
188
  gpr_atm val = gpr_atm_no_barrier_load(&refcount_.count);
191
189
  gpr_log(file, line, GPR_LOG_SEVERITY_DEBUG,
192
190
  "CFStream Handle unref %p : %s %" PRIdPTR " -> %" PRIdPTR, this,
@@ -37,8 +37,6 @@
37
37
  struct grpc_closure;
38
38
  typedef struct grpc_closure grpc_closure;
39
39
 
40
- extern grpc_core::DebugOnlyTraceFlag grpc_trace_closure;
41
-
42
40
  typedef struct grpc_closure_list {
43
41
  grpc_closure* head;
44
42
  grpc_closure* tail;
@@ -294,7 +292,7 @@ class Closure {
294
292
  return;
295
293
  }
296
294
  #ifndef NDEBUG
297
- if (grpc_trace_closure.enabled()) {
295
+ if (GRPC_TRACE_FLAG_ENABLED(closure)) {
298
296
  gpr_log(GPR_DEBUG, "running closure %p: created [%s:%d]: run [%s:%d]",
299
297
  closure, closure->file_created, closure->line_created,
300
298
  location.file(), location.line());
@@ -303,7 +301,7 @@ class Closure {
303
301
  #endif
304
302
  closure->cb(closure->cb_arg, error);
305
303
  #ifndef NDEBUG
306
- if (grpc_trace_closure.enabled()) {
304
+ if (GRPC_TRACE_FLAG_ENABLED(closure)) {
307
305
  gpr_log(GPR_DEBUG, "closure %p finished", closure);
308
306
  }
309
307
  #endif
@@ -34,13 +34,11 @@
34
34
  #include "src/core/lib/iomgr/executor.h"
35
35
  #include "src/core/lib/iomgr/iomgr_internal.h"
36
36
 
37
- grpc_core::DebugOnlyTraceFlag grpc_combiner_trace(false, "combiner");
38
-
39
- #define GRPC_COMBINER_TRACE(fn) \
40
- do { \
41
- if (grpc_combiner_trace.enabled()) { \
42
- fn; \
43
- } \
37
+ #define GRPC_COMBINER_TRACE(fn) \
38
+ do { \
39
+ if (GRPC_TRACE_FLAG_ENABLED(combiner)) { \
40
+ fn; \
41
+ } \
44
42
  } while (0)
45
43
 
46
44
  #define STATE_UNORPHANED 1
@@ -81,7 +79,7 @@ static void start_destroy(grpc_core::Combiner* lock) {
81
79
 
82
80
  #ifndef NDEBUG
83
81
  #define GRPC_COMBINER_DEBUG_SPAM(op, delta) \
84
- if (grpc_combiner_trace.enabled()) { \
82
+ if (GRPC_TRACE_FLAG_ENABLED(combiner)) { \
85
83
  gpr_log(file, line, GPR_LOG_SEVERITY_DEBUG, \
86
84
  "C:%p %s %" PRIdPTR " --> %" PRIdPTR " %s", lock, (op), \
87
85
  gpr_atm_no_barrier_load(&lock->refs.count), \
@@ -88,6 +88,4 @@ void grpc_combiner_unref(grpc_core::Combiner* lock GRPC_COMBINER_DEBUG_ARGS);
88
88
 
89
89
  bool grpc_combiner_continue_exec_ctx();
90
90
 
91
- extern grpc_core::DebugOnlyTraceFlag grpc_combiner_trace;
92
-
93
91
  #endif // GRPC_SRC_CORE_LIB_IOMGR_COMBINER_H
@@ -20,8 +20,6 @@
20
20
 
21
21
  #include <grpc/support/port_platform.h>
22
22
 
23
- grpc_core::TraceFlag grpc_tcp_trace(false, "tcp");
24
-
25
23
  void grpc_endpoint_read(grpc_endpoint* ep, grpc_slice_buffer* slices,
26
24
  grpc_closure* cb, bool urgent, int min_progress_size) {
27
25
  ep->vtable->read(ep, slices, cb, urgent, min_progress_size);
@@ -46,10 +44,6 @@ void grpc_endpoint_delete_from_pollset_set(grpc_endpoint* ep,
46
44
  ep->vtable->delete_from_pollset_set(ep, pollset_set);
47
45
  }
48
46
 
49
- void grpc_endpoint_shutdown(grpc_endpoint* ep, grpc_error_handle why) {
50
- ep->vtable->shutdown(ep, why);
51
- }
52
-
53
47
  void grpc_endpoint_destroy(grpc_endpoint* ep) { ep->vtable->destroy(ep); }
54
48
 
55
49
  absl::string_view grpc_endpoint_get_peer(grpc_endpoint* ep) {
@@ -43,7 +43,6 @@ struct grpc_endpoint_vtable {
43
43
  void (*add_to_pollset)(grpc_endpoint* ep, grpc_pollset* pollset);
44
44
  void (*add_to_pollset_set)(grpc_endpoint* ep, grpc_pollset_set* pollset);
45
45
  void (*delete_from_pollset_set)(grpc_endpoint* ep, grpc_pollset_set* pollset);
46
- void (*shutdown)(grpc_endpoint* ep, grpc_error_handle why);
47
46
  void (*destroy)(grpc_endpoint* ep);
48
47
  absl::string_view (*get_peer)(grpc_endpoint* ep);
49
48
  absl::string_view (*get_local_address)(grpc_endpoint* ep);
@@ -86,7 +85,6 @@ void grpc_endpoint_write(grpc_endpoint* ep, grpc_slice_buffer* slices,
86
85
 
87
86
  // Causes any pending and future read/write callbacks to run immediately with
88
87
  // success==0
89
- void grpc_endpoint_shutdown(grpc_endpoint* ep, grpc_error_handle why);
90
88
  void grpc_endpoint_destroy(grpc_endpoint* ep);
91
89
 
92
90
  // Add an endpoint to a pollset or pollset_set, so that when the pollset is
@@ -31,7 +31,6 @@
31
31
  #include <grpc/support/string_util.h>
32
32
 
33
33
  #include "src/core/lib/address_utils/sockaddr_utils.h"
34
- #include "src/core/lib/gpr/string.h"
35
34
  #include "src/core/lib/iomgr/cfstream_handle.h"
36
35
  #include "src/core/lib/iomgr/closure.h"
37
36
  #include "src/core/lib/iomgr/endpoint.h"
@@ -41,8 +40,7 @@
41
40
  #include "src/core/lib/slice/slice.h"
42
41
  #include "src/core/lib/slice/slice_internal.h"
43
42
  #include "src/core/lib/slice/slice_string_helpers.h"
44
-
45
- extern grpc_core::TraceFlag grpc_tcp_trace;
43
+ #include "src/core/util/string.h"
46
44
 
47
45
  struct CFStreamEndpoint {
48
46
  grpc_endpoint base;
@@ -75,7 +73,7 @@ static void CFStreamFree(CFStreamEndpoint* ep) {
75
73
  #define EP_UNREF(ep, reason) CFStreamUnref((ep), (reason), __FILE__, __LINE__)
76
74
  static void CFStreamUnref(CFStreamEndpoint* ep, const char* reason,
77
75
  const char* file, int line) {
78
- if (grpc_tcp_trace.enabled()) {
76
+ if (GRPC_TRACE_FLAG_ENABLED(tcp)) {
79
77
  gpr_atm val = gpr_atm_no_barrier_load(&ep->refcount.count);
80
78
  gpr_log(file, line, GPR_LOG_SEVERITY_DEBUG,
81
79
  "CFStream endpoint unref %p : %s %" PRIdPTR " -> %" PRIdPTR, ep,
@@ -87,7 +85,7 @@ static void CFStreamUnref(CFStreamEndpoint* ep, const char* reason,
87
85
  }
88
86
  static void CFStreamRef(CFStreamEndpoint* ep, const char* reason,
89
87
  const char* file, int line) {
90
- if (grpc_tcp_trace.enabled()) {
88
+ if (GRPC_TRACE_FLAG_ENABLED(tcp)) {
91
89
  gpr_atm val = gpr_atm_no_barrier_load(&ep->refcount.count);
92
90
  gpr_log(file, line, GPR_LOG_SEVERITY_DEBUG,
93
91
  "CFStream endpoint ref %p : %s %" PRIdPTR " -> %" PRIdPTR, ep,
@@ -106,17 +104,13 @@ static void CFStreamUnref(CFStreamEndpoint* ep) {
106
104
  static void CFStreamRef(CFStreamEndpoint* ep) { gpr_ref(&ep->refcount); }
107
105
  #endif
108
106
 
109
- static grpc_error_handle CFStreamAnnotateError(grpc_error_handle src_error,
110
- CFStreamEndpoint* ep) {
111
- return grpc_error_set_str(
112
- grpc_error_set_int(src_error, grpc_core::StatusIntProperty::kRpcStatus,
113
- GRPC_STATUS_UNAVAILABLE),
114
- grpc_core::StatusStrProperty::kTargetAddress, ep->peer_string);
107
+ static grpc_error_handle CFStreamAnnotateError(grpc_error_handle src_error) {
108
+ return grpc_error_set_int(src_error, grpc_core::StatusIntProperty::kRpcStatus,
109
+ GRPC_STATUS_UNAVAILABLE);
115
110
  }
116
111
 
117
112
  static void CallReadCb(CFStreamEndpoint* ep, grpc_error_handle error) {
118
- if (GRPC_TRACE_FLAG_ENABLED(grpc_tcp_trace) &&
119
- gpr_should_log(GPR_LOG_SEVERITY_DEBUG)) {
113
+ if (GRPC_TRACE_FLAG_ENABLED(tcp) && ABSL_VLOG_IS_ON(2)) {
120
114
  gpr_log(GPR_DEBUG, "CFStream endpoint:%p call_read_cb %p %p:%p", ep,
121
115
  ep->read_cb, ep->read_cb->cb, ep->read_cb->cb_arg);
122
116
  size_t i;
@@ -138,7 +132,7 @@ static void CallReadCb(CFStreamEndpoint* ep, grpc_error_handle error) {
138
132
  }
139
133
 
140
134
  static void CallWriteCb(CFStreamEndpoint* ep, grpc_error_handle error) {
141
- if (grpc_tcp_trace.enabled()) {
135
+ if (GRPC_TRACE_FLAG_ENABLED(tcp)) {
142
136
  gpr_log(GPR_DEBUG, "CFStream endpoint:%p call_write_cb %p %p:%p", ep,
143
137
  ep->write_cb, ep->write_cb->cb, ep->write_cb->cb_arg);
144
138
  gpr_log(GPR_DEBUG, "write: error=%s",
@@ -170,7 +164,7 @@ static void ReadAction(void* arg, grpc_error_handle error) {
170
164
  CFErrorRef stream_error = CFReadStreamCopyError(ep->read_stream);
171
165
  if (stream_error != nullptr) {
172
166
  error = CFStreamAnnotateError(
173
- GRPC_ERROR_CREATE_FROM_CFERROR(stream_error, "Read error"), ep);
167
+ GRPC_ERROR_CREATE_FROM_CFERROR(stream_error, "Read error"));
174
168
  CFRelease(stream_error);
175
169
  } else {
176
170
  error = GRPC_ERROR_CREATE("Read error");
@@ -179,8 +173,7 @@ static void ReadAction(void* arg, grpc_error_handle error) {
179
173
  EP_UNREF(ep, "read");
180
174
  } else if (read_size == 0) {
181
175
  grpc_slice_buffer_reset_and_unref(ep->read_slices);
182
- CallReadCb(ep,
183
- CFStreamAnnotateError(GRPC_ERROR_CREATE("Socket closed"), ep));
176
+ CallReadCb(ep, CFStreamAnnotateError(GRPC_ERROR_CREATE("Socket closed")));
184
177
  EP_UNREF(ep, "read");
185
178
  } else {
186
179
  if (read_size < static_cast<CFIndex>(len)) {
@@ -209,7 +202,7 @@ static void WriteAction(void* arg, grpc_error_handle error) {
209
202
  CFErrorRef stream_error = CFWriteStreamCopyError(ep->write_stream);
210
203
  if (stream_error != nullptr) {
211
204
  error = CFStreamAnnotateError(
212
- GRPC_ERROR_CREATE_FROM_CFERROR(stream_error, "write failed."), ep);
205
+ GRPC_ERROR_CREATE_FROM_CFERROR(stream_error, "Write failed"));
213
206
  CFRelease(stream_error);
214
207
  } else {
215
208
  error = GRPC_ERROR_CREATE("write failed.");
@@ -228,8 +221,7 @@ static void WriteAction(void* arg, grpc_error_handle error) {
228
221
  EP_UNREF(ep, "write");
229
222
  }
230
223
 
231
- if (GRPC_TRACE_FLAG_ENABLED(grpc_tcp_trace) &&
232
- gpr_should_log(GPR_LOG_SEVERITY_DEBUG)) {
224
+ if (GRPC_TRACE_FLAG_ENABLED(tcp) && ABSL_VLOG_IS_ON(2)) {
233
225
  grpc_slice trace_slice = grpc_slice_sub(slice, 0, write_size);
234
226
  char* dump = grpc_dump_slice(trace_slice, GPR_DUMP_HEX | GPR_DUMP_ASCII);
235
227
  gpr_log(GPR_DEBUG, "WRITE %p (peer=%s): %s", ep, ep->peer_string.c_str(),
@@ -245,7 +237,7 @@ static void CFStreamRead(grpc_endpoint* ep, grpc_slice_buffer* slices,
245
237
  grpc_closure* cb, bool /*urgent*/,
246
238
  int /*min_progress_size*/) {
247
239
  CFStreamEndpoint* ep_impl = reinterpret_cast<CFStreamEndpoint*>(ep);
248
- if (grpc_tcp_trace.enabled()) {
240
+ if (GRPC_TRACE_FLAG_ENABLED(tcp)) {
249
241
  gpr_log(GPR_DEBUG, "CFStream endpoint:%p read (%p, %p) length:%zu", ep_impl,
250
242
  slices, cb, slices->length);
251
243
  }
@@ -263,7 +255,7 @@ static void CFStreamWrite(grpc_endpoint* ep, grpc_slice_buffer* slices,
263
255
  grpc_closure* cb, void* /*arg*/,
264
256
  int /*max_frame_size*/) {
265
257
  CFStreamEndpoint* ep_impl = reinterpret_cast<CFStreamEndpoint*>(ep);
266
- if (grpc_tcp_trace.enabled()) {
258
+ if (GRPC_TRACE_FLAG_ENABLED(tcp)) {
267
259
  gpr_log(GPR_DEBUG, "CFStream endpoint:%p write (%p, %p) length:%zu",
268
260
  ep_impl, slices, cb, slices->length);
269
261
  }
@@ -274,26 +266,13 @@ static void CFStreamWrite(grpc_endpoint* ep, grpc_slice_buffer* slices,
274
266
  ep_impl->stream_sync->NotifyOnWrite(&ep_impl->write_action);
275
267
  }
276
268
 
277
- void CFStreamShutdown(grpc_endpoint* ep, grpc_error_handle why) {
269
+ void CFStreamDestroy(grpc_endpoint* ep) {
278
270
  CFStreamEndpoint* ep_impl = reinterpret_cast<CFStreamEndpoint*>(ep);
279
- if (grpc_tcp_trace.enabled()) {
280
- gpr_log(GPR_DEBUG, "CFStream endpoint:%p shutdown (%s)", ep_impl,
281
- grpc_core::StatusToString(why).c_str());
282
- }
271
+ GRPC_TRACE_VLOG(tcp, 2) << "CFStream endpoint:" << ep_impl << " destroy";
283
272
  CFReadStreamClose(ep_impl->read_stream);
284
273
  CFWriteStreamClose(ep_impl->write_stream);
285
- ep_impl->stream_sync->Shutdown(why);
286
- if (grpc_tcp_trace.enabled()) {
287
- gpr_log(GPR_DEBUG, "CFStream endpoint:%p shutdown DONE (%s)", ep_impl,
288
- grpc_core::StatusToString(why).c_str());
289
- }
290
- }
291
-
292
- void CFStreamDestroy(grpc_endpoint* ep) {
293
- CFStreamEndpoint* ep_impl = reinterpret_cast<CFStreamEndpoint*>(ep);
294
- if (grpc_tcp_trace.enabled()) {
295
- gpr_log(GPR_DEBUG, "CFStream endpoint:%p destroy", ep_impl);
296
- }
274
+ ep_impl->stream_sync->Shutdown(absl::UnavailableError("endpoint shutdown"));
275
+ GRPC_TRACE_VLOG(tcp, 2) << "CFStream endpoint:" << ep_impl << " destroy DONE";
297
276
  EP_UNREF(ep_impl, "destroy");
298
277
  }
299
278
 
@@ -322,7 +301,6 @@ static const grpc_endpoint_vtable vtable = {CFStreamRead,
322
301
  CFStreamAddToPollset,
323
302
  CFStreamAddToPollsetSet,
324
303
  CFStreamDeleteFromPollsetSet,
325
- CFStreamShutdown,
326
304
  CFStreamDestroy,
327
305
  CFStreamGetPeer,
328
306
  CFStreamGetLocalAddress,
@@ -334,7 +312,7 @@ grpc_endpoint* grpc_cfstream_endpoint_create(CFReadStreamRef read_stream,
334
312
  const char* peer_string,
335
313
  CFStreamHandle* stream_sync) {
336
314
  CFStreamEndpoint* ep_impl = new CFStreamEndpoint;
337
- if (grpc_tcp_trace.enabled()) {
315
+ if (GRPC_TRACE_FLAG_ENABLED(tcp)) {
338
316
  gpr_log(GPR_DEBUG,
339
317
  "CFStream endpoint:%p create readStream:%p writeStream: %p",
340
318
  ep_impl, read_stream, write_stream);
@@ -37,13 +37,13 @@
37
37
  #include <grpc/support/log.h>
38
38
 
39
39
  #include "src/core/lib/event_engine/channel_args_endpoint_config.h"
40
- #include "src/core/lib/gpr/string.h"
41
40
  #include "src/core/lib/gprpp/crash.h"
42
41
  #include "src/core/lib/iomgr/endpoint_pair.h"
43
42
  #include "src/core/lib/iomgr/socket_utils_posix.h"
44
43
  #include "src/core/lib/iomgr/tcp_posix.h"
45
44
  #include "src/core/lib/iomgr/unix_sockets_posix.h"
46
45
  #include "src/core/lib/resource_quota/api.h"
46
+ #include "src/core/util/string.h"
47
47
 
48
48
  static void create_sockets(int sv[2]) {
49
49
  int flags;
@@ -26,8 +26,7 @@
26
26
  #include <string.h>
27
27
 
28
28
  #include "absl/log/check.h"
29
-
30
- #include <grpc/support/log.h>
29
+ #include "absl/log/log.h"
31
30
 
32
31
  #include "src/core/lib/address_utils/sockaddr_utils.h"
33
32
  #include "src/core/lib/gprpp/crash.h"
@@ -67,13 +66,13 @@ static void create_sockets(SOCKET sv[2]) {
67
66
  closesocket(lst_sock);
68
67
  grpc_error_handle error = grpc_tcp_prepare_socket(cli_sock);
69
68
  if (!error.ok()) {
70
- gpr_log(GPR_INFO, "Prepare cli_sock failed with error: %s",
71
- grpc_core::StatusToString(error).c_str());
69
+ LOG(INFO) << "Prepare cli_sock failed with error: "
70
+ << grpc_core::StatusToString(error);
72
71
  }
73
72
  error = grpc_tcp_prepare_socket(svr_sock);
74
73
  if (!error.ok()) {
75
- gpr_log(GPR_INFO, "Prepare svr_sock failed with error: %s",
76
- grpc_core::StatusToString(error).c_str());
74
+ LOG(INFO) << "Prepare svr_sock failed with error: "
75
+ << grpc_core::StatusToString(error);
77
76
  }
78
77
 
79
78
  sv[1] = cli_sock;
@@ -21,6 +21,7 @@
21
21
  #include <string.h>
22
22
 
23
23
  #include "absl/log/check.h"
24
+ #include "absl/strings/str_cat.h"
24
25
  #include "absl/strings/str_format.h"
25
26
 
26
27
  #include <grpc/status.h>
@@ -36,13 +37,9 @@
36
37
  #endif
37
38
 
38
39
  #include "src/core/lib/debug/trace.h"
39
- #include "src/core/lib/gpr/useful.h"
40
40
  #include "src/core/lib/gprpp/strerror.h"
41
41
  #include "src/core/lib/slice/slice_internal.h"
42
-
43
- grpc_core::DebugOnlyTraceFlag grpc_trace_error_refcount(false,
44
- "error_refcount");
45
- grpc_core::DebugOnlyTraceFlag grpc_trace_closure(false, "closure");
42
+ #include "src/core/util/useful.h"
46
43
 
47
44
  absl::Status grpc_status_create(absl::StatusCode code, absl::string_view msg,
48
45
  const grpc_core::DebugLocation& location,
@@ -58,15 +55,10 @@ absl::Status grpc_status_create(absl::StatusCode code, absl::string_view msg,
58
55
 
59
56
  absl::Status grpc_os_error(const grpc_core::DebugLocation& location, int err,
60
57
  const char* call_name) {
61
- auto err_string = grpc_core::StrError(err);
62
- absl::Status s =
63
- StatusCreate(absl::StatusCode::kUnknown, err_string, location, {});
64
- grpc_core::StatusSetInt(&s, grpc_core::StatusIntProperty::kErrorNo, err);
65
- grpc_core::StatusSetStr(&s, grpc_core::StatusStrProperty::kOsError,
66
- err_string);
67
- grpc_core::StatusSetStr(&s, grpc_core::StatusStrProperty::kSyscall,
68
- call_name);
69
- return s;
58
+ return StatusCreate(
59
+ absl::StatusCode::kUnknown,
60
+ absl::StrCat(call_name, ": ", grpc_core::StrError(err), " (", err, ")"),
61
+ location, {});
70
62
  }
71
63
 
72
64
  #ifdef GPR_WINDOWS
@@ -104,15 +96,15 @@ std::string WSAErrorToShortDescription(int err) {
104
96
  absl::Status grpc_wsa_error(const grpc_core::DebugLocation& location, int err,
105
97
  absl::string_view call_name) {
106
98
  char* utf8_message = gpr_format_message(err);
107
- absl::Status s = StatusCreate(absl::StatusCode::kUnavailable,
108
- WSAErrorToShortDescription(err), location, {});
109
- StatusSetInt(&s, grpc_core::StatusIntProperty::kWsaError, err);
110
- StatusSetInt(&s, grpc_core::StatusIntProperty::kRpcStatus,
99
+ absl::Status status = StatusCreate(
100
+ absl::StatusCode::kUnavailable,
101
+ absl::StrCat(call_name, ": ", WSAErrorToShortDescription(err), " (",
102
+ utf8_message, " -- ", err, ")"),
103
+ location, {});
104
+ StatusSetInt(&status, grpc_core::StatusIntProperty::kRpcStatus,
111
105
  GRPC_STATUS_UNAVAILABLE);
112
- StatusSetStr(&s, grpc_core::StatusStrProperty::kOsError, utf8_message);
113
- StatusSetStr(&s, grpc_core::StatusStrProperty::kSyscall, call_name);
114
106
  gpr_free(utf8_message);
115
- return s;
107
+ return status;
116
108
  }
117
109
  #endif
118
110
 
@@ -32,10 +32,10 @@
32
32
  #include <grpc/support/time.h>
33
33
 
34
34
  #include "src/core/lib/debug/trace.h"
35
- #include "src/core/lib/gpr/spinlock.h"
36
35
  #include "src/core/lib/gprpp/crash.h"
37
36
  #include "src/core/lib/gprpp/status_helper.h"
38
37
  #include "src/core/lib/slice/slice_internal.h"
38
+ #include "src/core/util/spinlock.h"
39
39
 
40
40
  /// Opaque representation of an error.
41
41
 
@@ -39,12 +39,10 @@
39
39
  #include "src/core/lib/gprpp/time_util.h"
40
40
  #include "src/core/lib/iomgr/ev_apple.h"
41
41
 
42
- grpc_core::DebugOnlyTraceFlag grpc_apple_polling_trace(false, "apple_polling");
43
-
44
42
  #ifndef NDEBUG
45
- #define GRPC_POLLING_TRACE(format, ...) \
46
- if (GRPC_TRACE_FLAG_ENABLED(grpc_apple_polling_trace)) { \
47
- gpr_log(GPR_DEBUG, "(polling) " format, __VA_ARGS__); \
43
+ #define GRPC_POLLING_TRACE(format, ...) \
44
+ if (GRPC_TRACE_FLAG_ENABLED(apple_polling)) { \
45
+ gpr_log(GPR_DEBUG, "(polling) " format, __VA_ARGS__); \
48
46
  }
49
47
  #else
50
48
  #define GRPC_POLLING_TRACE(...)