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
@@ -61,6 +61,8 @@ namespace grpc_core {
61
61
  inline bool IsCallTracerInTransportEnabled() { return true; }
62
62
  inline bool IsChannelzUseV2ForV1ApiEnabled() { return false; }
63
63
  inline bool IsChannelzUseV2ForV1ServiceEnabled() { return false; }
64
+ #define GRPC_EXPERIMENT_IS_INCLUDED_CHAOTIC_GOOD_CONNECT_DEADLINE
65
+ inline bool IsChaoticGoodConnectDeadlineEnabled() { return true; }
64
66
  #define GRPC_EXPERIMENT_IS_INCLUDED_CHAOTIC_GOOD_FRAMING_LAYER
65
67
  inline bool IsChaoticGoodFramingLayerEnabled() { return true; }
66
68
  inline bool IsChttp2BoundWriteSizeEnabled() { return false; }
@@ -78,10 +80,14 @@ inline bool IsEventEngineListenerEnabled() { return true; }
78
80
  inline bool IsEventEngineCallbackCqEnabled() { return true; }
79
81
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_FOR_ALL_OTHER_ENDPOINTS
80
82
  inline bool IsEventEngineForAllOtherEndpointsEnabled() { return true; }
83
+ inline bool IsEventEnginePollerForPythonEnabled() { return false; }
81
84
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_SECURE_ENDPOINT
82
85
  inline bool IsEventEngineSecureEndpointEnabled() { return true; }
86
+ inline bool IsFailRecvMetadataOnDeadlineExceededEnabled() { return false; }
83
87
  inline bool IsFreeLargeAllocatorEnabled() { return false; }
84
88
  inline bool IsFuseFiltersEnabled() { return false; }
89
+ #define GRPC_EXPERIMENT_IS_INCLUDED_GRACEFUL_EXTERNAL_CONNECTION_FAILURE
90
+ inline bool IsGracefulExternalConnectionFailureEnabled() { return true; }
85
91
  inline bool IsKeepAlivePingTimerBatchEnabled() { return false; }
86
92
  inline bool IsLocalConnectorSecureEnabled() { return false; }
87
93
  #define GRPC_EXPERIMENT_IS_INCLUDED_MAX_INFLIGHT_PINGS_STRICT_LIMIT
@@ -89,7 +95,9 @@ inline bool IsMaxInflightPingsStrictLimitEnabled() { return true; }
89
95
  #define GRPC_EXPERIMENT_IS_INCLUDED_MONITORING_EXPERIMENT
90
96
  inline bool IsMonitoringExperimentEnabled() { return true; }
91
97
  inline bool IsMultipingEnabled() { return false; }
98
+ inline bool IsOtelExportTelemetryDomainsEnabled() { return false; }
92
99
  inline bool IsPickFirstIgnoreEmptyUpdatesEnabled() { return false; }
100
+ inline bool IsPickFirstReadyToConnectingEnabled() { return false; }
93
101
  inline bool IsPipelinedReadSecureEndpointEnabled() { return false; }
94
102
  inline bool IsPollsetAlternativeEnabled() { return false; }
95
103
  inline bool IsPrioritizeFinishedRequestsEnabled() { return false; }
@@ -101,13 +109,16 @@ inline bool IsRrWrrConnectFromRandomIndexEnabled() { return false; }
101
109
  inline bool IsScheduleCancellationOverWriteEnabled() { return false; }
102
110
  inline bool IsSecureEndpointOffloadLargeReadsEnabled() { return false; }
103
111
  inline bool IsSecureEndpointOffloadLargeWritesEnabled() { return false; }
104
- #define GRPC_EXPERIMENT_IS_INCLUDED_SERVER_GLOBAL_CALLBACKS_OWNERSHIP
105
- inline bool IsServerGlobalCallbacksOwnershipEnabled() { return true; }
106
- #define GRPC_EXPERIMENT_IS_INCLUDED_SHARD_GLOBAL_CONNECTION_POOL
107
- inline bool IsShardGlobalConnectionPoolEnabled() { return true; }
112
+ inline bool IsSkipClearPeerOnCancellationEnabled() { return false; }
108
113
  inline bool IsSleepPromiseExecCtxRemovalEnabled() { return false; }
114
+ #define GRPC_EXPERIMENT_IS_INCLUDED_SLEEP_USE_NON_OWNING_WAKER
115
+ inline bool IsSleepUseNonOwningWakerEnabled() { return true; }
116
+ inline bool IsSubchannelWrapperCleanupOnOrphanEnabled() { return false; }
109
117
  inline bool IsTcpFrameSizeTuningEnabled() { return false; }
110
118
  inline bool IsTcpRcvLowatEnabled() { return false; }
119
+ inline bool IsTrackWritesInResourceQuotaEnabled() { return false; }
120
+ inline bool IsTrackZeroCopyAllocationsInResourceQuotaEnabled() { return false; }
121
+ inline bool IsTransportStateWatcherEnabled() { return false; }
111
122
  inline bool IsTsiFrameProtectorWithoutLocksEnabled() { return false; }
112
123
  inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; }
113
124
 
@@ -116,6 +127,8 @@ inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; }
116
127
  inline bool IsCallTracerInTransportEnabled() { return true; }
117
128
  inline bool IsChannelzUseV2ForV1ApiEnabled() { return false; }
118
129
  inline bool IsChannelzUseV2ForV1ServiceEnabled() { return false; }
130
+ #define GRPC_EXPERIMENT_IS_INCLUDED_CHAOTIC_GOOD_CONNECT_DEADLINE
131
+ inline bool IsChaoticGoodConnectDeadlineEnabled() { return true; }
119
132
  #define GRPC_EXPERIMENT_IS_INCLUDED_CHAOTIC_GOOD_FRAMING_LAYER
