grpc 1.75.0 → 1.78.1

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 (839) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +24 -5
  3. data/include/grpc/credentials.h +27 -6
  4. data/include/grpc/event_engine/memory_allocator.h +2 -0
  5. data/include/grpc/event_engine/memory_request.h +2 -0
  6. data/include/grpc/impl/channel_arg_names.h +5 -0
  7. data/include/grpc/support/metrics.h +7 -1
  8. data/src/core/call/call_filters.cc +5 -5
  9. data/src/core/call/call_filters.h +211 -37
  10. data/src/core/call/call_spine.cc +1 -1
  11. data/src/core/call/call_spine.h +54 -32
  12. data/src/core/call/channelz_context.h +30 -0
  13. data/src/core/call/client_call.cc +49 -10
  14. data/src/core/call/client_call.h +6 -3
  15. data/src/core/call/filter_fusion.h +9 -9
  16. data/src/core/call/interception_chain.h +7 -6
  17. data/src/core/call/metadata_batch.cc +49 -55
  18. data/src/core/call/metadata_batch.h +10 -9
  19. data/src/core/call/metadata_info.cc +1 -1
  20. data/src/core/call/parsed_metadata.h +2 -2
  21. data/src/core/call/request_buffer.cc +1 -1
  22. data/src/core/call/security_context.cc +2 -2
  23. data/src/core/call/security_context.h +1 -1
  24. data/src/core/call/server_call.cc +5 -5
  25. data/src/core/call/server_call.h +6 -4
  26. data/src/core/call/simple_slice_based_metadata.h +1 -1
  27. data/src/core/call/status_util.cc +1 -1
  28. data/src/core/channelz/channel_trace.cc +1 -1
  29. data/src/core/channelz/channel_trace.h +3 -3
  30. data/src/core/channelz/channelz.cc +25 -29
  31. data/src/core/channelz/channelz.h +73 -22
  32. data/src/core/channelz/channelz_registry.cc +2 -2
  33. data/src/core/channelz/channelz_registry.h +53 -2
  34. data/src/core/channelz/property_list.cc +18 -0
  35. data/src/core/channelz/property_list.h +15 -4
  36. data/src/core/channelz/text_encode.cc +66 -0
  37. data/src/core/channelz/text_encode.h +29 -0
  38. data/src/core/channelz/v2tov1/convert.cc +17 -6
  39. data/src/core/channelz/v2tov1/legacy_api.cc +18 -12
  40. data/src/core/channelz/v2tov1/property_list.cc +2 -1
  41. data/src/core/channelz/ztrace_collector.h +260 -87
  42. data/src/core/client_channel/backup_poller.cc +7 -8
  43. data/src/core/client_channel/buffered_call.cc +140 -0
  44. data/src/core/client_channel/buffered_call.h +104 -0
  45. data/src/core/client_channel/client_channel.cc +144 -84
  46. data/src/core/client_channel/client_channel.h +8 -11
  47. data/src/core/client_channel/client_channel_factory.h +1 -1
  48. data/src/core/client_channel/client_channel_filter.cc +424 -686
  49. data/src/core/client_channel/client_channel_filter.h +57 -150
  50. data/src/core/client_channel/client_channel_internal.h +8 -5
  51. data/src/core/client_channel/client_channel_service_config.cc +43 -3
  52. data/src/core/client_channel/client_channel_service_config.h +12 -1
  53. data/src/core/client_channel/config_selector.h +5 -5
  54. data/src/core/client_channel/connector.h +2 -0
  55. data/src/core/client_channel/dynamic_filters.cc +5 -5
  56. data/src/core/client_channel/global_subchannel_pool.cc +0 -37
  57. data/src/core/client_channel/global_subchannel_pool.h +1 -28
  58. data/src/core/client_channel/lb_metadata.h +1 -1
  59. data/src/core/client_channel/load_balanced_call_destination.cc +10 -12
  60. data/src/core/client_channel/load_balanced_call_destination.h +1 -1
  61. data/src/core/client_channel/local_subchannel_pool.cc +4 -4
  62. data/src/core/client_channel/retry_filter.cc +2 -2
  63. data/src/core/client_channel/retry_filter.h +3 -3
  64. data/src/core/client_channel/retry_filter_legacy_call_data.cc +11 -12
  65. data/src/core/client_channel/retry_filter_legacy_call_data.h +6 -8
  66. data/src/core/client_channel/retry_service_config.cc +3 -3
  67. data/src/core/client_channel/retry_service_config.h +1 -1
  68. data/src/core/client_channel/subchannel.cc +114 -25
  69. data/src/core/client_channel/subchannel.h +24 -8
  70. data/src/core/client_channel/subchannel_pool_interface.cc +2 -2
  71. data/src/core/client_channel/subchannel_pool_interface.h +1 -1
  72. data/src/core/client_channel/subchannel_stream_client.cc +5 -5
  73. data/src/core/client_channel/subchannel_stream_client.h +3 -3
  74. data/src/core/config/config_vars.cc +38 -3
  75. data/src/core/config/config_vars.h +26 -0
  76. data/src/core/config/core_configuration.cc +5 -5
  77. data/src/core/config/core_configuration.h +8 -8
  78. data/src/core/config/load_config.cc +13 -1
  79. data/src/core/config/load_config.h +2 -0
  80. data/src/core/credentials/call/call_credentials.h +4 -4
  81. data/src/core/credentials/call/call_creds_registry.h +1 -1
  82. data/src/core/credentials/call/call_creds_registry_init.cc +2 -2
  83. data/src/core/credentials/call/call_creds_util.cc +7 -6
  84. data/src/core/credentials/call/composite/composite_call_credentials.cc +6 -6
  85. data/src/core/credentials/call/composite/composite_call_credentials.h +1 -1
  86. data/src/core/credentials/call/external/aws_external_account_credentials.cc +9 -9
  87. data/src/core/credentials/call/external/aws_external_account_credentials.h +1 -1
  88. data/src/core/credentials/call/external/external_account_credentials.cc +12 -12
  89. data/src/core/credentials/call/external/external_account_credentials.h +1 -1
  90. data/src/core/credentials/call/external/file_external_account_credentials.cc +3 -3
  91. data/src/core/credentials/call/external/file_external_account_credentials.h +1 -1
  92. data/src/core/credentials/call/external/url_external_account_credentials.cc +7 -7
  93. data/src/core/credentials/call/external/url_external_account_credentials.h +1 -1
  94. data/src/core/credentials/call/gcp_service_account_identity/gcp_service_account_identity_credentials.cc +24 -71
  95. data/src/core/credentials/call/gcp_service_account_identity/gcp_service_account_identity_credentials.h +1 -8
  96. data/src/core/credentials/call/iam/iam_credentials.cc +6 -6
  97. data/src/core/credentials/call/iam/iam_credentials.h +1 -1
  98. data/src/core/credentials/call/json_util.cc +1 -1
  99. data/src/core/credentials/call/jwt/json_token.cc +7 -7
  100. data/src/core/credentials/call/jwt/jwt_credentials.cc +5 -5
  101. data/src/core/credentials/call/jwt/jwt_credentials.h +4 -4
  102. data/src/core/credentials/call/jwt/jwt_verifier.cc +19 -18
  103. data/src/core/credentials/call/jwt_token_file/jwt_token_file_call_credentials.cc +2 -2
  104. data/src/core/credentials/call/jwt_token_file/jwt_token_file_call_credentials.h +3 -3
  105. data/src/core/credentials/call/jwt_util.cc +3 -3
  106. data/src/core/credentials/call/jwt_util.h +1 -1
  107. data/src/core/credentials/call/oauth2/oauth2_credentials.cc +49 -72
  108. data/src/core/credentials/call/oauth2/oauth2_credentials.h +3 -9
  109. data/src/core/credentials/call/plugin/plugin_credentials.cc +6 -6
  110. data/src/core/credentials/call/plugin/plugin_credentials.h +2 -2
  111. data/src/core/credentials/call/token_fetcher/token_fetcher_credentials.cc +46 -0
  112. data/src/core/credentials/call/token_fetcher/token_fetcher_credentials.h +32 -3
  113. data/src/core/credentials/transport/alts/alts_credentials.cc +5 -5
  114. data/src/core/credentials/transport/alts/alts_security_connector.cc +17 -15
  115. data/src/core/credentials/transport/alts/check_gcp_environment_no_op.cc +1 -1
  116. data/src/core/credentials/transport/alts/grpc_alts_credentials_client_options.cc +23 -3
  117. data/src/core/credentials/transport/alts/grpc_alts_credentials_options.cc +10 -1
  118. data/src/core/credentials/transport/alts/grpc_alts_credentials_options.h +31 -0
  119. data/src/core/credentials/transport/alts/grpc_alts_credentials_server_options.cc +8 -3
  120. data/src/core/credentials/transport/channel_creds_registry.h +1 -1
  121. data/src/core/credentials/transport/channel_creds_registry_init.cc +1 -1
  122. data/src/core/credentials/transport/composite/composite_channel_credentials.cc +7 -7
  123. data/src/core/credentials/transport/composite/composite_channel_credentials.h +1 -1
  124. data/src/core/credentials/transport/fake/fake_credentials.cc +1 -1
  125. data/src/core/credentials/transport/fake/fake_credentials.h +1 -1
  126. data/src/core/credentials/transport/fake/fake_security_connector.cc +7 -7
  127. data/src/core/credentials/transport/google_default/credentials_generic.cc +2 -2
  128. data/src/core/credentials/transport/google_default/google_default_credentials.cc +83 -39
  129. data/src/core/credentials/transport/google_default/google_default_credentials.h +0 -2
  130. data/src/core/credentials/transport/insecure/insecure_security_connector.cc +3 -3
  131. data/src/core/credentials/transport/insecure/insecure_security_connector.h +2 -2
  132. data/src/core/credentials/transport/local/local_security_connector.cc +13 -13
  133. data/src/core/credentials/transport/security_connector.cc +6 -6
  134. data/src/core/credentials/transport/security_connector.h +2 -2
  135. data/src/core/credentials/transport/ssl/ssl_credentials.cc +13 -13
  136. data/src/core/credentials/transport/ssl/ssl_credentials.h +2 -2
  137. data/src/core/credentials/transport/ssl/ssl_security_connector.cc +8 -8
  138. data/src/core/credentials/transport/tls/certificate_provider_factory.h +1 -1
  139. data/src/core/credentials/transport/tls/certificate_provider_registry.cc +2 -2
  140. data/src/core/credentials/transport/tls/certificate_provider_registry.h +1 -1
  141. data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.cc +25 -25
  142. data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.h +2 -2
  143. data/src/core/credentials/transport/tls/grpc_tls_certificate_match.cc +1 -1
  144. data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.cc +8 -8
  145. data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.h +5 -5
  146. data/src/core/credentials/transport/tls/grpc_tls_certificate_verifier.cc +3 -3
  147. data/src/core/credentials/transport/tls/grpc_tls_certificate_verifier.h +4 -4
  148. data/src/core/credentials/transport/tls/grpc_tls_credentials_options.cc +18 -18
  149. data/src/core/credentials/transport/tls/grpc_tls_crl_provider.cc +5 -5
  150. data/src/core/credentials/transport/tls/grpc_tls_crl_provider.h +3 -3
  151. data/src/core/credentials/transport/tls/load_system_roots_supported.cc +1 -1
  152. data/src/core/credentials/transport/tls/spiffe_utils.cc +10 -8
  153. data/src/core/credentials/transport/tls/spiffe_utils.h +2 -2
  154. data/src/core/credentials/transport/tls/ssl_utils.cc +18 -13
  155. data/src/core/credentials/transport/tls/ssl_utils.h +2 -2
  156. data/src/core/credentials/transport/tls/tls_credentials.cc +3 -3
  157. data/src/core/credentials/transport/tls/tls_security_connector.cc +15 -15
  158. data/src/core/credentials/transport/tls/tls_security_connector.h +3 -3
  159. data/src/core/credentials/transport/transport_credentials.cc +3 -3
  160. data/src/core/credentials/transport/transport_credentials.h +4 -4
  161. data/src/core/credentials/transport/xds/xds_credentials.cc +5 -5
  162. data/src/core/credentials/transport/xds/xds_credentials.h +1 -1
  163. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +2 -2
  164. data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +4 -1
  165. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +6 -4
  166. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h +2 -2
  167. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +7 -7
  168. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +6 -3
  169. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +1 -1
  170. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +2 -2
  171. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +6 -3
  172. data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.h +1 -1
  173. data/src/core/ext/filters/http/client/http_client_filter.cc +6 -6
  174. data/src/core/ext/filters/http/client/http_client_filter.h +4 -1
  175. data/src/core/ext/filters/http/client_authority_filter.cc +2 -2
  176. data/src/core/ext/filters/http/client_authority_filter.h +4 -1
  177. data/src/core/ext/filters/http/http_filters_plugin.cc +1 -1
  178. data/src/core/ext/filters/http/message_compress/compression_filter.cc +11 -11
  179. data/src/core/ext/filters/http/message_compress/compression_filter.h +24 -5
  180. data/src/core/ext/filters/http/server/http_server_filter.cc +3 -3
  181. data/src/core/ext/filters/http/server/http_server_filter.h +4 -1
  182. data/src/core/ext/filters/message_size/message_size_filter.cc +2 -2
  183. data/src/core/ext/filters/message_size/message_size_filter.h +8 -2
  184. data/src/core/ext/filters/rbac/rbac_filter.cc +1 -1
  185. data/src/core/ext/filters/rbac/rbac_filter.h +4 -1
  186. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +3 -3
  187. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +1 -1
  188. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +14 -14
  189. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +13 -2
  190. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +1 -1
  191. data/src/core/ext/transport/chttp2/alpn/alpn.cc +2 -2
  192. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +58 -44
  193. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +2 -3
  194. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +25 -24
  195. data/src/core/ext/transport/chttp2/server/chttp2_server.h +1 -2
  196. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +6 -6
  197. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +6 -6
  198. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +306 -148
  199. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +10 -2
  200. data/src/core/ext/transport/chttp2/transport/flow_control.cc +42 -7
  201. data/src/core/ext/transport/chttp2/transport/flow_control.h +223 -83
  202. data/src/core/ext/transport/chttp2/transport/flow_control_manager.h +105 -0
  203. data/src/core/ext/transport/chttp2/transport/frame.cc +175 -27
  204. data/src/core/ext/transport/chttp2/transport/frame.h +58 -10
  205. data/src/core/ext/transport/chttp2/transport/frame_data.cc +4 -4
  206. data/src/core/ext/transport/chttp2/transport/frame_data.h +1 -1
  207. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +5 -5
  208. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +6 -6
  209. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +7 -7
  210. data/src/core/ext/transport/chttp2/transport/frame_security.cc +1 -1
  211. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +7 -15
  212. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +6 -6
  213. data/src/core/ext/transport/chttp2/transport/goaway.cc +129 -0
  214. data/src/core/ext/transport/chttp2/transport/goaway.h +350 -0
  215. data/src/core/ext/transport/chttp2/transport/header_assembler.h +194 -54
  216. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +3 -3
  217. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +8 -6
  218. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +8 -8
  219. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.cc +3 -3
  220. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +5 -5
  221. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +34 -34
  222. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +6 -7
  223. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +8 -8
  224. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +1 -1
  225. data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +1475 -632
  226. data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +384 -373
  227. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +1 -1
  228. data/src/core/ext/transport/chttp2/transport/http2_settings.h +6 -4
  229. data/src/core/ext/transport/chttp2/transport/http2_settings_manager.cc +4 -3
  230. data/src/core/ext/transport/chttp2/transport/http2_settings_manager.h +6 -5
  231. data/src/core/ext/transport/chttp2/transport/http2_settings_promises.h +417 -0
  232. data/src/core/ext/transport/chttp2/transport/http2_status.h +7 -1
  233. data/src/core/ext/transport/chttp2/transport/http2_transport.cc +337 -30
  234. data/src/core/ext/transport/chttp2/transport/http2_transport.h +196 -21
  235. data/src/core/ext/transport/chttp2/transport/http2_ztrace_collector.h +172 -72
  236. data/src/core/ext/transport/chttp2/transport/incoming_metadata_tracker.h +128 -0
  237. data/src/core/ext/transport/chttp2/transport/internal.h +31 -19
  238. data/src/core/ext/transport/chttp2/transport/keepalive.cc +12 -5
  239. data/src/core/ext/transport/chttp2/transport/keepalive.h +14 -10
  240. data/src/core/ext/transport/chttp2/transport/message_assembler.h +30 -21
  241. data/src/core/ext/transport/chttp2/transport/parsing.cc +25 -23
  242. data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +2 -2
  243. data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +3 -3
  244. data/src/core/ext/transport/chttp2/transport/ping_promise.cc +70 -28
  245. data/src/core/ext/transport/chttp2/transport/ping_promise.h +63 -23
  246. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +1 -1
  247. data/src/core/ext/transport/chttp2/transport/security_frame.cc +31 -0
  248. data/src/core/ext/transport/chttp2/transport/security_frame.h +32 -0
  249. data/src/core/ext/transport/chttp2/transport/stream.h +287 -0
  250. data/src/core/ext/transport/chttp2/transport/stream_data_queue.h +476 -208
  251. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +8 -8
  252. data/src/core/ext/transport/chttp2/transport/transport_common.cc +17 -1
  253. data/src/core/ext/transport/chttp2/transport/transport_common.h +57 -0
  254. data/src/core/ext/transport/chttp2/transport/varint.h +2 -2
  255. data/src/core/ext/transport/chttp2/transport/writable_streams.h +202 -84
  256. data/src/core/ext/transport/chttp2/transport/write_size_policy.cc +2 -2
  257. data/src/core/ext/transport/chttp2/transport/writing.cc +6 -6
  258. data/src/core/ext/transport/inproc/inproc_transport.cc +9 -3
  259. data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +11 -8
  260. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb.h +740 -0
  261. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb_minitable.c +218 -0
  262. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb_minitable.h +46 -0
  263. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +87 -55
  264. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +23 -21
  265. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/channelz.upbdefs.c +80 -0
  266. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/channelz.upbdefs.h +47 -0
  267. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/service.upbdefs.c +129 -0
  268. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/service.upbdefs.h +72 -0
  269. data/src/core/filter/auth/auth_filters.h +7 -1
  270. data/src/core/filter/auth/client_auth_filter.cc +2 -2
  271. data/src/core/filter/auth/server_auth_filter.cc +5 -5
  272. data/src/core/filter/blackboard.h +2 -2
  273. data/src/core/filter/filter_args.h +40 -2
  274. data/src/core/handshaker/endpoint_info/endpoint_info_handshaker.cc +2 -2
  275. data/src/core/handshaker/handshaker.cc +8 -8
  276. data/src/core/handshaker/handshaker.h +2 -2
  277. data/src/core/handshaker/http_connect/http_connect_handshaker.cc +5 -5
  278. data/src/core/handshaker/http_connect/http_proxy_mapper.cc +12 -12
  279. data/src/core/handshaker/http_connect/http_proxy_mapper.h +1 -1
  280. data/src/core/handshaker/http_connect/xds_http_proxy_mapper.cc +1 -1
  281. data/src/core/handshaker/http_connect/xds_http_proxy_mapper.h +1 -1
  282. data/src/core/handshaker/proxy_mapper.h +1 -1
  283. data/src/core/handshaker/proxy_mapper_registry.h +1 -1
  284. data/src/core/handshaker/security/legacy_secure_endpoint.cc +6 -6
  285. data/src/core/handshaker/security/pipelined_secure_endpoint.cc +38 -15
  286. data/src/core/handshaker/security/secure_endpoint.cc +31 -11
  287. data/src/core/handshaker/security/security_handshaker.cc +11 -8
  288. data/src/core/handshaker/security/security_handshaker.h +1 -1
  289. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +6 -6
  290. data/src/core/lib/address_utils/parse_address.cc +5 -5
  291. data/src/core/lib/address_utils/parse_address.h +2 -2
  292. data/src/core/lib/address_utils/sockaddr_utils.cc +4 -4
  293. data/src/core/lib/address_utils/sockaddr_utils.h +1 -1
  294. data/src/core/lib/channel/channel_args.cc +1 -1
  295. data/src/core/lib/channel/channel_args.h +2 -2
  296. data/src/core/lib/channel/channel_stack.cc +29 -25
  297. data/src/core/lib/channel/channel_stack.h +8 -3
  298. data/src/core/lib/channel/channel_stack_builder.cc +8 -4
  299. data/src/core/lib/channel/channel_stack_builder.h +10 -9
  300. data/src/core/lib/channel/channel_stack_builder_impl.cc +8 -13
  301. data/src/core/lib/channel/channel_stack_builder_impl.h +1 -1
  302. data/src/core/lib/channel/connected_channel.cc +4 -4
  303. data/src/core/lib/channel/promise_based_filter.cc +132 -72
  304. data/src/core/lib/channel/promise_based_filter.h +39 -23
  305. data/src/core/lib/compression/compression_internal.cc +6 -6
  306. data/src/core/lib/compression/compression_internal.h +1 -1
  307. data/src/core/lib/compression/message_compress.cc +8 -8
  308. data/src/core/lib/debug/trace.cc +2 -5
  309. data/src/core/lib/debug/trace.h +10 -0
  310. data/src/core/lib/debug/trace_flags.cc +2 -2
  311. data/src/core/lib/debug/trace_flags.h +1 -1
  312. data/src/core/lib/event_engine/ares_resolver.cc +30 -28
  313. data/src/core/lib/event_engine/ares_resolver.h +4 -4
  314. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +3 -3
  315. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +2 -2
  316. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +1 -1
  317. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +4 -4
  318. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.h +3 -3
  319. data/src/core/lib/event_engine/channel_args_endpoint_config.h +1 -1
  320. data/src/core/lib/event_engine/default_event_engine.cc +1 -1
  321. data/src/core/lib/event_engine/event_engine.cc +1 -1
  322. data/src/core/lib/event_engine/extensions/channelz.h +3 -3
  323. data/src/core/lib/event_engine/extensions/chaotic_good_extension.h +1 -1
  324. data/src/core/lib/event_engine/extensions/supports_fd.h +5 -5
  325. data/src/core/lib/event_engine/extensions/tcp_trace.h +8 -1
  326. data/src/core/lib/event_engine/grpc_polled_fd.h +1 -1
  327. data/src/core/lib/event_engine/memory_allocator_factory.h +1 -1
  328. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +12 -12
  329. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +5 -5
  330. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +15 -15
  331. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +3 -3
  332. data/src/core/lib/event_engine/posix_engine/event_poller.h +2 -2
  333. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +2 -2
  334. data/src/core/lib/event_engine/posix_engine/file_descriptor_collection.cc +1 -1
  335. data/src/core/lib/event_engine/posix_engine/file_descriptor_collection.h +1 -1
  336. data/src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h +4 -4
  337. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +1 -1
  338. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +3 -3
  339. data/src/core/lib/event_engine/posix_engine/lockfree_event.h +1 -1
  340. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +3 -3
  341. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.h +1 -1
  342. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +28 -27
  343. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +17 -17
  344. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +175 -177
  345. data/src/core/lib/event_engine/posix_engine/posix_engine.h +40 -61
  346. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +11 -7
  347. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +4 -4
  348. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +9 -9
  349. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +1 -1
  350. data/src/core/lib/event_engine/posix_engine/posix_interface.h +2 -2
  351. data/src/core/lib/event_engine/posix_engine/posix_interface_posix.cc +5 -5
  352. data/src/core/lib/event_engine/posix_engine/posix_write_event_sink.h +1 -1
  353. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +1 -1
  354. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +1 -1
  355. data/src/core/lib/event_engine/posix_engine/timer.h +1 -1
  356. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +4 -4
  357. data/src/core/lib/event_engine/posix_engine/timer_manager.h +1 -1
  358. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +2 -2
  359. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +2 -2
  360. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +1 -1
  361. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +2 -2
  362. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +1 -1
  363. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h +2 -2
  364. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +1 -1
  365. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +2 -2
  366. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +1 -1
  367. data/src/core/lib/event_engine/ref_counted_dns_resolver_interface.h +1 -1
  368. data/src/core/lib/event_engine/resolved_address.cc +3 -3
  369. data/src/core/lib/event_engine/shim.cc +8 -11
  370. data/src/core/lib/event_engine/shim.h +2 -1
  371. data/src/core/lib/event_engine/slice.cc +2 -2
  372. data/src/core/lib/event_engine/tcp_socket_utils.cc +15 -15
  373. data/src/core/lib/event_engine/thread_pool/thread_count.cc +1 -1
  374. data/src/core/lib/event_engine/thread_pool/thread_count.h +1 -1
  375. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +11 -11
  376. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +3 -3
  377. data/src/core/lib/event_engine/utils.cc +3 -3
  378. data/src/core/lib/event_engine/utils.h +1 -1
  379. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +32 -32
  380. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.h +2 -2
  381. data/src/core/lib/event_engine/windows/iocp.cc +11 -11
  382. data/src/core/lib/event_engine/windows/iocp.h +1 -1
  383. data/src/core/lib/event_engine/windows/native_windows_dns_resolver.cc +5 -2
  384. data/src/core/lib/event_engine/windows/win_socket.cc +7 -7
  385. data/src/core/lib/event_engine/windows/win_socket.h +2 -2
  386. data/src/core/lib/event_engine/windows/windows_endpoint.cc +16 -16
  387. data/src/core/lib/event_engine/windows/windows_engine.cc +20 -18
  388. data/src/core/lib/event_engine/windows/windows_engine.h +3 -3
  389. data/src/core/lib/event_engine/windows/windows_listener.cc +10 -10
  390. data/src/core/lib/event_engine/windows/windows_listener.h +2 -2
  391. data/src/core/lib/event_engine/work_queue/basic_work_queue.h +2 -2
  392. data/src/core/lib/experiments/config.cc +4 -4
  393. data/src/core/lib/experiments/experiments.cc +255 -42
  394. data/src/core/lib/experiments/experiments.h +105 -21
  395. data/src/core/lib/iomgr/buffer_list.cc +1 -1
  396. data/src/core/lib/iomgr/call_combiner.cc +4 -4
  397. data/src/core/lib/iomgr/call_combiner.h +2 -2
  398. data/src/core/lib/iomgr/cfstream_handle.cc +1 -1
  399. data/src/core/lib/iomgr/closure.h +2 -2
  400. data/src/core/lib/iomgr/combiner.cc +2 -2
  401. data/src/core/lib/iomgr/endpoint.h +1 -1
  402. data/src/core/lib/iomgr/endpoint_cfstream.cc +7 -7
  403. data/src/core/lib/iomgr/endpoint_pair_posix.cc +6 -6
  404. data/src/core/lib/iomgr/endpoint_pair_windows.cc +16 -15
  405. data/src/core/lib/iomgr/error.cc +1 -1
  406. data/src/core/lib/iomgr/error.h +2 -2
  407. data/src/core/lib/iomgr/error_cfstream.cc +1 -1
  408. data/src/core/lib/iomgr/ev_apple.cc +1 -1
  409. data/src/core/lib/iomgr/ev_epoll1_linux.cc +19 -19
  410. data/src/core/lib/iomgr/ev_poll_posix.cc +14 -14
  411. data/src/core/lib/iomgr/ev_posix.cc +3 -3
  412. data/src/core/lib/iomgr/event_engine_shims/closure.cc +3 -3
  413. data/src/core/lib/iomgr/event_engine_shims/closure.h +1 -1
  414. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +10 -9
  415. data/src/core/lib/iomgr/event_engine_shims/endpoint.h +1 -1
  416. data/src/core/lib/iomgr/event_engine_shims/tcp_client.cc +2 -2
  417. data/src/core/lib/iomgr/exec_ctx.cc +3 -3
  418. data/src/core/lib/iomgr/exec_ctx.h +1 -1
  419. data/src/core/lib/iomgr/fork_posix.cc +1 -1
  420. data/src/core/lib/iomgr/internal_errqueue.cc +1 -1
  421. data/src/core/lib/iomgr/iocp_windows.cc +9 -9
  422. data/src/core/lib/iomgr/iomgr.cc +1 -1
  423. data/src/core/lib/iomgr/iomgr_windows.cc +3 -3
  424. data/src/core/lib/iomgr/lockfree_event.cc +3 -3
  425. data/src/core/lib/iomgr/polling_entity.cc +4 -4
  426. data/src/core/lib/iomgr/resolve_address.cc +1 -1
  427. data/src/core/lib/iomgr/resolve_address.h +2 -2
  428. data/src/core/lib/iomgr/resolve_address_posix.cc +4 -4
  429. data/src/core/lib/iomgr/resolve_address_windows.cc +1 -1
  430. data/src/core/lib/iomgr/sockaddr_utils_posix.cc +1 -1
  431. data/src/core/lib/iomgr/socket_utils_common_posix.cc +4 -4
  432. data/src/core/lib/iomgr/socket_windows.cc +6 -6
  433. data/src/core/lib/iomgr/tcp_client_cfstream.cc +1 -1
  434. data/src/core/lib/iomgr/tcp_client_posix.cc +7 -7
  435. data/src/core/lib/iomgr/tcp_client_windows.cc +4 -4
  436. data/src/core/lib/iomgr/tcp_posix.cc +47 -47
  437. data/src/core/lib/iomgr/tcp_server.cc +5 -0
  438. data/src/core/lib/iomgr/tcp_server.h +7 -0
  439. data/src/core/lib/iomgr/tcp_server_posix.cc +62 -31
  440. data/src/core/lib/iomgr/tcp_server_utils_posix.h +4 -1
  441. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +7 -7
  442. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +4 -4
  443. data/src/core/lib/iomgr/tcp_server_windows.cc +70 -31
  444. data/src/core/lib/iomgr/tcp_windows.cc +8 -8
  445. data/src/core/lib/iomgr/timer_generic.cc +5 -5
  446. data/src/core/lib/iomgr/timer_manager.cc +3 -3
  447. data/src/core/lib/iomgr/unix_sockets_posix.cc +3 -3
  448. data/src/core/lib/iomgr/unix_sockets_posix.h +1 -1
  449. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +2 -2
  450. data/src/core/lib/iomgr/vsock.cc +1 -1
  451. data/src/core/lib/iomgr/vsock.h +1 -1
  452. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +1 -1
  453. data/src/core/lib/promise/activity.cc +3 -3
  454. data/src/core/lib/promise/activity.h +11 -10
  455. data/src/core/lib/promise/all_ok.h +3 -3
  456. data/src/core/lib/promise/arena_promise.h +47 -6
  457. data/src/core/lib/promise/context.h +3 -3
  458. data/src/core/lib/promise/detail/join_state.h +10 -10
  459. data/src/core/lib/promise/detail/promise_factory.h +1 -1
  460. data/src/core/lib/promise/detail/promise_like.h +1 -1
  461. data/src/core/lib/promise/detail/seq_state.h +16 -16
  462. data/src/core/lib/promise/detail/status.h +2 -2
  463. data/src/core/lib/promise/exec_ctx_wakeup_scheduler.h +1 -1
  464. data/src/core/lib/promise/for_each.h +8 -8
  465. data/src/core/lib/promise/if.h +1 -1
  466. data/src/core/lib/promise/inter_activity_latch.h +3 -3
  467. data/src/core/lib/promise/inter_activity_mutex.h +1 -1
  468. data/src/core/lib/promise/interceptor_list.h +5 -5
  469. data/src/core/lib/promise/latch.h +9 -9
  470. data/src/core/lib/promise/loop.h +2 -2
  471. data/src/core/lib/promise/map.h +2 -2
  472. data/src/core/lib/promise/mpsc.cc +31 -30
  473. data/src/core/lib/promise/mpsc.h +2 -2
  474. data/src/core/lib/promise/observable.h +6 -6
  475. data/src/core/lib/promise/party.cc +43 -30
  476. data/src/core/lib/promise/party.h +27 -23
  477. data/src/core/lib/promise/pipe.h +31 -17
  478. data/src/core/lib/promise/poll.h +6 -5
  479. data/src/core/lib/promise/promise.h +2 -4
  480. data/src/core/lib/promise/sleep.cc +3 -1
  481. data/src/core/lib/promise/sleep.h +1 -1
  482. data/src/core/lib/promise/status_flag.h +8 -8
  483. data/src/core/lib/promise/try_join.h +5 -5
  484. data/src/core/lib/promise/try_seq.h +5 -5
  485. data/src/core/lib/promise/wait_set.h +2 -2
  486. data/src/core/lib/resource_quota/api.cc +1 -1
  487. data/src/core/lib/resource_quota/arena.cc +1 -1
  488. data/src/core/lib/resource_quota/arena.h +15 -2
  489. data/src/core/lib/resource_quota/connection_quota.cc +9 -7
  490. data/src/core/lib/resource_quota/connection_quota.h +1 -1
  491. data/src/core/lib/resource_quota/memory_quota.cc +48 -27
  492. data/src/core/lib/resource_quota/memory_quota.h +56 -20
  493. data/src/core/lib/resource_quota/periodic_update.h +1 -1
  494. data/src/core/lib/resource_quota/resource_quota.cc +8 -0
  495. data/src/core/lib/resource_quota/resource_quota.h +2 -1
  496. data/src/core/lib/resource_quota/stream_quota.cc +22 -0
  497. data/src/core/lib/resource_quota/stream_quota.h +31 -0
  498. data/src/core/lib/resource_quota/telemetry.h +55 -0
  499. data/src/core/lib/resource_quota/thread_quota.cc +2 -2
  500. data/src/core/lib/resource_quota/thread_quota.h +1 -1
  501. data/src/core/lib/resource_tracker/resource_tracker.cc +33 -0
  502. data/src/core/lib/resource_tracker/resource_tracker.h +46 -0
  503. data/src/core/lib/security/authorization/audit_logging.cc +7 -7
  504. data/src/core/lib/security/authorization/audit_logging.h +1 -1
  505. data/src/core/lib/security/authorization/authorization_policy_provider.h +1 -1
  506. data/src/core/lib/security/authorization/evaluate_args.cc +5 -5
  507. data/src/core/lib/security/authorization/evaluate_args.h +1 -1
  508. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +2 -2
  509. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +3 -3
  510. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +4 -1
  511. data/src/core/lib/security/authorization/matchers.cc +2 -2
  512. data/src/core/lib/security/authorization/stdout_logger.cc +3 -3
  513. data/src/core/lib/slice/percent_encoding.cc +1 -1
  514. data/src/core/lib/slice/slice.cc +1 -1
  515. data/src/core/lib/slice/slice.h +2 -2
  516. data/src/core/lib/slice/slice_buffer.cc +1 -1
  517. data/src/core/lib/slice/slice_internal.h +1 -1
  518. data/src/core/lib/surface/byte_buffer_reader.cc +2 -2
  519. data/src/core/lib/surface/call.cc +58 -28
  520. data/src/core/lib/surface/call.h +13 -6
  521. data/src/core/lib/surface/call_log_batch.cc +2 -2
  522. data/src/core/lib/surface/call_utils.cc +7 -7
  523. data/src/core/lib/surface/call_utils.h +85 -20
  524. data/src/core/lib/surface/channel.cc +6 -5
  525. data/src/core/lib/surface/channel.h +13 -3
  526. data/src/core/lib/surface/channel_create.cc +12 -8
  527. data/src/core/lib/surface/channel_create.h +1 -1
  528. data/src/core/lib/surface/channel_init.cc +84 -27
  529. data/src/core/lib/surface/channel_init.h +30 -13
  530. data/src/core/lib/surface/completion_queue.cc +21 -20
  531. data/src/core/lib/surface/completion_queue_factory.cc +7 -7
  532. data/src/core/lib/surface/connection_context.h +45 -2
  533. data/src/core/lib/surface/filter_stack_call.cc +25 -31
  534. data/src/core/lib/surface/filter_stack_call.h +6 -7
  535. data/src/core/lib/surface/init.cc +4 -4
  536. data/src/core/lib/surface/lame_client.cc +2 -2
  537. data/src/core/lib/surface/lame_client.h +3 -3
  538. data/src/core/lib/surface/legacy_channel.cc +10 -10
  539. data/src/core/lib/surface/legacy_channel.h +1 -1
  540. data/src/core/lib/surface/validate_metadata.cc +2 -2
  541. data/src/core/lib/surface/validate_metadata.h +3 -3
  542. data/src/core/lib/surface/version.cc +2 -2
  543. data/src/core/lib/transport/bdp_estimator.cc +2 -2
  544. data/src/core/lib/transport/bdp_estimator.h +5 -5
  545. data/src/core/lib/transport/connectivity_state.cc +1 -1
  546. data/src/core/lib/transport/connectivity_state.h +2 -2
  547. data/src/core/lib/transport/error_utils.h +1 -1
  548. data/src/core/lib/transport/promise_endpoint.cc +4 -4
  549. data/src/core/lib/transport/promise_endpoint.h +11 -11
  550. data/src/core/lib/transport/timeout_encoding.cc +4 -4
  551. data/src/core/lib/transport/transport.cc +3 -3
  552. data/src/core/lib/transport/transport.h +62 -4
  553. data/src/core/lib/transport/transport_framing_endpoint_extension.h +1 -1
  554. data/src/core/lib/transport/transport_op_string.cc +2 -2
  555. data/src/core/load_balancing/address_filtering.cc +1 -1
  556. data/src/core/load_balancing/address_filtering.h +2 -2
  557. data/src/core/load_balancing/backend_metric_parser.cc +1 -1
  558. data/src/core/load_balancing/backend_metric_parser.h +1 -1
  559. data/src/core/load_balancing/child_policy_handler.cc +8 -8
  560. data/src/core/load_balancing/child_policy_handler.h +2 -2
  561. data/src/core/load_balancing/delegating_helper.h +2 -2
  562. data/src/core/load_balancing/endpoint_list.cc +6 -6
  563. data/src/core/load_balancing/endpoint_list.h +2 -2
  564. data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +7 -5
  565. data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +5 -1
  566. data/src/core/load_balancing/grpclb/grpclb.cc +37 -48
  567. data/src/core/load_balancing/grpclb/grpclb_client_stats.h +2 -2
  568. data/src/core/load_balancing/grpclb/load_balancer_api.cc +1 -1
  569. data/src/core/load_balancing/grpclb/load_balancer_api.h +1 -1
  570. data/src/core/load_balancing/health_check_client.cc +13 -9
  571. data/src/core/load_balancing/health_check_client_internal.h +5 -5
  572. data/src/core/load_balancing/lb_policy.h +11 -8
  573. data/src/core/load_balancing/lb_policy_factory.h +2 -2
  574. data/src/core/load_balancing/lb_policy_registry.cc +3 -3
  575. data/src/core/load_balancing/lb_policy_registry.h +2 -2
  576. data/src/core/load_balancing/oob_backend_metric.cc +11 -7
  577. data/src/core/load_balancing/oob_backend_metric_internal.h +4 -4
  578. data/src/core/load_balancing/outlier_detection/outlier_detection.cc +9 -17
  579. data/src/core/load_balancing/pick_first/pick_first.cc +62 -32
  580. data/src/core/load_balancing/priority/priority.cc +29 -30
  581. data/src/core/load_balancing/ring_hash/ring_hash.cc +11 -11
  582. data/src/core/load_balancing/rls/rls.cc +23 -23
  583. data/src/core/load_balancing/round_robin/round_robin.cc +16 -16
  584. data/src/core/load_balancing/subchannel_interface.h +2 -2
  585. data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc +3 -3
  586. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +42 -41
  587. data/src/core/load_balancing/weighted_target/weighted_target.cc +14 -14
  588. data/src/core/load_balancing/xds/cds.cc +81 -37
  589. data/src/core/load_balancing/xds/xds_cluster_impl.cc +24 -41
  590. data/src/core/load_balancing/xds/xds_cluster_manager.cc +6 -6
  591. data/src/core/load_balancing/xds/xds_override_host.cc +14 -14
  592. data/src/core/load_balancing/xds/xds_override_host.h +1 -1
  593. data/src/core/load_balancing/xds/xds_wrr_locality.cc +5 -5
  594. data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +8 -8
  595. data/src/core/resolver/dns/c_ares/dns_resolver_ares.h +1 -1
  596. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver.h +1 -1
  597. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +4 -4
  598. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +35 -35
  599. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +16 -16
  600. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +2 -2
  601. data/src/core/resolver/dns/dns_resolver_plugin.cc +8 -5
  602. data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +10 -10
  603. data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.h +1 -1
  604. data/src/core/resolver/dns/event_engine/service_config_helper.cc +2 -2
  605. data/src/core/resolver/dns/native/dns_resolver.cc +7 -7
  606. data/src/core/resolver/endpoint_addresses.cc +6 -6
  607. data/src/core/resolver/endpoint_addresses.h +4 -1
  608. data/src/core/resolver/fake/fake_resolver.cc +3 -3
  609. data/src/core/resolver/fake/fake_resolver.h +3 -3
  610. data/src/core/resolver/google_c2p/google_c2p_resolver.cc +46 -59
  611. data/src/core/resolver/polling_resolver.cc +8 -8
  612. data/src/core/resolver/polling_resolver.h +1 -1
  613. data/src/core/resolver/resolver.h +2 -2
  614. data/src/core/resolver/resolver_factory.h +2 -2
  615. data/src/core/resolver/resolver_registry.cc +5 -4
  616. data/src/core/resolver/resolver_registry.h +1 -1
  617. data/src/core/resolver/sockaddr/sockaddr_resolver.cc +4 -4
  618. data/src/core/resolver/xds/xds_config.cc +1 -1
  619. data/src/core/resolver/xds/xds_config.h +3 -3
  620. data/src/core/resolver/xds/xds_dependency_manager.cc +7 -7
  621. data/src/core/resolver/xds/xds_dependency_manager.h +3 -3
  622. data/src/core/resolver/xds/xds_resolver.cc +25 -22
  623. data/src/core/resolver/xds/xds_resolver_attributes.h +1 -1
  624. data/src/core/server/add_port.cc +2 -2
  625. data/src/core/server/server.cc +47 -43
  626. data/src/core/server/server.h +8 -7
  627. data/src/core/server/server_call_tracer_filter.cc +1 -1
  628. data/src/core/server/server_call_tracer_filter.h +9 -5
  629. data/src/core/server/server_config_selector.h +2 -2
  630. data/src/core/server/server_config_selector_filter.cc +5 -5
  631. data/src/core/server/xds_channel_stack_modifier.cc +3 -2
  632. data/src/core/server/xds_channel_stack_modifier.h +1 -1
  633. data/src/core/server/xds_server_config_fetcher.cc +19 -18
  634. data/src/core/service_config/service_config.h +1 -1
  635. data/src/core/service_config/service_config_channel_arg_filter.h +4 -1
  636. data/src/core/service_config/service_config_impl.cc +3 -3
  637. data/src/core/service_config/service_config_impl.h +4 -4
  638. data/src/core/service_config/service_config_parser.h +1 -1
  639. data/src/core/telemetry/call_tracer.cc +39 -49
  640. data/src/core/telemetry/call_tracer.h +201 -24
  641. data/src/core/telemetry/default_tcp_tracer.h +3 -3
  642. data/src/core/telemetry/histogram.h +205 -0
  643. data/src/core/telemetry/instrument.cc +999 -0
  644. data/src/core/telemetry/instrument.h +1105 -0
  645. data/src/core/telemetry/metrics.cc +15 -5
  646. data/src/core/telemetry/metrics.h +36 -5
  647. data/src/core/telemetry/stats.h +2 -2
  648. data/src/core/telemetry/stats_data.cc +1 -20
  649. data/src/core/telemetry/stats_data.h +2 -21
  650. data/src/core/transport/auth_context.cc +3 -3
  651. data/src/core/transport/auth_context.h +2 -1
  652. data/src/core/transport/auth_context_comparator_registry.h +1 -1
  653. data/src/core/tsi/alts/crypt/aes_gcm.cc +1 -1
  654. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +2 -2
  655. data/src/core/tsi/alts/frame_protector/frame_handler.cc +1 -1
  656. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +81 -48
  657. data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +1 -0
  658. data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +3 -3
  659. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +46 -36
  660. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +4 -4
  661. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +1 -1
  662. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +4 -4
  663. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +11 -3
  664. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol.h +10 -0
  665. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +16 -8
  666. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h +3 -0
  667. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +18 -5
  668. data/src/core/tsi/fake_transport_security.cc +6 -5
  669. data/src/core/tsi/local_transport_security.cc +1 -1
  670. data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +5 -5
  671. data/src/core/tsi/ssl/key_logging/ssl_key_logging.h +1 -1
  672. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +10 -10
  673. data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +4 -4
  674. data/src/core/tsi/ssl_transport_security.cc +30 -30
  675. data/src/core/tsi/ssl_transport_security.h +1 -1
  676. data/src/core/tsi/ssl_transport_security_utils.cc +10 -10
  677. data/src/core/tsi/ssl_transport_security_utils.h +2 -2
  678. data/src/core/tsi/transport_security_grpc.cc +8 -0
  679. data/src/core/tsi/transport_security_grpc.h +15 -0
  680. data/src/core/util/alloc.cc +1 -1
  681. data/src/core/util/backoff.h +1 -1
  682. data/src/core/util/chunked_vector.h +4 -4
  683. data/src/core/util/crash.h +1 -1
  684. data/src/core/util/dual_ref_counted.h +2 -2
  685. data/src/core/util/event_log.cc +2 -2
  686. data/src/core/util/event_log.h +3 -3
  687. data/src/core/util/gcp_metadata_query.cc +7 -7
  688. data/src/core/util/gcp_metadata_query.h +2 -2
  689. data/src/core/util/glob.cc +2 -0
  690. data/src/core/util/grpc_check.cc +24 -0
  691. data/src/core/util/grpc_check.h +103 -0
  692. data/src/core/util/grpc_if_nametoindex_posix.cc +1 -1
  693. data/src/core/util/grpc_if_nametoindex_unsupported.cc +1 -1
  694. data/src/core/util/http_client/format_request.cc +1 -1
  695. data/src/core/util/http_client/httpcli.cc +6 -6
  696. data/src/core/util/http_client/httpcli.h +4 -4
  697. data/src/core/util/http_client/httpcli_security_connector.cc +4 -4
  698. data/src/core/util/http_client/parser.cc +4 -4
  699. data/src/core/util/json/json_channel_args.h +1 -1
  700. data/src/core/util/json/json_object_loader.h +6 -6
  701. data/src/core/util/json/json_reader.cc +2 -2
  702. data/src/core/util/json/json_reader.h +1 -1
  703. data/src/core/util/json/json_util.h +3 -3
  704. data/src/core/util/json/json_writer.cc +1 -1
  705. data/src/core/util/latent_see.cc +45 -24
  706. data/src/core/util/latent_see.h +199 -28
  707. data/src/core/util/linux/cpu.cc +1 -1
  708. data/src/core/util/load_file.cc +1 -1
  709. data/src/core/util/load_file.h +1 -1
  710. data/src/core/util/log.cc +3 -3
  711. data/src/core/util/lru_cache.h +4 -4
  712. data/src/core/util/matchers.h +1 -1
  713. data/src/core/util/memory_usage.h +17 -1
  714. data/src/core/util/mpscq.h +1 -1
  715. data/src/core/util/notification.h +1 -1
  716. data/src/core/util/posix/cpu.cc +1 -1
  717. data/src/core/util/posix/directory_reader.cc +3 -2
  718. data/src/core/util/posix/stat.cc +2 -2
  719. data/src/core/util/posix/sync.cc +24 -24
  720. data/src/core/util/posix/thd.cc +2 -2
  721. data/src/core/util/posix/tmpfile.cc +2 -2
  722. data/src/core/util/postmortem_emit.cc +52 -0
  723. data/src/core/util/postmortem_emit.h +30 -0
  724. data/src/core/util/ref_counted.h +2 -2
  725. data/src/core/util/ref_counted_ptr.h +6 -1
  726. data/src/core/util/ref_counted_string.h +1 -1
  727. data/src/core/util/single_set_ptr.h +3 -1
  728. data/src/core/util/status_helper.cc +8 -8
  729. data/src/core/util/status_helper.h +1 -1
  730. data/src/core/util/string.cc +2 -2
  731. data/src/core/util/sync_abseil.cc +1 -1
  732. data/src/core/util/table.h +1 -1
  733. data/src/core/util/time.cc +1 -1
  734. data/src/core/util/time_precise.cc +1 -1
  735. data/src/core/util/trie_lookup.h +170 -0
  736. data/src/core/util/unique_ptr_with_bitset.h +5 -5
  737. data/src/core/util/unique_type_name.h +1 -1
  738. data/src/core/util/upb_utils.h +6 -1
  739. data/src/core/util/validation_errors.cc +2 -2
  740. data/src/core/util/validation_errors.h +2 -3
  741. data/src/core/util/wait_for_single_owner.h +2 -2
  742. data/src/core/util/windows/directory_reader.cc +1 -1
  743. data/src/core/util/windows/stat.cc +2 -2
  744. data/src/core/util/windows/thd.cc +2 -2
  745. data/src/core/util/windows/time.cc +1 -1
  746. data/src/core/util/work_serializer.cc +3 -3
  747. data/src/core/util/work_serializer.h +2 -2
  748. data/src/core/xds/grpc/certificate_provider_store.cc +2 -2
  749. data/src/core/xds/grpc/certificate_provider_store.h +2 -2
  750. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +3 -3
  751. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.h +1 -1
  752. data/src/core/xds/grpc/xds_audit_logger_registry.cc +3 -3
  753. data/src/core/xds/grpc/xds_audit_logger_registry.h +1 -1
  754. data/src/core/xds/grpc/xds_bootstrap_grpc.cc +7 -7
  755. data/src/core/xds/grpc/xds_bootstrap_grpc.h +8 -3
  756. data/src/core/xds/grpc/xds_certificate_provider.cc +4 -4
  757. data/src/core/xds/grpc/xds_certificate_provider.h +2 -2
  758. data/src/core/xds/grpc/xds_client_grpc.cc +39 -20
  759. data/src/core/xds/grpc/xds_client_grpc.h +6 -3
  760. data/src/core/xds/grpc/xds_cluster.cc +2 -2
  761. data/src/core/xds/grpc/xds_cluster.h +1 -1
  762. data/src/core/xds/grpc/xds_cluster_parser.cc +7 -7
  763. data/src/core/xds/grpc/xds_cluster_parser.h +1 -1
  764. data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +4 -4
  765. data/src/core/xds/grpc/xds_cluster_specifier_plugin.h +1 -1
  766. data/src/core/xds/grpc/xds_common_types.cc +1 -1
  767. data/src/core/xds/grpc/xds_common_types.h +1 -1
  768. data/src/core/xds/grpc/xds_common_types_parser.cc +5 -5
  769. data/src/core/xds/grpc/xds_endpoint.h +2 -2
  770. data/src/core/xds/grpc/xds_endpoint_parser.cc +7 -7
  771. data/src/core/xds/grpc/xds_endpoint_parser.h +1 -1
  772. data/src/core/xds/grpc/xds_health_status.cc +1 -1
  773. data/src/core/xds/grpc/xds_health_status.h +1 -1
  774. data/src/core/xds/grpc/xds_http_fault_filter.cc +4 -4
  775. data/src/core/xds/grpc/xds_http_fault_filter.h +2 -2
  776. data/src/core/xds/grpc/xds_http_filter.h +3 -3
  777. data/src/core/xds/grpc/xds_http_filter_registry.cc +4 -3
  778. data/src/core/xds/grpc/xds_http_filter_registry.h +2 -2
  779. data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +3 -3
  780. data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +2 -2
  781. data/src/core/xds/grpc/xds_http_rbac_filter.cc +4 -4
  782. data/src/core/xds/grpc/xds_http_rbac_filter.h +2 -2
  783. data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +3 -3
  784. data/src/core/xds/grpc/xds_http_stateful_session_filter.h +2 -2
  785. data/src/core/xds/grpc/xds_lb_policy_registry.cc +1 -1
  786. data/src/core/xds/grpc/xds_lb_policy_registry.h +1 -1
  787. data/src/core/xds/grpc/xds_listener.cc +2 -2
  788. data/src/core/xds/grpc/xds_listener_parser.cc +9 -9
  789. data/src/core/xds/grpc/xds_listener_parser.h +1 -1
  790. data/src/core/xds/grpc/xds_matcher.cc +277 -0
  791. data/src/core/xds/grpc/xds_matcher.h +432 -0
  792. data/src/core/xds/grpc/xds_matcher_action.cc +47 -0
  793. data/src/core/xds/grpc/xds_matcher_action.h +48 -0
  794. data/src/core/xds/grpc/xds_matcher_context.cc +29 -0
  795. data/src/core/xds/grpc/xds_matcher_context.h +46 -0
  796. data/src/core/xds/grpc/xds_matcher_input.cc +79 -0
  797. data/src/core/xds/grpc/xds_matcher_input.h +105 -0
  798. data/src/core/xds/grpc/xds_matcher_parse.cc +356 -0
  799. data/src/core/xds/grpc/xds_matcher_parse.h +39 -0
  800. data/src/core/xds/grpc/xds_metadata.cc +4 -3
  801. data/src/core/xds/grpc/xds_metadata.h +3 -3
  802. data/src/core/xds/grpc/xds_metadata_parser.cc +2 -2
  803. data/src/core/xds/grpc/xds_route_config.cc +3 -3
  804. data/src/core/xds/grpc/xds_route_config_parser.cc +14 -14
  805. data/src/core/xds/grpc/xds_route_config_parser.h +1 -1
  806. data/src/core/xds/grpc/xds_routing.cc +6 -6
  807. data/src/core/xds/grpc/xds_routing.h +2 -2
  808. data/src/core/xds/grpc/xds_server_grpc.cc +2 -2
  809. data/src/core/xds/grpc/xds_transport_grpc.cc +11 -11
  810. data/src/core/xds/grpc/xds_transport_grpc.h +2 -2
  811. data/src/core/xds/xds_client/lrs_client.cc +9 -9
  812. data/src/core/xds/xds_client/lrs_client.h +4 -4
  813. data/src/core/xds/xds_client/xds_api.h +1 -1
  814. data/src/core/xds/xds_client/xds_backend_metric_propagation.cc +1 -1
  815. data/src/core/xds/xds_client/xds_backend_metric_propagation.h +1 -1
  816. data/src/core/xds/xds_client/xds_client.cc +17 -17
  817. data/src/core/xds/xds_client/xds_client.h +5 -5
  818. data/src/core/xds/xds_client/xds_locality.h +2 -2
  819. data/src/core/xds/xds_client/xds_resource_type.h +2 -2
  820. data/src/core/xds/xds_client/xds_resource_type_impl.h +1 -1
  821. data/src/core/xds/xds_client/xds_transport.h +2 -2
  822. data/src/ruby/ext/grpc/extconf.rb +14 -12
  823. data/src/ruby/ext/grpc/rb_call.c +0 -1
  824. data/src/ruby/ext/grpc/rb_channel_args.c +0 -1
  825. data/src/ruby/ext/grpc/rb_channel_credentials.c +0 -1
  826. data/src/ruby/ext/grpc/rb_compression_options.c +0 -1
  827. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +2 -2
  828. data/src/ruby/ext/grpc/rb_server_credentials.c +0 -1
  829. data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +0 -1
  830. data/src/ruby/ext/grpc/rb_xds_server_credentials.c +0 -1
  831. data/src/ruby/lib/grpc/grpc.rb +7 -9
  832. data/src/ruby/lib/grpc/version.rb +1 -1
  833. data/src/ruby/spec/client_server_spec.rb +1 -1
  834. data/src/ruby/spec/generic/rpc_server_pool_spec.rb +1 -1
  835. data/src/ruby/spec/generic/rpc_server_spec.rb +3 -4
  836. data/src/ruby/spec/spec_helper.rb +1 -1
  837. data/third_party/abseil-cpp/absl/container/internal/node_slot_policy.h +95 -0
  838. data/third_party/abseil-cpp/absl/container/node_hash_map.h +687 -0
  839. metadata +67 -8