120
133
  inline bool IsChaoticGoodFramingLayerEnabled() { return true; }
121
134
  inline bool IsChttp2BoundWriteSizeEnabled() { return false; }
@@ -133,10 +146,14 @@ inline bool IsEventEngineListenerEnabled() { return true; }
133
146
  inline bool IsEventEngineCallbackCqEnabled() { return true; }
134
147
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_FOR_ALL_OTHER_ENDPOINTS
135
148
  inline bool IsEventEngineForAllOtherEndpointsEnabled() { return true; }
149
+ inline bool IsEventEnginePollerForPythonEnabled() { return false; }
136
150
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_SECURE_ENDPOINT
137
151
  inline bool IsEventEngineSecureEndpointEnabled() { return true; }
152
+ inline bool IsFailRecvMetadataOnDeadlineExceededEnabled() { return false; }
138
153
  inline bool IsFreeLargeAllocatorEnabled() { return false; }
139
154
  inline bool IsFuseFiltersEnabled() { return false; }
155
+ #define GRPC_EXPERIMENT_IS_INCLUDED_GRACEFUL_EXTERNAL_CONNECTION_FAILURE
156
+ inline bool IsGracefulExternalConnectionFailureEnabled() { return true; }
140
157
  inline bool IsKeepAlivePingTimerBatchEnabled() { return false; }
141
158
  inline bool IsLocalConnectorSecureEnabled() { return false; }
142
159
  #define GRPC_EXPERIMENT_IS_INCLUDED_MAX_INFLIGHT_PINGS_STRICT_LIMIT
@@ -144,7 +161,9 @@ inline bool IsMaxInflightPingsStrictLimitEnabled() { return true; }
144
161
  #define GRPC_EXPERIMENT_IS_INCLUDED_MONITORING_EXPERIMENT
145
162
  inline bool IsMonitoringExperimentEnabled() { return true; }
146
163
  inline bool IsMultipingEnabled() { return false; }
164
+ inline bool IsOtelExportTelemetryDomainsEnabled() { return false; }
147
165
  inline bool IsPickFirstIgnoreEmptyUpdatesEnabled() { return false; }
166
+ inline bool IsPickFirstReadyToConnectingEnabled() { return false; }
148
167
  inline bool IsPipelinedReadSecureEndpointEnabled() { return false; }
149
168
  inline bool IsPollsetAlternativeEnabled() { return false; }
150
169
  inline bool IsPrioritizeFinishedRequestsEnabled() { return false; }
@@ -156,13 +175,16 @@ inline bool IsRrWrrConnectFromRandomIndexEnabled() { return false; }
156
175
  inline bool IsScheduleCancellationOverWriteEnabled() { return false; }
157
176
  inline bool IsSecureEndpointOffloadLargeReadsEnabled() { return false; }
158
177
  inline bool IsSecureEndpointOffloadLargeWritesEnabled() { return false; }
159
- #define GRPC_EXPERIMENT_IS_INCLUDED_SERVER_GLOBAL_CALLBACKS_OWNERSHIP
160
- inline bool IsServerGlobalCallbacksOwnershipEnabled() { return true; }
161
- #define GRPC_EXPERIMENT_IS_INCLUDED_SHARD_GLOBAL_CONNECTION_POOL
162
- inline bool IsShardGlobalConnectionPoolEnabled() { return true; }
178
+ inline bool IsSkipClearPeerOnCancellationEnabled() { return false; }
163
179
  inline bool IsSleepPromiseExecCtxRemovalEnabled() { return false; }
180
+ #define GRPC_EXPERIMENT_IS_INCLUDED_SLEEP_USE_NON_OWNING_WAKER
181
+ inline bool IsSleepUseNonOwningWakerEnabled() { return true; }
182
+ inline bool IsSubchannelWrapperCleanupOnOrphanEnabled() { return false; }
164
183
  inline bool IsTcpFrameSizeTuningEnabled() { return false; }
165
184
  inline bool IsTcpRcvLowatEnabled() { return false; }
185
+ inline bool IsTrackWritesInResourceQuotaEnabled() { return false; }
186
+ inline bool IsTrackZeroCopyAllocationsInResourceQuotaEnabled() { return false; }
187
+ inline bool IsTransportStateWatcherEnabled() { return false; }
166
188
  inline bool IsTsiFrameProtectorWithoutLocksEnabled() { return false; }
167
189
  inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; }
168
190
 
@@ -171,6 +193,8 @@ inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; }
171
193
  inline bool IsCallTracerInTransportEnabled() { return true; }
172
194
  inline bool IsChannelzUseV2ForV1ApiEnabled() { return false; }
173
195
  inline bool IsChannelzUseV2ForV1ServiceEnabled() { return false; }
196
+ #define GRPC_EXPERIMENT_IS_INCLUDED_CHAOTIC_GOOD_CONNECT_DEADLINE
197
+ inline bool IsChaoticGoodConnectDeadlineEnabled() { return true; }
174
198
  #define GRPC_EXPERIMENT_IS_INCLUDED_CHAOTIC_GOOD_FRAMING_LAYER
175
199
  inline bool IsChaoticGoodFramingLayerEnabled() { return true; }
176
200
  inline bool IsChttp2BoundWriteSizeEnabled() { return false; }
@@ -188,10 +212,14 @@ inline bool IsEventEngineListenerEnabled() { return true; }
188
212
  inline bool IsEventEngineCallbackCqEnabled() { return true; }
189
213
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_FOR_ALL_OTHER_ENDPOINTS
190
214
  inline bool IsEventEngineForAllOtherEndpointsEnabled() { return true; }
215
+ inline bool IsEventEnginePollerForPythonEnabled() { return false; }
191
216
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_SECURE_ENDPOINT
192
217
  inline bool IsEventEngineSecureEndpointEnabled() { return true; }