@@ -33,13 +33,6 @@
33
33
  #include <type_traits>
34
34
  #include <utility>
35
35
 
36
- #include "absl/container/inlined_vector.h"
37
- #include "absl/functional/function_ref.h"
38
- #include "absl/log/check.h"
39
- #include "absl/log/log.h"
40
- #include "absl/meta/type_traits.h"
41
- #include "absl/status/status.h"
42
- #include "absl/strings/string_view.h"
43
36
  #include "src/core/call/call_filters.h"
44
37
  #include "src/core/call/call_finalization.h"
45
38
  #include "src/core/call/message.h"
@@ -73,8 +66,15 @@
73
66
  #include "src/core/lib/transport/error_utils.h"
74
67
  #include "src/core/lib/transport/transport.h"
75
68
  #include "src/core/util/debug_location.h"
69
+ #include "src/core/util/grpc_check.h"
76
70
  #include "src/core/util/match.h"
77
71
  #include "src/core/util/time.h"
72
+ #include "absl/container/inlined_vector.h"
73
+ #include "absl/functional/function_ref.h"
74
+ #include "absl/log/log.h"
75
+ #include "absl/meta/type_traits.h"
76
+ #include "absl/status/status.h"
77
+ #include "absl/strings/string_view.h"
78
78
 