218
+ inline bool IsFailRecvMetadataOnDeadlineExceededEnabled() { return false; }
193
219
  inline bool IsFreeLargeAllocatorEnabled() { return false; }
194
220
  inline bool IsFuseFiltersEnabled() { return false; }
221
+ #define GRPC_EXPERIMENT_IS_INCLUDED_GRACEFUL_EXTERNAL_CONNECTION_FAILURE
222
+ inline bool IsGracefulExternalConnectionFailureEnabled() { return true; }
195
223
  inline bool IsKeepAlivePingTimerBatchEnabled() { return false; }
196
224
  inline bool IsLocalConnectorSecureEnabled() { return false; }
197
225
  #define GRPC_EXPERIMENT_IS_INCLUDED_MAX_INFLIGHT_PINGS_STRICT_LIMIT
@@ -199,7 +227,9 @@ inline bool IsMaxInflightPingsStrictLimitEnabled() { return true; }
199
227
  #define GRPC_EXPERIMENT_IS_INCLUDED_MONITORING_EXPERIMENT
200
228
  inline bool IsMonitoringExperimentEnabled() { return true; }
201
229
  inline bool IsMultipingEnabled() { return false; }
230
+ inline bool IsOtelExportTelemetryDomainsEnabled() { return false; }
202
231
  inline bool IsPickFirstIgnoreEmptyUpdatesEnabled() { return false; }
232
+ inline bool IsPickFirstReadyToConnectingEnabled() { return false; }
203
233
  inline bool IsPipelinedReadSecureEndpointEnabled() { return false; }
204
234
  inline bool IsPollsetAlternativeEnabled() { return false; }
205
235
  inline bool IsPrioritizeFinishedRequestsEnabled() { return false; }
@@ -211,13 +241,16 @@ inline bool IsRrWrrConnectFromRandomIndexEnabled() { return false; }
211
241
  inline bool IsScheduleCancellationOverWriteEnabled() { return false; }
212
242
  inline bool IsSecureEndpointOffloadLargeReadsEnabled() { return false; }
213
243
  inline bool IsSecureEndpointOffloadLargeWritesEnabled() { return false; }
214
- #define GRPC_EXPERIMENT_IS_INCLUDED_SERVER_GLOBAL_CALLBACKS_OWNERSHIP
215
- inline bool IsServerGlobalCallbacksOwnershipEnabled() { return true; }
216
- #define GRPC_EXPERIMENT_IS_INCLUDED_SHARD_GLOBAL_CONNECTION_POOL
217
- inline bool IsShardGlobalConnectionPoolEnabled() { return true; }
244
+ inline bool IsSkipClearPeerOnCancellationEnabled() { return false; }
218
245
  inline bool IsSleepPromiseExecCtxRemovalEnabled() { return false; }
246
+ #define GRPC_EXPERIMENT_IS_INCLUDED_SLEEP_USE_NON_OWNING_WAKER
247
+ inline bool IsSleepUseNonOwningWakerEnabled() { return true; }
248
+ inline bool IsSubchannelWrapperCleanupOnOrphanEnabled() { return false; }
219
249
  inline bool IsTcpFrameSizeTuningEnabled() { return false; }
220
250
  inline bool IsTcpRcvLowatEnabled() { return false; }
251
+ inline bool IsTrackWritesInResourceQuotaEnabled() { return false; }
252
+ inline bool IsTrackZeroCopyAllocationsInResourceQuotaEnabled() { return false; }
253
+ inline bool IsTransportStateWatcherEnabled() { return false; }
221
254
  inline bool IsTsiFrameProtectorWithoutLocksEnabled() { return false; }
222
255
  inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; }
223
256
  #endif