79
79
  namespace grpc_core {
80
80
 
@@ -287,7 +287,7 @@ auto MapResult(const NoInterceptor*, Promise x, void*) {
287
287
  template <typename Promise, typename Derived>
288
288
  auto MapResult(absl::Status (Derived::Call::*fn)(ServerMetadata&), Promise x,
289
289
  FilterCallData<Derived>* call_data) {
290
- DCHECK(fn == &Derived::Call::OnServerTrailingMetadata);
290
+ GRPC_DCHECK(fn == &Derived::Call::OnServerTrailingMetadata);
291
291
  return OnCancel(Map(std::move(x),
292
292
  [call_data](ServerMetadataHandle md) {
293
293
  auto status =
@@ -308,7 +308,7 @@ auto MapResult(absl::Status (Derived::Call::*fn)(ServerMetadata&), Promise x,
308
308
  template <typename Promise, typename Derived>
309
309
  auto MapResult(void (Derived::Call::*fn)(ServerMetadata&), Promise x,
310
310
  FilterCallData<Derived>* call_data) {
311
- DCHECK(fn == &Derived::Call::OnServerTrailingMetadata);
311
+ GRPC_DCHECK(fn == &Derived::Call::OnServerTrailingMetadata);
312
312
  return OnCancel(Map(std::move(x),
313
313
  [call_data](ServerMetadataHandle md) {
314
314
  call_data->call.OnServerTrailingMetadata(*md);
@@ -325,7 +325,7 @@ auto MapResult(void (Derived::Call::*fn)(ServerMetadata&), Promise x,
325
325
  template <typename Promise, typename Derived>
326
326
  auto MapResult(void (Derived::Call::*fn)(ServerMetadata&, Derived*), Promise x,
327
327
  FilterCallData<Derived>* call_data) {
328
- DCHECK(fn == &Derived::Call::OnServerTrailingMetadata);
328
+ GRPC_DCHECK(fn == &Derived::Call::OnServerTrailingMetadata);
329
329
  return OnCancel(
330
330
  Map(std::move(x),
331
331
  [call_data](ServerMetadataHandle md) {
@@ -346,7 +346,7 @@ template <typename P, typename Call, typename Derived,
346
346
  typename = std::enable_if_t<IsFusedFilter<Derived>::value>>
347
347
  auto MapResult(void (Call::*fn)(ServerMetadata&, Derived*), P x,
348
348
  FilterCallData<Derived>* call_data) {
349
- DCHECK(fn == &Derived::Call::OnServerTrailingMetadata);
349
+ GRPC_DCHECK(fn == &Derived::Call::OnServerTrailingMetadata);
350
350
  return OnCancel(
351
351
  Map(std::move(x),
352
352
  [call_data](ServerMetadataHandle md) {
@@ -367,7 +367,7 @@ template <typename P, typename Call, typename Derived,
367
367
  typename = std::enable_if_t<IsFusedFilter<Derived>::value>>
368
368
  auto MapResult(void (Call::*fn)(ServerMetadata&), P x,
369
369
  FilterCallData<Derived>* call_data) {
370
- DCHECK(fn == &Derived::Call::OnServerTrailingMetadata);
370
+ GRPC_DCHECK(fn == &Derived::Call::OnServerTrailingMetadata);
371
371
  return OnCancel(Map(std::move(x),
372
372
  [call_data](ServerMetadataHandle md) {
373
373
  call_data->call.OnServerTrailingMetadata(*md);
@@ -552,7 +552,7 @@ template <typename Interceptor, typename Derived>
552
552
  auto RunCall(Interceptor interceptor, CallArgs call_args,
553
553
  NextPromiseFactory next_promise_factory,
554
554
  FilterCallData<Derived>* call_data) {
555
- DCHECK(interceptor == &Derived::Call::OnClientInitialMetadata);
555
+ GRPC_DCHECK(interceptor == &Derived::Call::OnClientInitialMetadata);
556
556
  return RunCallImpl<Interceptor, Derived>::Run(
557
557
  std::move(call_args), std::move(next_promise_factory), call_data);
558
558
  }
@@ -1248,7 +1248,9 @@ class InvalidChannelFilter : public ChannelFilter {
1248
1248
  };
1249
1249
 
1250
1250
  // Call data shared between all implementations of promise-based filters.
1251
- class BaseCallData : public Activity, private Wakeable {
1251
+ class BaseCallData : public Activity,
1252
+ private Wakeable,
1253
+ public channelz::DataSource {
1252
1254
  protected:
1253
1255
  // Hook to allow interception of messages on the send/receive path by
1254
1256
  // PipeSender and PipeReceiver, as appropriate according to whether we're
@@ -1273,7 +1275,8 @@ class BaseCallData : public Activity, private Wakeable {
1273
1275
  ~BaseCallData() override;
1274
1276
 
1275
1277
  void set_pollent(grpc_polling_entity* pollent) {
1276
- CHECK(nullptr == pollent_.exchange(pollent, std::memory_order_release));
1278
+ GRPC_CHECK(nullptr ==
1279
+ pollent_.exchange(pollent, std::memory_order_release));
1277
1280
  }
1278
1281
 
1279
1282
  // Activity implementation (partial).
@@ -1292,6 +1295,8 @@ class BaseCallData : public Activity, private Wakeable {
1292
1295
 
1293
1296
  Call* call() { return arena_->GetContext<Call>(); }
1294
1297
 
1298
+ void AddData(channelz::DataSink sink) final;
1299
+
1295
1300
  protected:
1296
1301
  class ScopedContext : public promise_detail::Context<Arena>,
1297
1302
  public promise_detail::Context<grpc_polling_entity>,
@@ -1314,7 +1319,7 @@ class BaseCallData : public Activity, private Wakeable {
1314
1319
  ~Flusher();
1315
1320
 
1316
1321
  void Resume(grpc_transport_stream_op_batch* batch) {
1317
- CHECK(!call_->is_last());
1322
+ GRPC_CHECK(!call_->is_last());
1318
1323
  if (batch->HasOp()) {
1319
1324
  release_.push_back(batch);
1320
1325
  } else if (batch->on_complete != nullptr) {
@@ -1393,7 +1398,7 @@ class BaseCallData : public Activity, private Wakeable {
1393
1398
  PipeSender<MessageHandle>* original_sender() override { abort(); }
1394
1399
 
1395
1400
  void GotPipe(PipeReceiver<MessageHandle>* receiver) override {
1396
- CHECK_EQ(receiver_, nullptr);
1401
+ GRPC_CHECK_EQ(receiver_, nullptr);
1397
1402
  receiver_ = receiver;
1398
1403
  }
1399
1404
 
@@ -1401,7 +1406,7 @@ class BaseCallData : public Activity, private Wakeable {
1401
1406
 
1402
1407
  PipeSender<MessageHandle>* Push() override { return &pipe_.sender; }
1403
1408
  PipeReceiver<MessageHandle>* Pull() override {
1404
- CHECK_NE(receiver_, nullptr);
1409
+ GRPC_CHECK_NE(receiver_, nullptr);
1405
1410
  return receiver_;
1406
1411
  }
1407
1412
 
@@ -1422,12 +1427,12 @@ class BaseCallData : public Activity, private Wakeable {
1422
1427
  void GotPipe(PipeReceiver<MessageHandle>*) override { abort(); }
1423
1428
 
1424
1429
  void GotPipe(PipeSender<MessageHandle>* sender) override {
1425
- CHECK_EQ(sender_, nullptr);
1430
+ GRPC_CHECK_EQ(sender_, nullptr);
1426
1431
  sender_ = sender;
1427
1432
  }
1428
1433
 
1429
1434
  PipeSender<MessageHandle>* Push() override {
1430
- CHECK_NE(sender_, nullptr);
1435
+ GRPC_CHECK_NE(sender_, nullptr);
1431
1436
  return sender_;
1432
1437
  }
1433
1438
  PipeReceiver<MessageHandle>* Pull() override { return &pipe_.receiver; }
@@ -1470,6 +1475,10 @@ class BaseCallData : public Activity, private Wakeable {
1470
1475
  // Return true if we've released the message for forwarding down the stack.
1471
1476
  bool IsForwarded() const { return state_ == State::kForwardedBatch; }
1472
1477
 
1478
+ channelz::PropertyList ChannelzProperties() {
1479
+ return channelz::PropertyList().Set("state", StateString(state_));
1480
+ }
1481
+
1473
1482
  private:
1474
1483
  enum class State : uint8_t {
1475
1484
  // Starting state: no batch started, no outgoing pipe configured.
@@ -1543,6 +1552,10 @@ class BaseCallData : public Activity, private Wakeable {
1543
1552
  // Call is completed, we have trailing metadata. Close things out.
1544
1553
  void Done(const ServerMetadata& metadata, Flusher* flusher);
1545
1554
 
1555
+ channelz::PropertyList ChannelzProperties() {
1556
+ return channelz::PropertyList().Set("state", StateString(state_));
1557
+ }
1558
+
1546
1559
  private:
1547
1560
  enum class State : uint8_t {
1548
1561
  // Starting state: no batch started, no incoming pipe configured.
@@ -1625,6 +1638,7 @@ class BaseCallData : public Activity, private Wakeable {
1625
1638
  }
1626
1639
  SendMessage* send_message() const { return send_message_; }
1627
1640
  ReceiveMessage* receive_message() const { return receive_message_; }
1641
+ virtual channelz::PropertyList ChannelzProperties() const;
1628
1642
 
1629
1643
  bool is_last() const {
1630
1644
  return grpc_call_stack_element(call_stack_, call_stack_->count - 1) ==
@@ -1706,6 +1720,7 @@ class ClientCallData : public BaseCallData {
1706
1720
  static const char* StateString(SendInitialState);
1707
1721
  static const char* StateString(RecvTrailingState);
1708
1722
  std::string DebugString() const;
1723
+ channelz::PropertyList ChannelzProperties() const override;
1709
1724
 
1710
1725
  struct RecvInitialMetadata;
1711
1726
  class PollContext;
@@ -1822,6 +1837,7 @@ class ServerCallData : public BaseCallData {
1822
1837
  static const char* StateString(RecvInitialState state);
1823
1838
  static const char* StateString(SendTrailingState state);
1824
1839
  std::string DebugString() const;
1840
+ channelz::PropertyList ChannelzProperties() const override;
1825
1841
 
1826
1842
  class PollContext;
1827
1843
  struct SendInitialMetadata;
@@ -1942,7 +1958,7 @@ struct CallDataFilterWithFlagsMethods {
1942
1958
  if ((kFlags & kFilterIsLast) != 0) {
1943
1959
  ExecCtx::Run(DEBUG_LOCATION, then_schedule_closure, absl::OkStatus());
1944
1960
  } else {
1945
- CHECK_EQ(then_schedule_closure, nullptr);
1961
+ GRPC_CHECK_EQ(then_schedule_closure, nullptr);
1946
1962
  }
1947
1963
  }
1948
1964
  };
@@ -1979,12 +1995,12 @@ template <typename F, uint8_t kFlags>
1979
1995
  struct ChannelFilterWithFlagsMethods {
1980
1996
  static absl::Status InitChannelElem(grpc_channel_element* elem,
1981
1997
  grpc_channel_element_args* args) {
1982
- CHECK(args->is_last == ((kFlags & kFilterIsLast) != 0));
1998
+ GRPC_CHECK(args->is_last == ((kFlags & kFilterIsLast) != 0));
1983
1999
  auto status =
1984
2000
  F::Create(args->channel_args,
1985
2001
  ChannelFilter::Args(args->channel_stack, elem,
1986
2002
  grpc_channel_stack_filter_instance_number,
1987
- args->blackboard));
2003
+ args->config, args->blackboard));
1988
2004
  if (!status.ok()) {
1989
2005
  new (elem->channel_data) F*(nullptr);
1990
2006
  return absl_status_to_grpc_error(status.status());
@@ -24,16 +24,16 @@
24
24
 
25
25
  #include <string>
26
26
 
27
- #include "absl/container/inlined_vector.h"
28
- #include "absl/log/check.h"
29
- #include "absl/strings/ascii.h"
30
- #include "absl/strings/str_format.h"
31
- #include "absl/strings/str_split.h"
32
27
  #include "src/core/lib/channel/channel_args.h"
33
28
  #include "src/core/lib/debug/trace.h"
34
29
  #include "src/core/util/crash.h"
30
+ #include "src/core/util/grpc_check.h"
35
31
  #include "src/core/util/ref_counted_ptr.h"
36
32
  #include "src/core/util/ref_counted_string.h"
33
+ #include "absl/container/inlined_vector.h"
34
+ #include "absl/strings/ascii.h"
35
+ #include "absl/strings/str_format.h"
36
+ #include "absl/strings/str_split.h"
37
37
 
38
38
  namespace grpc_core {
39
39
 
@@ -118,7 +118,7 @@ CompressionAlgorithmSet::CompressionAlgorithmForLevel(
118
118
  return GRPC_COMPRESS_NONE;
119
119
  }
120
120
 
121
- CHECK_GT(level, 0);
121
+ GRPC_CHECK_GT(level, 0);
122
122
 
123
123
  // Establish a "ranking" or compression algorithms in increasing order of
124
124
  // compression.
@@ -26,10 +26,10 @@
26
26
  #include <initializer_list>
27
27
  #include <optional>
28
28
 
29
- #include "absl/strings/string_view.h"
30
29
  #include "src/core/lib/channel/channel_args.h"
31
30
  #include "src/core/lib/slice/slice.h"
32
31
  #include "src/core/util/bitset.h"
32
+ #include "absl/strings/string_view.h"
33
33
 
34
34
  namespace grpc_core {
35
35
 
@@ -25,9 +25,9 @@
25
25
  #include <zconf.h>
26
26
  #include <zlib.h>
27
27
 
28
- #include "absl/log/check.h"
29
- #include "absl/log/log.h"
30
28
  #include "src/core/lib/slice/slice.h"
29
+ #include "src/core/util/grpc_check.h"
30
+ #include "absl/log/log.h"
31
31
 
32
32
  #define OUTPUT_BLOCK_SIZE 1024
33
33
 
@@ -40,20 +40,20 @@ static int zlib_body(z_stream* zs, grpc_slice_buffer* input,
40
40
  grpc_slice outbuf = GRPC_SLICE_MALLOC(OUTPUT_BLOCK_SIZE);
41
41
  const uInt uint_max = ~uInt{0};
42
42
 
43
- CHECK(GRPC_SLICE_LENGTH(outbuf) <= uint_max);
43
+ GRPC_CHECK(GRPC_SLICE_LENGTH(outbuf) <= uint_max);
44
44
  zs->avail_out = static_cast<uInt> GRPC_SLICE_LENGTH(outbuf);
45
45
  zs->next_out = GRPC_SLICE_START_PTR(outbuf);
46
46
  flush = Z_NO_FLUSH;
47
47
  for (i = 0; i < input->count; i++) {
48
48
  if (i == input->count - 1) flush = Z_FINISH;
49
- CHECK(GRPC_SLICE_LENGTH(input->slices[i]) <= uint_max);
49
+ GRPC_CHECK(GRPC_SLICE_LENGTH(input->slices[i]) <= uint_max);
50
50
  zs->avail_in = static_cast<uInt> GRPC_SLICE_LENGTH(input->slices[i]);
51
51
  zs->next_in = GRPC_SLICE_START_PTR(input->slices[i]);
52
52
  do {
53
53
  if (zs->avail_out == 0) {
54
54
  grpc_slice_buffer_add_indexed(output, outbuf);
55
55
  outbuf = GRPC_SLICE_MALLOC(OUTPUT_BLOCK_SIZE);
56
- CHECK(GRPC_SLICE_LENGTH(outbuf) <= uint_max);
56
+ GRPC_CHECK(GRPC_SLICE_LENGTH(outbuf) <= uint_max);
57
57
  zs->avail_out = static_cast<uInt> GRPC_SLICE_LENGTH(outbuf);
58
58
  zs->next_out = GRPC_SLICE_START_PTR(outbuf);
59
59
  }
@@ -73,7 +73,7 @@ static int zlib_body(z_stream* zs, grpc_slice_buffer* input,
73
73
  goto error;
74
74
  }
75
75
 
76
- CHECK(outbuf.refcount);
76
+ GRPC_CHECK(outbuf.refcount);
77
77
  outbuf.data.refcounted.length -= zs->avail_out;
78
78
  grpc_slice_buffer_add_indexed(output, outbuf);
79
79
 
@@ -103,7 +103,7 @@ static int zlib_compress(grpc_slice_buffer* input, grpc_slice_buffer* output,
103
103
  zs.zfree = zfree_gpr;
104
104
  r = deflateInit2(&zs, Z_DEFAULT_COMPRESSION, Z_DEFLATED, 15 | (gzip ? 16 : 0),
105
105
  8, Z_DEFAULT_STRATEGY);
106
- CHECK(r == Z_OK);
106
+ GRPC_CHECK(r == Z_OK);
107
107
  r = zlib_body(&zs, input, output, deflate) && output->length < input->length;
108
108
  if (!r) {
109
109
  for (i = count_before; i < output->count; i++) {
@@ -127,7 +127,7 @@ static int zlib_decompress(grpc_slice_buffer* input, grpc_slice_buffer* output,
127
127
  zs.zalloc = zalloc_gpr;
128
128
  zs.zfree = zfree_gpr;
129
129
  r = inflateInit2(&zs, 15 | (gzip ? 16 : 0));
130
- CHECK(r == Z_OK);
130
+ GRPC_CHECK(r == Z_OK);
131
131
  r = zlib_body(&zs, input, output, inflate);
132
132
  if (!r) {
133
133
  for (i = count_before; i < output->count; i++) {
@@ -18,23 +18,20 @@
18
18
 
19
19
  #include "src/core/lib/debug/trace.h"
20
20
 
21
- #include <grpc/grpc.h>
22
21
  #include <grpc/support/port_platform.h>
23
22
 
24
23
  #include <string>
25
24
  #include <type_traits>
26
25
  #include <utility>
27
26
 
27
+ #include "src/core/config/config_vars.h"
28
+ #include "src/core/util/glob.h"
28
29
  #include "absl/log/log.h"
29
30
  #include "absl/strings/match.h"
30
31
  #include "absl/strings/str_cat.h"
31
32
  #include "absl/strings/str_split.h"
32
33
  #include "absl/strings/string_view.h"
33
34
  #include "absl/strings/strip.h"
34
- #include "src/core/config/config_vars.h"
35
- #include "src/core/util/glob.h"
36
-
37
- int grpc_tracer_set_enabled(const char* name, int enabled);
38
35
 
39
36
  namespace grpc_core {
40
37
  namespace {
@@ -18,4 +18,14 @@
18
18
  #include "src/core/lib/debug/trace_flags.h" // IWYU pragma: export
19
19
  #include "src/core/lib/debug/trace_impl.h" // IWYU pragma: export
20
20
 
21
+ #ifdef __cplusplus
22
+ extern "C" {
23
+ #endif
24
+
25
+ int grpc_tracer_set_enabled(const char* name, int enabled);
26
+
27
+ #ifdef __cplusplus
28
+ }
29
+ #endif
30
+
21
31
  #endif // GRPC_SRC_CORE_LIB_DEBUG_TRACE_H
@@ -13,12 +13,12 @@
13
13
  // limitations under the License.
14
14
 
15
15
  //
16
- // Automatically generated by tools/codegen/core/gen_trace_flags.py
16
+ // Automatically generated by tools/codegen/core/generate_trace_flags.cc
17
17
  //
18
18
 
19
- #include "absl/container/flat_hash_map.h"
20
19
  #include "src/core/lib/debug/trace.h"
21
20
  #include "src/core/util/no_destruct.h"
21
+ #include "absl/container/flat_hash_map.h"
22
22
 
23
23
  namespace grpc_core {
24
24
 
@@ -13,7 +13,7 @@
13
13
  // limitations under the License.
14
14
 
15
15
  //
16
- // Automatically generated by tools/codegen/core/gen_trace_flags.py
16
+ // Automatically generated by tools/codegen/core/generate_trace_flags.cc
17
17
  //
18
18
 
19
19
  #ifndef GRPC_SRC_CORE_LIB_DEBUG_TRACE_FLAGS_H
@@ -53,15 +53,6 @@
53
53
  #include <type_traits>
54
54
  #include <utility>
55
55
 
56
- #include "absl/functional/any_invocable.h"
57
- #include "absl/log/check.h"
58
- #include "absl/log/log.h"
59
- #include "absl/strings/match.h"
60
- #include "absl/strings/numbers.h"
61
- #include "absl/strings/str_cat.h"
62
- #include "absl/strings/str_format.h"
63
- #include "absl/strings/string_view.h"
64
- #include "absl/strings/substitute.h"
65
56
  #include "src/core/config/config_vars.h"
66
57
  #include "src/core/lib/address_utils/parse_address.h"
67
58
  #include "src/core/lib/address_utils/sockaddr_utils.h"
@@ -70,9 +61,18 @@
70
61
  #include "src/core/lib/event_engine/time_util.h"
71
62
  #include "src/core/lib/iomgr/resolved_address.h"
72
63
  #include "src/core/util/debug_location.h"
64
+ #include "src/core/util/grpc_check.h"
73
65
  #include "src/core/util/host_port.h"
74
66
  #include "src/core/util/orphanable.h"
75
67
  #include "src/core/util/ref_counted_ptr.h"
68
+ #include "absl/functional/any_invocable.h"
69
+ #include "absl/log/log.h"
70
+ #include "absl/strings/match.h"
71
+ #include "absl/strings/numbers.h"
72
+ #include "absl/strings/str_cat.h"
73
+ #include "absl/strings/str_format.h"
74
+ #include "absl/strings/string_view.h"
75
+ #include "absl/strings/substitute.h"
76
76
  #ifdef GRPC_POSIX_SOCKET_ARES_EV_DRIVER
77
77
  #include "src/core/lib/event_engine/posix_engine/tcp_socket_utils.h"
78
78
  #endif
@@ -280,9 +280,9 @@ AresResolver::AresResolver(
280
280
  }
281
281
 
282
282
  AresResolver::~AresResolver() {
283
- CHECK(fd_node_list_.empty());
284
- CHECK(callback_map_.empty());
285
- CHECK_NE(channel_, nullptr);
283
+ GRPC_CHECK(fd_node_list_.empty());
284
+ GRPC_CHECK(callback_map_.empty());
285
+ GRPC_CHECK_NE(channel_, nullptr);
286
286
  ares_destroy(channel_);
287
287
  }
288
288
 
@@ -367,7 +367,7 @@ void AresResolver::LookupHostname(
367
367
  grpc_core::MutexLock lock(&mutex_);
368
368
  callback_map_.emplace(++id_, std::move(callback));
369
369
  auto* resolver_arg = new HostnameQueryArg(this, id_, name, port);
370
- CHECK_NE(channel_, nullptr);
370
+ GRPC_CHECK_NE(channel_, nullptr);
371
371
  if (AresIsIpv6LoopbackAvailable()) {
372
372
  // Note that using AF_UNSPEC for both IPv6 and IPv4 queries does not work in
373
373
  // all cases, e.g. for localhost:<> it only gets back the IPv6 result (i.e.
@@ -415,7 +415,7 @@ void AresResolver::LookupSRV(
415
415
  grpc_core::MutexLock lock(&mutex_);
416
416
  callback_map_.emplace(++id_, std::move(callback));
417
417
  auto* resolver_arg = new QueryArg(this, id_, host);
418
- CHECK_NE(channel_, nullptr);
418
+ GRPC_CHECK_NE(channel_, nullptr);
419
419
  ares_query(channel_, std::string(host).c_str(), ns_c_in, ns_t_srv,
420
420
  &AresResolver::OnSRVQueryDoneLocked, resolver_arg);
421
421
  CheckSocketsLocked();
@@ -451,7 +451,7 @@ void AresResolver::LookupTXT(
451
451
  grpc_core::MutexLock lock(&mutex_);
452
452
  callback_map_.emplace(++id_, std::move(callback));
453
453
  auto* resolver_arg = new QueryArg(this, id_, host);
454
- CHECK_NE(channel_, nullptr);
454
+ GRPC_CHECK_NE(channel_, nullptr);
455
455
  ares_search(channel_, std::string(host).c_str(), ns_c_in, ns_t_txt,
456
456
  &AresResolver::OnTXTDoneLocked, resolver_arg);
457
457
  CheckSocketsLocked();
@@ -576,7 +576,7 @@ void AresResolver::MaybeStartTimerLocked() {
576
576
 
577
577
  void AresResolver::OnReadable(FdNode* fd_node, absl::Status status) {
578
578
  grpc_core::MutexLock lock(&mutex_);
579
- CHECK(fd_node->readable_registered);
579
+ GRPC_CHECK(fd_node->readable_registered);
580
580
  fd_node->readable_registered = false;
581
581
  GRPC_TRACE_LOG(cares_resolver, INFO)
582
582
  << "(EventEngine c-ares resolver) OnReadable: fd: " << fd_node->as
@@ -598,7 +598,7 @@ void AresResolver::OnReadable(FdNode* fd_node, absl::Status status) {
598
598
 
599
599
  void AresResolver::OnWritable(FdNode* fd_node, absl::Status status) {
600
600
  grpc_core::MutexLock lock(&mutex_);
601
- CHECK(fd_node->writable_registered);
601
+ GRPC_CHECK(fd_node->writable_registered);
602
602
  fd_node->writable_registered = false;
603
603
  GRPC_TRACE_LOG(cares_resolver, INFO)
604
604
  << "(EventEngine c-ares resolver) OnWritable: fd: " << fd_node->as
@@ -650,7 +650,7 @@ void AresResolver::OnHostbynameDoneLocked(void* arg, int status,
650
650
  int /*timeouts*/,
651
651
  struct hostent* hostent) {
652
652
  auto* hostname_qa = static_cast<HostnameQueryArg*>(arg);
653
- CHECK_GT(hostname_qa->pending_requests--, 0);
653
+ GRPC_CHECK_GT(hostname_qa->pending_requests--, 0);
654
654
  auto* ares_resolver = hostname_qa->ares_resolver;
655
655
  if (status != ARES_SUCCESS) {
656
656
  std::string error_msg =
@@ -722,8 +722,8 @@ void AresResolver::OnHostbynameDoneLocked(void* arg, int status,
722
722
  delete hostname_qa;
723
723
  return;
724
724
  }
725
- CHECK(std::holds_alternative<
726
- EventEngine::DNSResolver::LookupHostnameCallback>(nh.mapped()));
725
+ GRPC_CHECK(std::holds_alternative<
726
+ EventEngine::DNSResolver::LookupHostnameCallback>(nh.mapped()));
727
727
  auto callback = std::get<EventEngine::DNSResolver::LookupHostnameCallback>(
728
728
  std::move(nh.mapped()));
729
729
  if (!hostname_qa->result.empty() || hostname_qa->error_status.ok()) {
@@ -751,8 +751,9 @@ void AresResolver::OnSRVQueryDoneLocked(void* arg, int status, int /*timeouts*/,
751
751
  if (nh.empty()) {
752
752
  return;
753
753
  }
754
- CHECK(std::holds_alternative<EventEngine::DNSResolver::LookupSRVCallback>(
755
- nh.mapped()));
754
+ GRPC_CHECK(
755
+ std::holds_alternative<EventEngine::DNSResolver::LookupSRVCallback>(
756
+ nh.mapped()));
756
757
  auto callback = std::get<EventEngine::DNSResolver::LookupSRVCallback>(
757
758
  std::move(nh.mapped()));
758
759
  auto fail = [&](absl::string_view prefix) {
@@ -814,8 +815,9 @@ void AresResolver::OnTXTDoneLocked(void* arg, int status, int /*timeouts*/,
814
815
  if (nh.empty()) {
815
816
  return;
816
817
  }
817
- CHECK(std::holds_alternative<EventEngine::DNSResolver::LookupTXTCallback>(
818
- nh.mapped()));
818
+ GRPC_CHECK(
819
+ std::holds_alternative<EventEngine::DNSResolver::LookupTXTCallback>(
820
+ nh.mapped()));
819
821
  auto callback = std::get<EventEngine::DNSResolver::LookupTXTCallback>(
820
822
  std::move(nh.mapped()));
821
823
  auto fail = [&](absl::string_view prefix) {
@@ -894,7 +896,7 @@ void AresResolver::Reset(const absl::Status& reason) {
894
896
  callback_map_.clear();
895
897
  ShutdownLocked(reason, "resolver reset");
896
898
  CheckSocketsLocked();
897
- CHECK_NE(channel_, nullptr);
899
+ GRPC_CHECK_NE(channel_, nullptr);
898
900
  ares_destroy(channel_);
899
901
  channel_ = nullptr;
900
902
  }
@@ -903,10 +905,10 @@ void AresResolver::Restart() {
903
905
  grpc_core::MutexLock lock(&mutex_);
904
906
  polled_fd_factory_ = polled_fd_factory_->NewEmptyInstance();
905
907
  polled_fd_factory_->Initialize(&mutex_, event_engine_.get());
906
- CHECK_EQ(channel_, nullptr);
908
+ GRPC_CHECK_EQ(channel_, nullptr);
907
909
  absl::Status status =
908
910
  InitAresChannel(dns_server_, *polled_fd_factory_, &channel_);
909
- CHECK_OK(status);
911
+ GRPC_CHECK_OK(status);
910
912
  }
911
913
 
912
914
  #endif // GRPC_ENABLE_FORK_SUPPORT
@@ -922,7 +924,7 @@ void AresResolver::ShutdownLocked(const absl::Status& shutdown_status,
922
924
  GRPC_TRACE_LOG(cares_resolver, INFO) << absl::Substitute(
923
925
  "(EventEngine c-ares resolver) resolver: $0 shutdown fd: $1 ($2)",
924
926
  this, fd_node->polled_fd->GetName(), reason);
925
- CHECK(fd_node->polled_fd->ShutdownLocked(shutdown_status));
927
+ GRPC_CHECK(fd_node->polled_fd->ShutdownLocked(shutdown_status));
926
928
  fd_node->already_shutdown = true;
927
929
  }
928
930
  }
@@ -30,14 +30,14 @@
30
30
  #include <list>
31
31
  #include <memory>
32
32
 
33
- #include "absl/base/thread_annotations.h"
34
- #include "absl/container/flat_hash_map.h"
35
- #include "absl/status/statusor.h"
36
- #include "absl/strings/string_view.h"
37
33
  #include "src/core/lib/event_engine/grpc_polled_fd.h"
38
34
  #include "src/core/lib/event_engine/ref_counted_dns_resolver_interface.h"
39
35
  #include "src/core/util/orphanable.h"
40
36
  #include "src/core/util/sync.h"
37
+ #include "absl/base/thread_annotations.h"
38
+ #include "absl/container/flat_hash_map.h"
39
+ #include "absl/status/statusor.h"
40
+ #include "absl/strings/string_view.h"
41
41
 
42
42
  namespace grpc_event_engine::experimental {
43
43
 
@@ -21,8 +21,6 @@
21
21
  #include <CoreFoundation/CoreFoundation.h>
22
22
  #include <grpc/support/cpu.h>
23
23
 
24
- #include "absl/log/check.h"
25
- #include "absl/log/log.h"
26
24
  #include "src/core/lib/event_engine/cf_engine/cf_engine.h"
27
25
  #include "src/core/lib/event_engine/cf_engine/cfsocket_listener.h"
28
26
  #include "src/core/lib/event_engine/cf_engine/cfstream_endpoint.h"
@@ -32,7 +30,9 @@
32
30
  #include "src/core/lib/event_engine/thread_pool/thread_pool.h"
33
31
  #include "src/core/lib/event_engine/utils.h"
34
32
  #include "src/core/util/crash.h"
33
+ #include "src/core/util/grpc_check.h"
35
34
  #include "src/core/util/useful.h"
35
+ #include "absl/log/log.h"
36
36
 
37
37
  #ifndef GRPC_CFSTREAM_MAX_THREADPOOL_SIZE
38
38
  #define GRPC_CFSTREAM_MAX_THREADPOOL_SIZE 16u
@@ -74,7 +74,7 @@ CFEventEngine::~CFEventEngine() {
74
74
  << HandleToString(handle);
75
75
  }
76
76
  }
77
- CHECK(GPR_LIKELY(known_handles_.empty()));
77
+ GRPC_CHECK(GPR_LIKELY(known_handles_.empty()));
78
78
  timer_manager_.Shutdown();
79
79
  }
80
80
  thread_pool_->Quiesce();
@@ -18,11 +18,11 @@
18
18
  #include <AvailabilityMacros.h>
19
19
  #ifdef AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER
20
20
 
21
+ #include "src/core/lib/event_engine/cf_engine/cfstream_endpoint.h"
22
+ #include "src/core/util/strerror.h"
21
23
  #include "absl/status/status.h"
22
24
  #include "absl/strings/str_cat.h"
23
25
  #include "absl/strings/str_format.h"
24
- #include "src/core/lib/event_engine/cf_engine/cfstream_endpoint.h"
25
- #include "src/core/util/strerror.h"
26
26
 
27
27
  namespace grpc_event_engine::experimental {
28
28
 
@@ -22,7 +22,6 @@
22
22
  #include <CoreFoundation/CoreFoundation.h>
23
23
  #include <grpc/event_engine/event_engine.h>
24
24
 
25
- #include "absl/strings/str_format.h"
26
25
  #include "src/core/lib/address_utils/sockaddr_utils.h"
27
26
  #include "src/core/lib/event_engine/cf_engine/cf_engine.h"
28
27
  #include "src/core/lib/event_engine/cf_engine/cftype_unique_ref.h"
@@ -31,6 +30,7 @@
31
30
  #include "src/core/util/host_port.h"
32
31
  #include "src/core/util/ref_counted.h"
33
32
  #include "src/core/util/ref_counted_ptr.h"
33
+ #include "absl/strings/str_format.h"
34
34
 
35
35
  namespace grpc_event_engine::experimental {
36
36
 
@@ -18,14 +18,14 @@
18
18
  #include <AvailabilityMacros.h>
19
19
  #ifdef AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER
20
20
 
21
- #include "absl/log/check.h"
22
- #include "absl/strings/str_cat.h"
23
- #include "absl/strings/str_format.h"
24
21
  #include "src/core/lib/address_utils/parse_address.h"
25
22
  #include "src/core/lib/event_engine/cf_engine/dns_service_resolver.h"
26
23
  #include "src/core/lib/event_engine/posix_engine/lockfree_event.h"
27
24
  #include "src/core/lib/event_engine/tcp_socket_utils.h"
25
+ #include "src/core/util/grpc_check.h"
28
26
  #include "src/core/util/host_port.h"
27
+ #include "absl/strings/str_cat.h"
28
+ #include "absl/strings/str_format.h"
29
29
 
30
30
  namespace grpc_event_engine::experimental {
31
31
 
@@ -148,7 +148,7 @@ void DNSServiceResolverImpl::ResolveCallback(
148
148
 
149
149
  grpc_core::ReleasableMutexLock lock(&that->request_mu_);
150
150
  auto request_it = that->requests_.find(sdRef);
151
- CHECK(request_it != that->requests_.end());
151
+ GRPC_CHECK(request_it != that->requests_.end());
152
152
 
153
153
  if (errorCode != kDNSServiceErr_NoError &&
154
154
  errorCode != kDNSServiceErr_NoSuchRecord) {