@@ -227,6 +260,7 @@ enum ExperimentIds {
227
260
  kExperimentIdCallTracerInTransport,
228
261
  kExperimentIdChannelzUseV2ForV1Api,
229
262
  kExperimentIdChannelzUseV2ForV1Service,
263
+ kExperimentIdChaoticGoodConnectDeadline,
230
264
  kExperimentIdChaoticGoodFramingLayer,
231
265
  kExperimentIdChttp2BoundWriteSize,
232
266
  kExperimentIdErrorFlatten,
@@ -237,15 +271,20 @@ enum ExperimentIds {
237
271
  kExperimentIdEventEngineListener,
238
272
  kExperimentIdEventEngineCallbackCq,
239
273
  kExperimentIdEventEngineForAllOtherEndpoints,
274
+ kExperimentIdEventEnginePollerForPython,
240
275
  kExperimentIdEventEngineSecureEndpoint,
276
+ kExperimentIdFailRecvMetadataOnDeadlineExceeded,
241
277
  kExperimentIdFreeLargeAllocator,
242
278
  kExperimentIdFuseFilters,
279
+ kExperimentIdGracefulExternalConnectionFailure,
243
280
  kExperimentIdKeepAlivePingTimerBatch,
244
281
  kExperimentIdLocalConnectorSecure,
245
282
  kExperimentIdMaxInflightPingsStrictLimit,
246
283
  kExperimentIdMonitoringExperiment,
247
284
  kExperimentIdMultiping,
285
+ kExperimentIdOtelExportTelemetryDomains,
248
286
  kExperimentIdPickFirstIgnoreEmptyUpdates,
287
+ kExperimentIdPickFirstReadyToConnecting,
249
288
  kExperimentIdPipelinedReadSecureEndpoint,
250
289
  kExperimentIdPollsetAlternative,
251
290
  kExperimentIdPrioritizeFinishedRequests,
@@ -257,11 +296,15 @@ enum ExperimentIds {
257
296
  kExperimentIdScheduleCancellationOverWrite,
258
297
  kExperimentIdSecureEndpointOffloadLargeReads,
259
298
  kExperimentIdSecureEndpointOffloadLargeWrites,
260
- kExperimentIdServerGlobalCallbacksOwnership,
261
- kExperimentIdShardGlobalConnectionPool,
299
+ kExperimentIdSkipClearPeerOnCancellation,
262
300
  kExperimentIdSleepPromiseExecCtxRemoval,
301
+ kExperimentIdSleepUseNonOwningWaker,
302
+ kExperimentIdSubchannelWrapperCleanupOnOrphan,
263
303
  kExperimentIdTcpFrameSizeTuning,
264
304
  kExperimentIdTcpRcvLowat,
305
+ kExperimentIdTrackWritesInResourceQuota,
306
+ kExperimentIdTrackZeroCopyAllocationsInResourceQuota,
307
+ kExperimentIdTransportStateWatcher,
265
308
  kExperimentIdTsiFrameProtectorWithoutLocks,
266
309
  kExperimentIdUnconstrainedMaxQuotaBufferSize,
267
310
  kNumExperiments
@@ -278,6 +321,10 @@ inline bool IsChannelzUseV2ForV1ApiEnabled() {
278
321
  inline bool IsChannelzUseV2ForV1ServiceEnabled() {
279
322
  return IsExperimentEnabled<kExperimentIdChannelzUseV2ForV1Service>();
280
323
  }
324
+ #define GRPC_EXPERIMENT_IS_INCLUDED_CHAOTIC_GOOD_CONNECT_DEADLINE
325
+ inline bool IsChaoticGoodConnectDeadlineEnabled() {
326
+ return IsExperimentEnabled<kExperimentIdChaoticGoodConnectDeadline>();
327
+ }
281
328
  #define GRPC_EXPERIMENT_IS_INCLUDED_CHAOTIC_GOOD_FRAMING_LAYER
282
329
  inline bool IsChaoticGoodFramingLayerEnabled() {
283
330
  return IsExperimentEnabled<kExperimentIdChaoticGoodFramingLayer>();
@@ -318,10 +365,18 @@ inline bool IsEventEngineCallbackCqEnabled() {
318
365
  inline bool IsEventEngineForAllOtherEndpointsEnabled() {
319
366
  return IsExperimentEnabled<kExperimentIdEventEngineForAllOtherEndpoints>();
320
367
  }
368
+ #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_POLLER_FOR_PYTHON
369
+ inline bool IsEventEnginePollerForPythonEnabled() {
370
+ return IsExperimentEnabled<kExperimentIdEventEnginePollerForPython>();
371
+ }
321
372
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_SECURE_ENDPOINT
322
373
  inline bool IsEventEngineSecureEndpointEnabled() {
323
374
  return IsExperimentEnabled<kExperimentIdEventEngineSecureEndpoint>();
324
375
  }
376
+ #define GRPC_EXPERIMENT_IS_INCLUDED_FAIL_RECV_METADATA_ON_DEADLINE_EXCEEDED
377
+ inline bool IsFailRecvMetadataOnDeadlineExceededEnabled() {
378
+ return IsExperimentEnabled<kExperimentIdFailRecvMetadataOnDeadlineExceeded>();
379
+ }
325
380
  #define GRPC_EXPERIMENT_IS_INCLUDED_FREE_LARGE_ALLOCATOR
326
381
  inline bool IsFreeLargeAllocatorEnabled() {
327
382
  return IsExperimentEnabled<kExperimentIdFreeLargeAllocator>();
@@ -330,6 +385,10 @@ inline bool IsFreeLargeAllocatorEnabled() {
330
385
  inline bool IsFuseFiltersEnabled() {
331
386
  return IsExperimentEnabled<kExperimentIdFuseFilters>();
332
387
  }
388
+ #define GRPC_EXPERIMENT_IS_INCLUDED_GRACEFUL_EXTERNAL_CONNECTION_FAILURE
389
+ inline bool IsGracefulExternalConnectionFailureEnabled() {
390
+ return IsExperimentEnabled<kExperimentIdGracefulExternalConnectionFailure>();
391
+ }
333
392
  #define GRPC_EXPERIMENT_IS_INCLUDED_KEEP_ALIVE_PING_TIMER_BATCH
334
393
  inline bool IsKeepAlivePingTimerBatchEnabled() {
335
394
  return IsExperimentEnabled<kExperimentIdKeepAlivePingTimerBatch>();
@@ -350,10 +409,18 @@ inline bool IsMonitoringExperimentEnabled() {
350
409
  inline bool IsMultipingEnabled() {
351
410
  return IsExperimentEnabled<kExperimentIdMultiping>();
352
411
  }
412
+ #define GRPC_EXPERIMENT_IS_INCLUDED_OTEL_EXPORT_TELEMETRY_DOMAINS
413
+ inline bool IsOtelExportTelemetryDomainsEnabled() {
414
+ return IsExperimentEnabled<kExperimentIdOtelExportTelemetryDomains>();
415
+ }
353
416
  #define GRPC_EXPERIMENT_IS_INCLUDED_PICK_FIRST_IGNORE_EMPTY_UPDATES
354
417
  inline bool IsPickFirstIgnoreEmptyUpdatesEnabled() {
355
418
  return IsExperimentEnabled<kExperimentIdPickFirstIgnoreEmptyUpdates>();
356
419
  }
420
+ #define GRPC_EXPERIMENT_IS_INCLUDED_PICK_FIRST_READY_TO_CONNECTING
421
+ inline bool IsPickFirstReadyToConnectingEnabled() {
422
+ return IsExperimentEnabled<kExperimentIdPickFirstReadyToConnecting>();
423
+ }
357
424
  #define GRPC_EXPERIMENT_IS_INCLUDED_PIPELINED_READ_SECURE_ENDPOINT
358
425
  inline bool IsPipelinedReadSecureEndpointEnabled() {
359
426
  return IsExperimentEnabled<kExperimentIdPipelinedReadSecureEndpoint>();
@@ -398,18 +465,22 @@ inline bool IsSecureEndpointOffloadLargeReadsEnabled() {
398
465
  inline bool IsSecureEndpointOffloadLargeWritesEnabled() {
399
466
  return IsExperimentEnabled<kExperimentIdSecureEndpointOffloadLargeWrites>();
400
467
  }
401
- #define GRPC_EXPERIMENT_IS_INCLUDED_SERVER_GLOBAL_CALLBACKS_OWNERSHIP
402
- inline bool IsServerGlobalCallbacksOwnershipEnabled() {
403
- return IsExperimentEnabled<kExperimentIdServerGlobalCallbacksOwnership>();
404
- }
405
- #define GRPC_EXPERIMENT_IS_INCLUDED_SHARD_GLOBAL_CONNECTION_POOL
406
- inline bool IsShardGlobalConnectionPoolEnabled() {
407
- return IsExperimentEnabled<kExperimentIdShardGlobalConnectionPool>();
468
+ #define GRPC_EXPERIMENT_IS_INCLUDED_SKIP_CLEAR_PEER_ON_CANCELLATION
469
+ inline bool IsSkipClearPeerOnCancellationEnabled() {
470
+ return IsExperimentEnabled<kExperimentIdSkipClearPeerOnCancellation>();
408
471
  }
409
472
  #define GRPC_EXPERIMENT_IS_INCLUDED_SLEEP_PROMISE_EXEC_CTX_REMOVAL
410
473
  inline bool IsSleepPromiseExecCtxRemovalEnabled() {
411
474
  return IsExperimentEnabled<kExperimentIdSleepPromiseExecCtxRemoval>();
412
475
  }
476
+ #define GRPC_EXPERIMENT_IS_INCLUDED_SLEEP_USE_NON_OWNING_WAKER
477
+ inline bool IsSleepUseNonOwningWakerEnabled() {
478
+ return IsExperimentEnabled<kExperimentIdSleepUseNonOwningWaker>();
479
+ }
480
+ #define GRPC_EXPERIMENT_IS_INCLUDED_SUBCHANNEL_WRAPPER_CLEANUP_ON_ORPHAN
481
+ inline bool IsSubchannelWrapperCleanupOnOrphanEnabled() {
482
+ return IsExperimentEnabled<kExperimentIdSubchannelWrapperCleanupOnOrphan>();
483
+ }
413
484
  #define GRPC_EXPERIMENT_IS_INCLUDED_TCP_FRAME_SIZE_TUNING
414
485
  inline bool IsTcpFrameSizeTuningEnabled() {
415
486
  return IsExperimentEnabled<kExperimentIdTcpFrameSizeTuning>();
@@ -418,6 +489,19 @@ inline bool IsTcpFrameSizeTuningEnabled() {
418
489
  inline bool IsTcpRcvLowatEnabled() {
419
490
  return IsExperimentEnabled<kExperimentIdTcpRcvLowat>();
420
491
  }
492
+ #define GRPC_EXPERIMENT_IS_INCLUDED_TRACK_WRITES_IN_RESOURCE_QUOTA
493
+ inline bool IsTrackWritesInResourceQuotaEnabled() {
494
+ return IsExperimentEnabled<kExperimentIdTrackWritesInResourceQuota>();
495
+ }
496
+ #define GRPC_EXPERIMENT_IS_INCLUDED_TRACK_ZERO_COPY_ALLOCATIONS_IN_RESOURCE_QUOTA
497
+ inline bool IsTrackZeroCopyAllocationsInResourceQuotaEnabled() {
498
+ return IsExperimentEnabled<
499
+ kExperimentIdTrackZeroCopyAllocationsInResourceQuota>();
500
+ }
501
+ #define GRPC_EXPERIMENT_IS_INCLUDED_TRANSPORT_STATE_WATCHER
502
+ inline bool IsTransportStateWatcherEnabled() {
503
+ return IsExperimentEnabled<kExperimentIdTransportStateWatcher>();
504
+ }
421
505
  #define GRPC_EXPERIMENT_IS_INCLUDED_TSI_FRAME_PROTECTOR_WITHOUT_LOCKS
422
506
  inline bool IsTsiFrameProtectorWithoutLocksEnabled() {
423
507
  return IsExperimentEnabled<kExperimentIdTsiFrameProtectorWithoutLocks>();
@@ -21,10 +21,10 @@
21
21
  #include <grpc/support/port_platform.h>
22
22
  #include <grpc/support/time.h>
23
23
 
24
- #include "absl/log/log.h"
25
24
  #include "src/core/lib/iomgr/port.h"
26
25
  #include "src/core/util/crash.h"
27
26
  #include "src/core/util/sync.h"
27
+ #include "absl/log/log.h"
28
28
 
29
29
  #ifdef GRPC_LINUX_ERRQUEUE
30
30
  #include <netinet/in.h>
@@ -21,11 +21,11 @@
21
21
  #include <grpc/support/port_platform.h>
22
22
  #include <inttypes.h>
23
23
 
24
- #include "absl/log/check.h"
25
- #include "absl/log/log.h"
26
24
  #include "src/core/telemetry/stats.h"
27
25
  #include "src/core/telemetry/stats_data.h"
28
26
  #include "src/core/util/crash.h"
27
+ #include "src/core/util/grpc_check.h"
28
+ #include "absl/log/log.h"
29
29
 
30
30
  namespace grpc_core {
31
31
 
@@ -84,7 +84,7 @@ void CallCombiner::TsanClosure(void* arg, grpc_error_handle error) {
84
84
  if (lock != nullptr) {
85
85
  TSAN_ANNOTATE_RWLOCK_RELEASED(&lock->taken, true);
86
86
  bool prev = true;
87
- CHECK(lock->taken.compare_exchange_strong(prev, false));
87
+ GRPC_CHECK(lock->taken.compare_exchange_strong(prev, false));
88
88
  }
89
89
  }
90
90
  #endif
@@ -141,7 +141,7 @@ void CallCombiner::Stop(DEBUG_ARGS const char* reason) {
141
141
  static_cast<size_t>(gpr_atm_full_fetch_add(&size_, (gpr_atm)-1));
142
142
  GRPC_TRACE_LOG(call_combiner, INFO)
143
143
  << " size: " << prev_size << " -> " << prev_size - 1;
144
- CHECK_GE(prev_size, 1u);
144
+ GRPC_CHECK_GE(prev_size, 1u);
145
145
  if (prev_size > 1) {
146
146
  while (true) {
147
147
  GRPC_TRACE_LOG(call_combiner, INFO) << " checking queue";
@@ -23,14 +23,14 @@
23
23
  #include <grpc/support/port_platform.h>
24
24
  #include <stddef.h>
25
25
 
26
- #include "absl/container/inlined_vector.h"
27
- #include "absl/log/log.h"
28
26
  #include "src/core/lib/iomgr/closure.h"
29
27
  #include "src/core/lib/iomgr/dynamic_annotations.h"
30
28
  #include "src/core/lib/iomgr/exec_ctx.h"
31
29
  #include "src/core/util/mpscq.h"
32
30
  #include "src/core/util/ref_counted.h"
33
31
  #include "src/core/util/ref_counted_ptr.h"
32
+ #include "absl/container/inlined_vector.h"
33
+ #include "absl/log/log.h"
34
34
 
35
35
  // A simple, lock-free mechanism for serializing activity related to a
36
36
  // single call. This is similar to a combiner but is more lightweight.
@@ -27,13 +27,13 @@
27
27
  #include <grpc/support/atm.h>
28
28
  #include <grpc/support/sync.h>
29
29
 
30
- #include "absl/log/log.h"
31
30
  #include "src/core/lib/debug/trace.h"
32
31
  #import "src/core/lib/iomgr/cfstream_handle.h"
33
32
  #include "src/core/lib/iomgr/closure.h"
34
33
  #include "src/core/lib/iomgr/error_cfstream.h"
35
34
  #include "src/core/lib/iomgr/ev_apple.h"
36
35
  #include "src/core/lib/iomgr/exec_ctx.h"
36
+ #include "absl/log/log.h"
37
37
 
38
38
  GrpcLibraryInitHolder::GrpcLibraryInitHolder() { grpc_init(); }
39
39
 
@@ -24,13 +24,13 @@
24
24
  #include <grpc/support/port_platform.h>
25
25
  #include <stdbool.h>
26
26
 
27
- #include "absl/log/check.h"
28
- #include "absl/log/log.h"
29
27
  #include "src/core/lib/iomgr/error.h"
30
28
  #include "src/core/util/crash.h"
31
29
  #include "src/core/util/debug_location.h"
32
30
  #include "src/core/util/manual_constructor.h"
33
31
  #include "src/core/util/mpscq.h"
32
+ #include "absl/log/check.h"
33
+ #include "absl/log/log.h"
34
34
 
35
35
  struct grpc_closure;
36
36
  typedef struct grpc_closure grpc_closure;
@@ -24,12 +24,12 @@
24
24
  #include <inttypes.h>
25
25
  #include <string.h>
26
26
 
27
- #include "absl/log/check.h"
28
- #include "absl/log/log.h"
29
27
  #include "src/core/lib/experiments/experiments.h"
30
28
  #include "src/core/lib/iomgr/iomgr_internal.h"
31
29
  #include "src/core/util/crash.h"
32
30
  #include "src/core/util/mpscq.h"
31
+ #include "absl/log/check.h"
32
+ #include "absl/log/log.h"
33
33
 
34
34
  #define STATE_UNORPHANED 1
35
35
  #define STATE_ELEM_COUNT_LOW_BIT 2
@@ -25,9 +25,9 @@
25
25
  #include <grpc/support/port_platform.h>
26
26
  #include <grpc/support/time.h>
27
27
 
28
- #include "absl/strings/string_view.h"
29
28
  #include "src/core/lib/iomgr/pollset.h"
30
29
  #include "src/core/lib/iomgr/pollset_set.h"
30
+ #include "absl/strings/string_view.h"
31
31
 
32
32
  // An endpoint caps a streaming channel between two communicating processes.
33
33
  // Examples may be: a tcp socket, <stdin+stdout>, or some shared memory.
@@ -27,8 +27,6 @@
27
27
  #include <grpc/support/alloc.h>
28
28
  #include <grpc/support/string_util.h>
29
29
 
30
- #include "absl/log/check.h"
31
- #include "absl/log/log.h"
32
30
  #include "src/core/lib/address_utils/sockaddr_utils.h"
33
31
  #include "src/core/lib/iomgr/cfstream_handle.h"
34
32
  #include "src/core/lib/iomgr/closure.h"
@@ -39,7 +37,9 @@
39
37
  #include "src/core/lib/slice/slice.h"
40
38
  #include "src/core/lib/slice/slice_internal.h"
41
39
  #include "src/core/lib/slice/slice_string_helpers.h"
40
+ #include "src/core/util/grpc_check.h"
42
41
  #include "src/core/util/string.h"
42
+ #include "absl/log/log.h"
43
43
 
44
44
  struct CFStreamEndpoint {
45
45
  grpc_endpoint base;
@@ -139,7 +139,7 @@ static void CallWriteCb(CFStreamEndpoint* ep, grpc_error_handle error) {
139
139
 
140
140
  static void ReadAction(void* arg, grpc_error_handle error) {
141
141
  CFStreamEndpoint* ep = static_cast<CFStreamEndpoint*>(arg);
142
- CHECK_NE(ep->read_cb, nullptr);
142
+ GRPC_CHECK_NE(ep->read_cb, nullptr);
143
143
  if (!error.ok()) {
144
144
  grpc_slice_buffer_reset_and_unref(ep->read_slices);
145
145
  CallReadCb(ep, error);
@@ -147,7 +147,7 @@ static void ReadAction(void* arg, grpc_error_handle error) {
147
147
  return;
148
148
  }
149
149
 
150
- CHECK_EQ(ep->read_slices->count, 1);
150
+ GRPC_CHECK_EQ(ep->read_slices->count, 1);
151
151
  grpc_slice slice = ep->read_slices->slices[0];
152
152
  size_t len = GRPC_SLICE_LENGTH(slice);
153
153
  CFIndex read_size =
@@ -179,7 +179,7 @@ static void ReadAction(void* arg, grpc_error_handle error) {
179
179
 
180
180
  static void WriteAction(void* arg, grpc_error_handle error) {
181
181
  CFStreamEndpoint* ep = static_cast<CFStreamEndpoint*>(arg);
182
- CHECK_NE(ep->write_cb, nullptr);
182
+ GRPC_CHECK_NE(ep->write_cb, nullptr);
183
183
  if (!error.ok()) {
184
184
  grpc_slice_buffer_reset_and_unref(ep->write_slices);
185
185
  CallWriteCb(ep, error);
@@ -233,7 +233,7 @@ static void CFStreamRead(grpc_endpoint* ep, grpc_slice_buffer* slices,
233
233
  GRPC_TRACE_VLOG(tcp, 2) << "CFStream endpoint:" << ep_impl << " read ("
234
234
  << slices << ", " << cb
235
235
  << ") length:" << slices->length;
236
- CHECK_EQ(ep_impl->read_cb, nullptr);
236
+ GRPC_CHECK_EQ(ep_impl->read_cb, nullptr);
237
237
  ep_impl->read_cb = cb;
238
238
  ep_impl->read_slices = slices;
239
239
  grpc_slice_buffer_reset_and_unref(slices);
@@ -251,7 +251,7 @@ static void CFStreamWrite(grpc_endpoint* ep, grpc_slice_buffer* slices,
251
251
  GRPC_TRACE_VLOG(tcp, 2) << "CFStream endpoint:" << ep_impl << " write ("
252
252
  << slices << ", " << cb
253
253
  << ") length:" << slices->length;
254
- CHECK_EQ(ep_impl->write_cb, nullptr);
254
+ GRPC_CHECK_EQ(ep_impl->write_cb, nullptr);
255
255
  ep_impl->write_cb = cb;
256
256
  ep_impl->write_slices = slices;
257
257
  EP_REF(ep_impl, "write");
@@ -30,8 +30,6 @@
30
30
 
31
31
  #include <string>
32
32
 
33
- #include "absl/log/check.h"
34
- #include "absl/strings/str_cat.h"
35
33
  #include "src/core/config/core_configuration.h"
36
34
  #include "src/core/lib/event_engine/channel_args_endpoint_config.h"
37
35
  #include "src/core/lib/event_engine/extensions/supports_fd.h"
@@ -44,6 +42,8 @@
44
42
  #include "src/core/lib/iomgr/tcp_posix.h"
45
43
  #include "src/core/lib/iomgr/unix_sockets_posix.h"
46
44
  #include "src/core/util/crash.h"
45
+ #include "src/core/util/grpc_check.h"
46
+ #include "absl/strings/str_cat.h"
47
47
 
48
48
  namespace {
49
49
  using grpc_event_engine::experimental::ChannelArgsEndpointConfig;
@@ -56,11 +56,11 @@ void create_sockets(int sv[2]) {
56
56
  int flags;
57
57
  grpc_create_socketpair_if_unix(sv);
58
58
  flags = fcntl(sv[0], F_GETFL, 0);
59
- CHECK_EQ(fcntl(sv[0], F_SETFL, flags | O_NONBLOCK), 0);
59
+ GRPC_CHECK_EQ(fcntl(sv[0], F_SETFL, flags | O_NONBLOCK), 0);
60
60
  flags = fcntl(sv[1], F_GETFL, 0);
61
- CHECK_EQ(fcntl(sv[1], F_SETFL, flags | O_NONBLOCK), 0);
62
- CHECK(grpc_set_socket_no_sigpipe_if_possible(sv[0]) == absl::OkStatus());
63
- CHECK(grpc_set_socket_no_sigpipe_if_possible(sv[1]) == absl::OkStatus());
61
+ GRPC_CHECK_EQ(fcntl(sv[1], F_SETFL, flags | O_NONBLOCK), 0);
62
+ GRPC_CHECK(grpc_set_socket_no_sigpipe_if_possible(sv[0]) == absl::OkStatus());
63
+ GRPC_CHECK(grpc_set_socket_no_sigpipe_if_possible(sv[1]) == absl::OkStatus());
64
64
  }
65
65
 
66
66
  } // namespace
@@ -25,8 +25,6 @@
25
25
  #include <fcntl.h>
26
26
  #include <string.h>
27
27
 
28
- #include "absl/log/check.h"
29
- #include "absl/log/log.h"
30
28
  #include "src/core/config/core_configuration.h"
31
29
  #include "src/core/lib/address_utils/sockaddr_utils.h"
32
30
  #include "src/core/lib/event_engine/channel_args_endpoint_config.h"
@@ -38,6 +36,8 @@
38
36
  #include "src/core/lib/iomgr/socket_windows.h"
39
37
  #include "src/core/lib/iomgr/tcp_windows.h"
40
38
  #include "src/core/util/crash.h"
39
+ #include "src/core/util/grpc_check.h"
40
+ #include "absl/log/log.h"
41
41
 
42
42
  static void create_sockets(SOCKET sv[2]) {
43
43
  SOCKET svr_sock = INVALID_SOCKET;
@@ -48,25 +48,26 @@ static void create_sockets(SOCKET sv[2]) {
48
48
 
49
49
  lst_sock = WSASocket(AF_INET, SOCK_STREAM, IPPROTO_TCP, NULL, 0,
50
50
  grpc_get_default_wsa_socket_flags());
51
- CHECK(lst_sock != INVALID_SOCKET);
51
+ GRPC_CHECK(lst_sock != INVALID_SOCKET);
52
52
 
53
53
  memset(&addr, 0, sizeof(addr));
54
54
  addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
55
55
  addr.sin_family = AF_INET;
56
- CHECK(bind(lst_sock, (grpc_sockaddr*)&addr, sizeof(addr)) != SOCKET_ERROR);
57
- CHECK(listen(lst_sock, SOMAXCONN) != SOCKET_ERROR);
58
- CHECK(getsockname(lst_sock, (grpc_sockaddr*)&addr, &addr_len) !=
59
- SOCKET_ERROR);
56
+ GRPC_CHECK(bind(lst_sock, (grpc_sockaddr*)&addr, sizeof(addr)) !=
57
+ SOCKET_ERROR);
58
+ GRPC_CHECK(listen(lst_sock, SOMAXCONN) != SOCKET_ERROR);
59
+ GRPC_CHECK(getsockname(lst_sock, (grpc_sockaddr*)&addr, &addr_len) !=
60
+ SOCKET_ERROR);
60
61
 
61
62
  cli_sock = WSASocket(AF_INET, SOCK_STREAM, IPPROTO_TCP, NULL, 0,
62
63
  grpc_get_default_wsa_socket_flags());
63
- CHECK(cli_sock != INVALID_SOCKET);
64
+ GRPC_CHECK(cli_sock != INVALID_SOCKET);
64
65
 
65
- CHECK_EQ(WSAConnect(cli_sock, (grpc_sockaddr*)&addr, addr_len, NULL, NULL,
66
- NULL, NULL),
67
- 0);
66
+ GRPC_CHECK_EQ(WSAConnect(cli_sock, (grpc_sockaddr*)&addr, addr_len, NULL,
67
+ NULL, NULL, NULL),
68
+ 0);
68
69
  svr_sock = accept(lst_sock, (grpc_sockaddr*)&addr, &addr_len);
69
- CHECK_NE(svr_sock, INVALID_SOCKET);
70
+ GRPC_CHECK_NE(svr_sock, INVALID_SOCKET);
70
71
 
71
72
  closesocket(lst_sock);
72
73
  grpc_error_handle error = grpc_tcp_prepare_socket(cli_sock);
@@ -100,20 +101,20 @@ grpc_endpoint_pair grpc_iomgr_create_endpoint_pair(
100
101
  new_args
101
102
  .GetObjectRef<grpc_event_engine::experimental::EventEngine>()
102
103
  .get());
103
- CHECK_NE(event_engine_supports_win_sockets, nullptr)
104
+ GRPC_CHECK_NE(event_engine_supports_win_sockets, nullptr)
104
105
  << "EventEngine does not support windows SOCKETS, so an endpoint pair "
105
106
  "cannot be created.";
106
107
  auto client_endpoint =
107
108
  event_engine_supports_win_sockets->CreateEndpointFromWinSocket(
108
109
  sv[1], grpc_event_engine::experimental::ChannelArgsEndpointConfig(
109
110
  new_args));
110
- CHECK_NE(client_endpoint.get(), nullptr)
111
+ GRPC_CHECK_NE(client_endpoint.get(), nullptr)
111
112
  << "Failed to create client endpoint";
112
113
  auto server_endpoint =
113
114
  event_engine_supports_win_sockets->CreateEndpointFromWinSocket(
114
115
  sv[0], grpc_event_engine::experimental::ChannelArgsEndpointConfig(
115
116
  new_args));
116
- CHECK_NE(server_endpoint.get(), nullptr)
117
+ GRPC_CHECK_NE(server_endpoint.get(), nullptr)
117
118
  << "Failed to create server endpoint";
118
119
  p.client = grpc_event_engine_endpoint_create(std::move(client_endpoint));
119
120
  p.server = grpc_event_engine_endpoint_create(std::move(server_endpoint));
@@ -24,11 +24,11 @@
24
24
  #include <inttypes.h>
25
25
  #include <string.h>
26
26
 
27
+ #include "src/core/util/crash.h"
27
28
  #include "absl/log/check.h"
28
29
  #include "absl/log/log.h"
29
30
  #include "absl/strings/str_cat.h"
30
31
  #include "absl/strings/str_format.h"
31
- #include "src/core/util/crash.h"
32
32
 
33
33
  #ifdef GPR_WINDOWS
34
34
  #include <grpc/support/log_windows.h>
@@ -26,13 +26,13 @@
26
26
  #include <inttypes.h>
27
27
  #include <stdbool.h>
28
28
 
29
- #include "absl/log/check.h"
30
- #include "absl/status/status.h"
31
29
  #include "src/core/lib/debug/trace.h"
32
30
  #include "src/core/lib/slice/slice_internal.h"
33
31
  #include "src/core/util/crash.h"
34
32
  #include "src/core/util/spinlock.h"
35
33
  #include "src/core/util/status_helper.h"
34
+ #include "absl/log/check.h"
35
+ #include "absl/status/status.h"
36
36
 
37
37
  /// Opaque representation of an error.
38
38
 
@@ -24,8 +24,8 @@
24
24
 
25
25
  #include <string>
26
26
 
27
- #include "absl/strings/str_format.h"
28
27
  #include "src/core/lib/iomgr/error.h"
28
+ #include "absl/strings/str_format.h"
29
29
 
30
30
  #define MAX_ERROR_DESCRIPTION 256
31
31