grpc 1.83.0 → 1.84.0.pre1

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 (330) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +21 -17
  3. data/include/grpc/credentials.h +10 -0
  4. data/include/grpc/grpc_security_constants.h +2 -0
  5. data/include/grpc/impl/channel_arg_names.h +9 -0
  6. data/src/core/call/call_filters.h +4 -2
  7. data/src/core/call/client_call.cc +20 -8
  8. data/src/core/call/client_call.h +4 -0
  9. data/src/core/call/interception_chain.cc +2 -0
  10. data/src/core/call/interception_chain.h +14 -1
  11. data/src/core/call/metadata.cc +1 -3
  12. data/src/core/call/metadata_batch.h +13 -5
  13. data/src/core/call/server_call.cc +31 -14
  14. data/src/core/call/server_call.h +4 -0
  15. data/src/core/channelz/text_encode.cc +9 -4
  16. data/src/core/channelz/v2tov1/convert.cc +2 -2
  17. data/src/core/client_channel/backup_poller.cc +1 -2
  18. data/src/core/client_channel/client_channel.cc +6 -33
  19. data/src/core/client_channel/client_channel_filter.cc +22 -55
  20. data/src/core/client_channel/client_channel_filter.h +2 -2
  21. data/src/core/client_channel/client_channel_service_config.cc +3 -19
  22. data/src/core/client_channel/direct_channel.cc +7 -1
  23. data/src/core/client_channel/direct_channel.h +2 -2
  24. data/src/core/client_channel/load_balanced_call_destination.cc +5 -3
  25. data/src/core/client_channel/retry_filter_legacy_call_data.cc +5 -12
  26. data/src/core/client_channel/subchannel.cc +310 -1058
  27. data/src/core/client_channel/subchannel.h +44 -329
  28. data/src/core/client_channel/subchannel_metrics.cc +48 -0
  29. data/src/core/client_channel/subchannel_metrics.h +60 -0
  30. data/src/core/credentials/call/external/file_external_account_credentials.cc +1 -1
  31. data/src/core/credentials/call/external/url_external_account_credentials.cc +2 -3
  32. data/src/core/credentials/call/gcp_service_account_identity/gcp_service_account_identity_credentials.cc +8 -24
  33. data/src/core/credentials/call/gcp_service_account_identity/gcp_service_account_identity_credentials.h +3 -6
  34. data/src/core/credentials/call/gdch_service_account/gdch_service_account_credentials.cc +525 -0
  35. data/src/core/credentials/call/gdch_service_account/gdch_service_account_credentials.h +138 -0
  36. data/src/core/credentials/call/json_util.h +1 -0
  37. data/src/core/credentials/call/jwt/json_token.cc +10 -2
  38. data/src/core/credentials/call/jwt/jwt_verifier.cc +15 -1
  39. data/src/core/credentials/call/jwt_token_file/jwt_token_file_call_credentials.cc +1 -1
  40. data/src/core/credentials/call/oauth2/oauth2_credentials.cc +42 -79
  41. data/src/core/credentials/call/oauth2/oauth2_credentials.h +2 -5
  42. data/src/core/credentials/call/token_fetcher/token_fetcher_credentials.cc +52 -31
  43. data/src/core/credentials/call/token_fetcher/token_fetcher_credentials.h +21 -8
  44. data/src/core/credentials/transport/google_default/google_default_credentials.cc +3 -4
  45. data/src/core/credentials/transport/ssl/ssl_credentials.cc +59 -72
  46. data/src/core/credentials/transport/ssl/ssl_credentials.h +9 -8
  47. data/src/core/credentials/transport/ssl/ssl_security_connector.cc +12 -6
  48. data/src/core/credentials/transport/ssl/ssl_security_connector.h +4 -4
  49. data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.cc +29 -18
  50. data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.h +9 -6
  51. data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.cc +45 -56
  52. data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.h +5 -4
  53. data/src/core/credentials/transport/tls/grpc_tls_certificate_selector.h +26 -0
  54. data/src/core/credentials/transport/tls/grpc_tls_crl_provider.cc +1 -1
  55. data/src/core/credentials/transport/tls/load_system_roots.h +2 -6
  56. data/src/core/credentials/transport/tls/load_system_roots_fallback.cc +2 -4
  57. data/src/core/credentials/transport/tls/load_system_roots_supported.cc +13 -15
  58. data/src/core/credentials/transport/tls/load_system_roots_supported.h +3 -2
  59. data/src/core/credentials/transport/tls/load_system_roots_windows.cc +5 -8
  60. data/src/core/credentials/transport/tls/spiffe_utils.cc +1 -1
  61. data/src/core/credentials/transport/tls/ssl_utils.cc +39 -28
  62. data/src/core/credentials/transport/tls/ssl_utils.h +12 -49
  63. data/src/core/credentials/transport/tls/tls_security_connector.cc +48 -33
  64. data/src/core/credentials/transport/tls/tls_security_connector.h +31 -10
  65. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +15 -11
  66. data/src/core/ext/filters/http/http_filters_plugin.cc +20 -9
  67. data/src/core/ext/filters/http/message_compress/compression_filter.cc +25 -32
  68. data/src/core/ext/filters/http/message_compress/compression_filter.h +0 -1
  69. data/src/core/ext/filters/rbac/rbac_filter.cc +43 -21
  70. data/src/core/ext/filters/rbac/rbac_filter.h +21 -3
  71. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +2 -2
  72. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +1 -1
  73. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +6 -20
  74. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +80 -70
  75. data/src/core/ext/transport/chttp2/transport/flow_control.cc +2 -0
  76. data/src/core/ext/transport/chttp2/transport/flow_control.h +78 -4
  77. data/src/core/ext/transport/chttp2/transport/frame.h +2 -0
  78. data/src/core/ext/transport/chttp2/transport/frame_data.cc +33 -2
  79. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +55 -23
  80. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +1 -0
  81. data/src/core/ext/transport/chttp2/transport/goaway.h +7 -0
  82. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +5 -3
  83. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +3 -1
  84. data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +141 -130
  85. data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +22 -22
  86. data/src/core/ext/transport/chttp2/transport/http2_server_transport.cc +402 -269
  87. data/src/core/ext/transport/chttp2/transport/http2_server_transport.h +80 -49
  88. data/src/core/ext/transport/chttp2/transport/http2_settings_promises.h +1 -2
  89. data/src/core/ext/transport/chttp2/transport/http2_status.h +38 -37
  90. data/src/core/ext/transport/chttp2/transport/http2_transport.cc +178 -5
  91. data/src/core/ext/transport/chttp2/transport/http2_transport.h +345 -5
  92. data/src/core/ext/transport/chttp2/transport/internal.h +6 -0
  93. data/src/core/ext/transport/chttp2/transport/parsing.cc +13 -5
  94. data/src/core/ext/transport/chttp2/transport/ping_promise.cc +3 -2
  95. data/src/core/ext/transport/chttp2/transport/ping_promise.h +25 -5
  96. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +3 -4
  97. data/src/core/ext/transport/chttp2/transport/read_context.h +30 -3
  98. data/src/core/ext/transport/chttp2/transport/stream.h +65 -23
  99. data/src/core/ext/transport/chttp2/transport/writing.cc +0 -3
  100. data/src/core/ext/transport/inproc/inproc_transport.cc +1 -5
  101. data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +4 -17
  102. data/src/core/ext/upb-gen/envoy/extensions/filters/http/ext_proc/v3/ext_proc.upb.h +1912 -0
  103. data/src/core/ext/upb-gen/envoy/extensions/filters/http/ext_proc/v3/ext_proc.upb_minitable.c +300 -0
  104. data/src/core/ext/upb-gen/envoy/extensions/filters/http/ext_proc/v3/ext_proc.upb_minitable.h +37 -0
  105. data/src/core/ext/upb-gen/envoy/extensions/filters/http/ext_proc/v3/processing_mode.upb.h +187 -0
  106. data/src/core/ext/upb-gen/envoy/extensions/filters/http/ext_proc/v3/processing_mode.upb_minitable.c +64 -0
  107. data/src/core/ext/upb-gen/envoy/extensions/filters/http/ext_proc/v3/processing_mode.upb_minitable.h +31 -0
  108. data/src/core/ext/upb-gen/envoy/service/ext_proc/v3/external_processor.upb.h +2362 -0
  109. data/src/core/ext/upb-gen/envoy/service/ext_proc/v3/external_processor.upb_minitable.c +556 -0
  110. data/src/core/ext/upb-gen/envoy/service/ext_proc/v3/external_processor.upb_minitable.h +47 -0
  111. data/src/core/ext/upb-gen/{src/proto/grpc/channelz → grpc/channelz/v1}/channelz.upb.h +5 -5
  112. data/src/core/ext/upb-gen/{src/proto/grpc/channelz → grpc/channelz/v1}/channelz.upb_minitable.c +3 -3
  113. data/src/core/ext/upb-gen/{src/proto/grpc/channelz → grpc/channelz/v1}/channelz.upb_minitable.h +5 -5
  114. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/ext_proc/v3/ext_proc.upbdefs.c +453 -0
  115. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/ext_proc/v3/ext_proc.upbdefs.h +67 -0
  116. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/ext_proc/v3/processing_mode.upbdefs.c +142 -0
  117. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/ext_proc/v3/processing_mode.upbdefs.h +37 -0
  118. data/src/core/ext/upbdefs-gen/grpc/channelz/v1/channelz.upbdefs.c +715 -0
  119. data/src/core/ext/upbdefs-gen/{src/proto/grpc/channelz → grpc/channelz/v1}/channelz.upbdefs.h +44 -44
  120. data/src/core/filter/auth/server_auth_filter.cc +2 -3
  121. data/src/core/filter/composite/composite_filter.cc +45 -33
  122. data/src/core/filter/composite/composite_filter.h +5 -4
  123. data/src/core/filter/ext_proc/ext_proc_filter.cc +224 -0
  124. data/src/core/filter/ext_proc/ext_proc_filter.h +155 -0
  125. data/src/core/filter/ext_proc/ext_proc_messages.cc +701 -0
  126. data/src/core/filter/ext_proc/ext_proc_messages.h +297 -0
  127. data/src/core/filter/filter_args.h +13 -2
  128. data/src/core/handshaker/http_connect/http_proxy_mapper.cc +30 -3
  129. data/src/core/handshaker/security/security_handshaker.cc +9 -6
  130. data/src/core/lib/channel/channel_stack.cc +3 -0
  131. data/src/core/lib/channel/channel_stack.h +2 -0
  132. data/src/core/lib/channel/channel_stack_builder_impl.cc +1 -2
  133. data/src/core/lib/channel/promise_based_filter.cc +132 -20
  134. data/src/core/lib/channel/promise_based_filter.h +42 -12
  135. data/src/core/lib/compression/compression_internal.cc +4 -5
  136. data/src/core/lib/compression/message_compress.cc +132 -97
  137. data/src/core/lib/compression/message_compress.h +24 -0
  138. data/src/core/lib/debug/trace_flags.cc +8 -0
  139. data/src/core/lib/debug/trace_flags.h +3 -0
  140. data/src/core/lib/event_engine/ares_resolver.cc +54 -50
  141. data/src/core/lib/event_engine/ares_resolver.h +3 -2
  142. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +3 -3
  143. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +4 -10
  144. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +74 -33
  145. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +4 -4
  146. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +6 -2
  147. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +3 -0
  148. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +3 -0
  149. data/src/core/lib/event_engine/windows/windows_endpoint.cc +1 -3
  150. data/src/core/lib/experiments/experiments.cc +81 -102
  151. data/src/core/lib/experiments/experiments.h +57 -56
  152. data/src/core/lib/iomgr/cfstream_handle.cc +2 -6
  153. data/src/core/lib/iomgr/endpoint_cfstream.cc +3 -10
  154. data/src/core/lib/iomgr/error.cc +2 -6
  155. data/src/core/lib/iomgr/error_cfstream.cc +1 -1
  156. data/src/core/lib/iomgr/ev_poll_posix.cc +5 -9
  157. data/src/core/lib/iomgr/event_engine_shims/closure.cc +1 -1
  158. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +1 -2
  159. data/src/core/lib/iomgr/event_engine_shims/tcp_client.cc +1 -2
  160. data/src/core/lib/iomgr/iomgr_posix.cc +0 -4
  161. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +0 -4
  162. data/src/core/lib/iomgr/iomgr_windows.cc +0 -4
  163. data/src/core/lib/iomgr/socket_factory_posix.h +1 -1
  164. data/src/core/lib/iomgr/socket_utils_posix.cc +3 -0
  165. data/src/core/lib/iomgr/socket_utils_posix.h +3 -0
  166. data/src/core/lib/iomgr/systemd_utils.cc +0 -1
  167. data/src/core/lib/iomgr/tcp_client.h +1 -1
  168. data/src/core/lib/iomgr/tcp_posix.cc +23 -15
  169. data/src/core/lib/iomgr/tcp_server.h +1 -1
  170. data/src/core/lib/iomgr/tcp_server_posix.cc +2 -3
  171. data/src/core/lib/iomgr/tcp_server_utils_posix.h +0 -1
  172. data/src/core/lib/iomgr/tcp_server_windows.cc +0 -1
  173. data/src/core/lib/iomgr/tcp_windows.cc +5 -10
  174. data/src/core/lib/iomgr/unix_sockets_posix.cc +2 -4
  175. data/src/core/lib/iomgr/unix_sockets_posix.h +3 -1
  176. data/src/core/lib/iomgr/vsock.h +3 -1
  177. data/src/core/lib/resource_quota/memory_quota.cc +1 -1
  178. data/src/core/lib/security/authorization/rbac_policy.cc +139 -56
  179. data/src/core/lib/security/authorization/rbac_policy.h +21 -3
  180. data/src/core/lib/surface/call.cc +3 -9
  181. data/src/core/lib/surface/call_utils.h +113 -0
  182. data/src/core/lib/surface/channel_create.cc +1 -1
  183. data/src/core/lib/surface/channel_create.h +0 -2
  184. data/src/core/lib/surface/channel_init.cc +77 -38
  185. data/src/core/lib/surface/channel_init.h +30 -16
  186. data/src/core/lib/surface/filter_stack_call.cc +5 -10
  187. data/src/core/lib/surface/init.cc +13 -27
  188. data/src/core/lib/surface/legacy_channel.cc +3 -1
  189. data/src/core/lib/surface/version.cc +1 -1
  190. data/src/core/lib/transport/error_utils.cc +0 -27
  191. data/src/core/lib/transport/error_utils.h +0 -16
  192. data/src/core/lib/transport/transport.h +7 -5
  193. data/src/core/load_balancing/pick_first/pick_first.cc +2 -0
  194. data/src/core/load_balancing/rls/rls.cc +28 -11
  195. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +33 -42
  196. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.h +0 -2
  197. data/src/core/load_balancing/xds/cds.cc +3 -1
  198. data/src/core/load_balancing/xds/xds_cluster_impl.cc +0 -1
  199. data/src/core/mitigation_engine/mitigation.h +14 -5
  200. data/src/core/mitigation_engine/mitigation_engine.h +7 -3
  201. data/src/core/mitigation_engine/mitigation_provider.h +2 -1
  202. data/src/core/plugin_registry/grpc_plugin_registry.cc +39 -8
  203. data/src/core/resolver/dns/{event_engine/event_engine_client_channel_resolver.cc → dns_resolver.cc} +42 -41
  204. data/src/core/resolver/dns/{event_engine/event_engine_client_channel_resolver.h → dns_resolver.h} +8 -5
  205. data/src/core/resolver/dns/{event_engine/service_config_helper.cc → service_config_helper.cc} +1 -1
  206. data/src/core/resolver/dns/{event_engine/service_config_helper.h → service_config_helper.h} +3 -3
  207. data/src/core/resolver/endpoint_addresses.h +3 -0
  208. data/src/core/resolver/google_c2p/google_c2p_resolver.cc +2 -1
  209. data/src/core/resolver/xds/xds_resolver.cc +35 -9
  210. data/src/core/server/server.cc +2 -6
  211. data/src/core/server/server_config_selector.h +18 -3
  212. data/src/core/server/server_config_selector_filter.cc +178 -91
  213. data/src/core/server/server_config_selector_filter.h +58 -3
  214. data/src/core/server/xds_server_config_fetcher.cc +196 -129
  215. data/src/core/server/xds_server_config_fetcher.h +49 -0
  216. data/src/core/server/xds_server_config_fetcher_legacy.cc +41 -37
  217. data/src/core/telemetry/histogram.h +94 -14
  218. data/src/core/telemetry/instrument.cc +179 -74
  219. data/src/core/telemetry/instrument.h +78 -30
  220. data/src/core/telemetry/metrics.h +5 -0
  221. data/src/core/{resolver/dns/dns_resolver_plugin.h → telemetry/telemetry_label.h} +12 -8
  222. data/src/core/tsi/alts/crypt/aes_gcm.cc +10 -13
  223. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +2 -2
  224. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +3 -1
  225. data/src/core/tsi/ssl_telemetry_utils.cc +216 -259
  226. data/src/core/tsi/ssl_telemetry_utils.h +12 -2
  227. data/src/core/tsi/ssl_transport_security.cc +238 -80
  228. data/src/core/tsi/ssl_transport_security.h +63 -33
  229. data/src/core/tsi/tls_telemetry.cc +31 -0
  230. data/src/core/tsi/tls_telemetry.h +47 -0
  231. data/src/core/tsi/transport_security.cc +2 -2
  232. data/src/core/tsi/transport_security.h +1 -1
  233. data/src/core/tsi/transport_security_interface.h +1 -1
  234. data/src/core/{resolver/dns/native/dns_resolver.h → util/address_sorting_init.cc} +21 -8
  235. data/src/core/{resolver/dns/c_ares/grpc_ares_wrapper_posix.cc → util/address_sorting_init.h} +7 -8
  236. data/src/core/util/http_client/httpcli.cc +16 -53
  237. data/src/core/util/http_client/httpcli.h +0 -7
  238. data/src/core/util/http_client/httpcli_security_connector.cc +13 -8
  239. data/src/core/util/linux/cpu.cc +1 -1
  240. data/src/core/util/load_file.cc +3 -9
  241. data/src/core/util/load_file.h +3 -4
  242. data/src/core/util/matchers.h +8 -0
  243. data/src/core/util/posix/cpu.cc +1 -1
  244. data/src/core/util/status_helper.cc +0 -20
  245. data/src/core/util/status_helper.h +3 -14
  246. data/src/core/xds/grpc/xds_audit_logger_registry.cc +51 -31
  247. data/src/core/xds/grpc/xds_audit_logger_registry.h +17 -3
  248. data/src/core/xds/grpc/xds_bootstrap_grpc.cc +2 -10
  249. data/src/core/xds/grpc/xds_bootstrap_grpc.h +8 -6
  250. data/src/core/xds/grpc/xds_bootstrap_grpc_builder.cc +488 -0
  251. data/src/core/xds/grpc/xds_bootstrap_grpc_builder.h +97 -0
  252. data/src/core/xds/grpc/xds_certificate_provider.cc +7 -7
  253. data/src/core/xds/grpc/xds_client_grpc.cc +4 -8
  254. data/src/core/xds/grpc/xds_client_grpc.h +0 -4
  255. data/src/core/xds/grpc/xds_cluster.h +1 -0
  256. data/src/core/xds/grpc/xds_cluster_parser.cc +1 -5
  257. data/src/core/xds/grpc/xds_cluster_parser.h +0 -2
  258. data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +0 -2
  259. data/src/core/xds/grpc/xds_cluster_specifier_plugin.h +0 -2
  260. data/src/core/xds/grpc/xds_common_types.cc +0 -91
  261. data/src/core/xds/grpc/xds_common_types.h +1 -47
  262. data/src/core/xds/grpc/xds_common_types_parser.cc +84 -378
  263. data/src/core/xds/grpc/xds_common_types_parser.h +9 -11
  264. data/src/core/xds/grpc/xds_endpoint_parser.cc +0 -2
  265. data/src/core/xds/grpc/xds_grpc_service_parser.cc +177 -0
  266. data/src/core/{resolver/dns/c_ares/dns_resolver_ares.h → xds/grpc/xds_grpc_service_parser.h} +14 -9
  267. data/src/core/xds/grpc/xds_http_composite_filter.cc +26 -21
  268. data/src/core/xds/grpc/xds_http_composite_filter.h +4 -3
  269. data/src/core/xds/grpc/xds_http_ext_proc_filter.cc +418 -0
  270. data/src/core/xds/grpc/xds_http_ext_proc_filter.h +89 -0
  271. data/src/core/xds/grpc/xds_http_fault_filter.cc +9 -12
  272. data/src/core/xds/grpc/xds_http_fault_filter.h +1 -4
  273. data/src/core/xds/grpc/xds_http_filter.cc +2 -1
  274. data/src/core/xds/grpc/xds_http_filter.h +6 -5
  275. data/src/core/xds/grpc/xds_http_filter_registry.cc +10 -127
  276. data/src/core/xds/grpc/xds_http_filter_registry.h +7 -59
  277. data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +13 -14
  278. data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +3 -2
  279. data/src/core/xds/grpc/xds_http_rbac_filter.cc +403 -25
  280. data/src/core/xds/grpc/xds_http_rbac_filter.h +1 -3
  281. data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +8 -13
  282. data/src/core/xds/grpc/xds_http_stateful_session_filter.h +1 -4
  283. data/src/core/xds/grpc/xds_lb_policy_registry.cc +0 -292
  284. data/src/core/xds/grpc/xds_lb_policy_registry.h +7 -3
  285. data/src/core/xds/grpc/xds_listener.cc +2 -0
  286. data/src/core/xds/grpc/xds_listener.h +5 -0
  287. data/src/core/xds/grpc/xds_listener_parser.cc +16 -11
  288. data/src/core/xds/grpc/xds_matcher_parse.h +3 -1
  289. data/src/core/xds/grpc/xds_metadata_parser.cc +6 -1
  290. data/src/core/xds/grpc/xds_metadata_parser.h +2 -0
  291. data/src/core/xds/grpc/xds_route_config.cc +2 -0
  292. data/src/core/xds/grpc/xds_route_config.h +3 -1
  293. data/src/core/xds/grpc/xds_route_config_parser.cc +13 -79
  294. data/src/core/xds/grpc/xds_route_config_parser.h +0 -3
  295. data/src/core/xds/grpc/xds_routing.cc +116 -69
  296. data/src/core/xds/grpc/xds_routing.h +19 -8
  297. data/src/core/xds/grpc/xds_tls_context.cc +117 -0
  298. data/src/core/xds/grpc/xds_tls_context.h +76 -0
  299. data/src/core/xds/grpc/xds_tls_context_parser.cc +275 -0
  300. data/src/core/xds/grpc/xds_tls_context_parser.h +35 -0
  301. data/src/core/xds/grpc/xds_transport_grpc.cc +41 -38
  302. data/src/core/xds/grpc/xds_transport_grpc.h +4 -2
  303. data/src/ruby/ext/grpc/rb_call.c +26 -15
  304. data/src/ruby/ext/grpc/rb_completion_queue.c +6 -5
  305. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +2 -0
  306. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +3 -0
  307. data/src/ruby/lib/grpc/version.rb +1 -1
  308. data/src/ruby/pb/test/client.rb +5 -4
  309. data/src/ruby/spec/call_spec.rb +14 -0
  310. data/src/ruby/spec/generic/server_interceptors_spec.rb +3 -6
  311. metadata +50 -35
  312. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/channelz.upbdefs.c +0 -716
  313. data/src/core/lib/iomgr/resolve_address.cc +0 -59
  314. data/src/core/lib/iomgr/resolve_address.h +0 -125
  315. data/src/core/lib/iomgr/resolve_address_impl.h +0 -58
  316. data/src/core/lib/iomgr/resolve_address_posix.cc +0 -184
  317. data/src/core/lib/iomgr/resolve_address_posix.h +0 -78
  318. data/src/core/lib/iomgr/resolve_address_windows.cc +0 -169
  319. data/src/core/lib/iomgr/resolve_address_windows.h +0 -76
  320. data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +0 -781
  321. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver.h +0 -93
  322. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +0 -203
  323. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +0 -838
  324. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +0 -1237
  325. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +0 -130
  326. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +0 -35
  327. data/src/core/resolver/dns/dns_resolver_plugin.cc +0 -64
  328. data/src/core/resolver/dns/native/dns_resolver.cc +0 -173
  329. data/src/core/util/json/json_util.cc +0 -101
  330. data/src/core/util/json/json_util.h +0 -163
@@ -77,10 +77,6 @@ inline bool IsChaoticGoodSendSupportedFeaturesEnabled() { return true; }
77
77
  inline bool IsCustomFrameCheckEnabled() { return true; }
78
78
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_CLIENT
79
79
  inline bool IsEventEngineClientEnabled() { return true; }
80
- #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_DNS
81
- inline bool IsEventEngineDnsEnabled() { return true; }
82
- #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_DNS_NON_CLIENT_CHANNEL
83
- inline bool IsEventEngineDnsNonClientChannelEnabled() { return true; }
84
80
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_FORK
85
81
  inline bool IsEventEngineForkEnabled() { return true; }
86
82
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_LISTENER
@@ -90,21 +86,24 @@ inline bool IsEventEngineCallbackCqEnabled() { return true; }
90
86
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_FOR_ALL_OTHER_ENDPOINTS
91
87
  inline bool IsEventEngineForAllOtherEndpointsEnabled() { return true; }
92
88
  inline bool IsFailRecvMetadataOnDeadlineExceededEnabled() { return false; }
89
+ inline bool IsFixV3FilterStackServerSideOrderingEnabled() { return false; }
93
90
  inline bool IsFreeLargeAllocatorEnabled() { return false; }
94
91
  inline bool IsFuseFiltersEnabled() { return false; }
95
92
  inline bool IsH2MaxDeallocatingStreamsHeadroomEnabled() { return false; }
93
+ #define GRPC_EXPERIMENT_IS_INCLUDED_HEADER_DATA_FRAME
94
+ inline bool IsHeaderDataFrameEnabled() { return true; }
96
95
  #define GRPC_EXPERIMENT_IS_INCLUDED_INPROC_CANCEL_STREAM
97
96
  inline bool IsInprocCancelStreamEnabled() { return true; }
98
97
  inline bool IsKeepAlivePingTimerBatchEnabled() { return false; }
99
98
  inline bool IsLocalConnectorSecureEnabled() { return false; }
100
99
  inline bool IsMemoryOptimization01Enabled() { return false; }
101
100
  inline bool IsMemoryOptimization02Enabled() { return false; }
102
- inline bool IsMessageSizeRefactoringEnabled() { return false; }
101
+ #define GRPC_EXPERIMENT_IS_INCLUDED_MESSAGE_SIZE_REFACTORING
102
+ inline bool IsMessageSizeRefactoringEnabled() { return true; }
103
103
  inline bool IsMetadataOutstandingTokenRefactorEnabled() { return false; }
104
104
  inline bool IsMetadataPublishToAppTagEnabled() { return false; }
105
105
  #define GRPC_EXPERIMENT_IS_INCLUDED_MONITORING_EXPERIMENT
106
106
  inline bool IsMonitoringExperimentEnabled() { return true; }
107
- inline bool IsMultipingEnabled() { return false; }
108
107
  #define GRPC_EXPERIMENT_IS_INCLUDED_OPTIMIZATION_01
109
108
  inline bool IsOptimization01Enabled() { return true; }
110
109
  #define GRPC_EXPERIMENT_IS_INCLUDED_OPTIMIZATION_02
@@ -118,7 +117,8 @@ inline bool IsOptimization06Enabled() { return false; }
118
117
  inline bool IsOtelExportTelemetryDomainsEnabled() { return false; }
119
118
  inline bool IsPh2ClientEnabled() { return false; }
120
119
  inline bool IsPh2ClientServerEnabled() { return false; }
121
- inline bool IsPh2Perf01Enabled() { return false; }
120
+ #define GRPC_EXPERIMENT_IS_INCLUDED_PH2_PERF_01
121
+ inline bool IsPh2Perf01Enabled() { return true; }
122
122
  inline bool IsPh2ServerEnabled() { return false; }
123
123
  inline bool IsPickFirstIgnoreEmptyUpdatesEnabled() { return false; }
124
124
  inline bool IsPipelinedReadSecureEndpointEnabled() { return false; }
@@ -127,7 +127,9 @@ inline bool IsPrioritizeFinishedRequestsEnabled() { return false; }
127
127
  inline bool IsPromiseBasedInprocTransportEnabled() { return false; }
128
128
  #define GRPC_EXPERIMENT_IS_INCLUDED_PROMISE_BATCH_CLEANUP_ON_CANCEL
129
129
  inline bool IsPromiseBatchCleanupOnCancelEnabled() { return true; }
130
- inline bool IsPromiseFilterSendCancelMetadataEnabled() { return false; }
130
+ #define GRPC_EXPERIMENT_IS_INCLUDED_PROMISE_FILTER_SEND_CANCEL_METADATA
131
+ inline bool IsPromiseFilterSendCancelMetadataEnabled() { return true; }
132
+ inline bool IsRecvMessageFilterBypassFixEnabled() { return false; }
131
133
  inline bool IsRetryInCallv3Enabled() { return false; }
132
134
  #define GRPC_EXPERIMENT_IS_INCLUDED_RETURN_PREEXISTING_ERRORS
133
135
  inline bool IsReturnPreexistingErrorsEnabled() { return true; }
@@ -136,17 +138,17 @@ inline bool IsSecureEndpointOffloadLargeReadsEnabled() { return false; }
136
138
  inline bool IsSecureEndpointOffloadLargeWritesEnabled() { return false; }
137
139
  inline bool IsSecureEndpointReadCoalescingEnabled() { return false; }
138
140
  inline bool IsSkipClearPeerOnCancellationEnabled() { return false; }
139
- #define GRPC_EXPERIMENT_IS_INCLUDED_SUBCHANNEL_CONNECTION_SCALING
140
- inline bool IsSubchannelConnectionScalingEnabled() { return true; }
141
141
  inline bool IsTcpFrameSizeTuningEnabled() { return false; }
142
142
  inline bool IsTcpRcvLowatEnabled() { return false; }
143
143
  inline bool IsTsiFrameProtectorWithoutLocksEnabled() { return false; }
144
144
  inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; }
145
145
  inline bool IsUseCallEventEngineInCompletionQueueEnabled() { return false; }
146
- inline bool IsV2NonOwningWakerImplementationEnabled() { return false; }
146
+ #define GRPC_EXPERIMENT_IS_INCLUDED_V2_NON_OWNING_WAKER_IMPLEMENTATION
147
+ inline bool IsV2NonOwningWakerImplementationEnabled() { return true; }
147
148
  inline bool IsVerboseChannelzConnectionLoggingEnabled() { return false; }
148
149
  inline bool IsWildcardIpExpansionRestrictionEnabled() { return false; }
149
- inline bool IsXdsServerFilterChainPerRouteEnabled() { return false; }
150
+ #define GRPC_EXPERIMENT_IS_INCLUDED_XDS_SERVER_FILTER_CHAIN_PER_ROUTE
151
+ inline bool IsXdsServerFilterChainPerRouteEnabled() { return true; }
150
152
 
151
153
  #elif defined(GPR_WINDOWS)
152
154
  inline bool IsBufferListDeletionPrepEnabled() { return false; }
@@ -169,10 +171,6 @@ inline bool IsChaoticGoodSendSupportedFeaturesEnabled() { return true; }
169
171
  inline bool IsCustomFrameCheckEnabled() { return true; }
170
172
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_CLIENT
171
173
  inline bool IsEventEngineClientEnabled() { return true; }
172
- #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_DNS
173
- inline bool IsEventEngineDnsEnabled() { return true; }
174
- #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_DNS_NON_CLIENT_CHANNEL
175
- inline bool IsEventEngineDnsNonClientChannelEnabled() { return true; }
176
174
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_FORK
177
175
  inline bool IsEventEngineForkEnabled() { return true; }
178
176
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_LISTENER
@@ -182,21 +180,24 @@ inline bool IsEventEngineCallbackCqEnabled() { return true; }
182
180
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_FOR_ALL_OTHER_ENDPOINTS
183
181
  inline bool IsEventEngineForAllOtherEndpointsEnabled() { return true; }
184
182
  inline bool IsFailRecvMetadataOnDeadlineExceededEnabled() { return false; }
183
+ inline bool IsFixV3FilterStackServerSideOrderingEnabled() { return false; }
185
184
  inline bool IsFreeLargeAllocatorEnabled() { return false; }
186
185
  inline bool IsFuseFiltersEnabled() { return false; }
187
186
  inline bool IsH2MaxDeallocatingStreamsHeadroomEnabled() { return false; }
187
+ #define GRPC_EXPERIMENT_IS_INCLUDED_HEADER_DATA_FRAME
188
+ inline bool IsHeaderDataFrameEnabled() { return true; }
188
189
  #define GRPC_EXPERIMENT_IS_INCLUDED_INPROC_CANCEL_STREAM
189
190
  inline bool IsInprocCancelStreamEnabled() { return true; }
190
191
  inline bool IsKeepAlivePingTimerBatchEnabled() { return false; }
191
192
  inline bool IsLocalConnectorSecureEnabled() { return false; }
192
193
  inline bool IsMemoryOptimization01Enabled() { return false; }
193
194
  inline bool IsMemoryOptimization02Enabled() { return false; }
194
- inline bool IsMessageSizeRefactoringEnabled() { return false; }
195
+ #define GRPC_EXPERIMENT_IS_INCLUDED_MESSAGE_SIZE_REFACTORING
196
+ inline bool IsMessageSizeRefactoringEnabled() { return true; }
195
197
  inline bool IsMetadataOutstandingTokenRefactorEnabled() { return false; }
196
198
  inline bool IsMetadataPublishToAppTagEnabled() { return false; }
197
199
  #define GRPC_EXPERIMENT_IS_INCLUDED_MONITORING_EXPERIMENT
198
200
  inline bool IsMonitoringExperimentEnabled() { return true; }
199
- inline bool IsMultipingEnabled() { return false; }
200
201
  #define GRPC_EXPERIMENT_IS_INCLUDED_OPTIMIZATION_01
201
202
  inline bool IsOptimization01Enabled() { return true; }
202
203
  #define GRPC_EXPERIMENT_IS_INCLUDED_OPTIMIZATION_02
@@ -210,7 +211,8 @@ inline bool IsOptimization06Enabled() { return false; }
210
211
  inline bool IsOtelExportTelemetryDomainsEnabled() { return false; }
211
212
  inline bool IsPh2ClientEnabled() { return false; }
212
213
  inline bool IsPh2ClientServerEnabled() { return false; }
213
- inline bool IsPh2Perf01Enabled() { return false; }
214
+ #define GRPC_EXPERIMENT_IS_INCLUDED_PH2_PERF_01
215
+ inline bool IsPh2Perf01Enabled() { return true; }
214
216
  inline bool IsPh2ServerEnabled() { return false; }
215
217
  inline bool IsPickFirstIgnoreEmptyUpdatesEnabled() { return false; }
216
218
  inline bool IsPipelinedReadSecureEndpointEnabled() { return false; }
@@ -219,7 +221,9 @@ inline bool IsPrioritizeFinishedRequestsEnabled() { return false; }
219
221
  inline bool IsPromiseBasedInprocTransportEnabled() { return false; }
220
222
  #define GRPC_EXPERIMENT_IS_INCLUDED_PROMISE_BATCH_CLEANUP_ON_CANCEL
221
223
  inline bool IsPromiseBatchCleanupOnCancelEnabled() { return true; }
222
- inline bool IsPromiseFilterSendCancelMetadataEnabled() { return false; }
224
+ #define GRPC_EXPERIMENT_IS_INCLUDED_PROMISE_FILTER_SEND_CANCEL_METADATA
225
+ inline bool IsPromiseFilterSendCancelMetadataEnabled() { return true; }
226
+ inline bool IsRecvMessageFilterBypassFixEnabled() { return false; }
223
227
  inline bool IsRetryInCallv3Enabled() { return false; }
224
228
  #define GRPC_EXPERIMENT_IS_INCLUDED_RETURN_PREEXISTING_ERRORS
225
229
  inline bool IsReturnPreexistingErrorsEnabled() { return true; }
@@ -228,17 +232,17 @@ inline bool IsSecureEndpointOffloadLargeReadsEnabled() { return false; }
228
232
  inline bool IsSecureEndpointOffloadLargeWritesEnabled() { return false; }
229
233
  inline bool IsSecureEndpointReadCoalescingEnabled() { return false; }
230
234
  inline bool IsSkipClearPeerOnCancellationEnabled() { return false; }
231
- #define GRPC_EXPERIMENT_IS_INCLUDED_SUBCHANNEL_CONNECTION_SCALING
232
- inline bool IsSubchannelConnectionScalingEnabled() { return true; }
233
235
  inline bool IsTcpFrameSizeTuningEnabled() { return false; }
234
236
  inline bool IsTcpRcvLowatEnabled() { return false; }
235
237
  inline bool IsTsiFrameProtectorWithoutLocksEnabled() { return false; }
236
238
  inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; }
237
239
  inline bool IsUseCallEventEngineInCompletionQueueEnabled() { return false; }
238
- inline bool IsV2NonOwningWakerImplementationEnabled() { return false; }
240
+ #define GRPC_EXPERIMENT_IS_INCLUDED_V2_NON_OWNING_WAKER_IMPLEMENTATION
241
+ inline bool IsV2NonOwningWakerImplementationEnabled() { return true; }
239
242
  inline bool IsVerboseChannelzConnectionLoggingEnabled() { return false; }
240
243
  inline bool IsWildcardIpExpansionRestrictionEnabled() { return false; }
241
- inline bool IsXdsServerFilterChainPerRouteEnabled() { return false; }
244
+ #define GRPC_EXPERIMENT_IS_INCLUDED_XDS_SERVER_FILTER_CHAIN_PER_ROUTE
245
+ inline bool IsXdsServerFilterChainPerRouteEnabled() { return true; }
242
246
 
243
247
  #else
244
248
  inline bool IsBufferListDeletionPrepEnabled() { return false; }
@@ -261,10 +265,6 @@ inline bool IsChaoticGoodSendSupportedFeaturesEnabled() { return true; }
261
265
  inline bool IsCustomFrameCheckEnabled() { return true; }
262
266
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_CLIENT
263
267
  inline bool IsEventEngineClientEnabled() { return true; }
264
- #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_DNS
265
- inline bool IsEventEngineDnsEnabled() { return true; }
266
- #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_DNS_NON_CLIENT_CHANNEL
267
- inline bool IsEventEngineDnsNonClientChannelEnabled() { return true; }
268
268
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_FORK
269
269
  inline bool IsEventEngineForkEnabled() { return true; }
270
270
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_LISTENER
@@ -274,21 +274,24 @@ inline bool IsEventEngineCallbackCqEnabled() { return true; }
274
274
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_FOR_ALL_OTHER_ENDPOINTS
275
275
  inline bool IsEventEngineForAllOtherEndpointsEnabled() { return true; }
276
276
  inline bool IsFailRecvMetadataOnDeadlineExceededEnabled() { return false; }
277
+ inline bool IsFixV3FilterStackServerSideOrderingEnabled() { return false; }
277
278
  inline bool IsFreeLargeAllocatorEnabled() { return false; }
278
279
  inline bool IsFuseFiltersEnabled() { return false; }
279
280
  inline bool IsH2MaxDeallocatingStreamsHeadroomEnabled() { return false; }
281
+ #define GRPC_EXPERIMENT_IS_INCLUDED_HEADER_DATA_FRAME
282
+ inline bool IsHeaderDataFrameEnabled() { return true; }
280
283
  #define GRPC_EXPERIMENT_IS_INCLUDED_INPROC_CANCEL_STREAM
281
284
  inline bool IsInprocCancelStreamEnabled() { return true; }
282
285
  inline bool IsKeepAlivePingTimerBatchEnabled() { return false; }
283
286
  inline bool IsLocalConnectorSecureEnabled() { return false; }
284
287
  inline bool IsMemoryOptimization01Enabled() { return false; }
285
288
  inline bool IsMemoryOptimization02Enabled() { return false; }
286
- inline bool IsMessageSizeRefactoringEnabled() { return false; }
289
+ #define GRPC_EXPERIMENT_IS_INCLUDED_MESSAGE_SIZE_REFACTORING
290
+ inline bool IsMessageSizeRefactoringEnabled() { return true; }
287
291
  inline bool IsMetadataOutstandingTokenRefactorEnabled() { return false; }
288
292
  inline bool IsMetadataPublishToAppTagEnabled() { return false; }
289
293
  #define GRPC_EXPERIMENT_IS_INCLUDED_MONITORING_EXPERIMENT
290
294
  inline bool IsMonitoringExperimentEnabled() { return true; }
291
- inline bool IsMultipingEnabled() { return false; }
292
295
  #define GRPC_EXPERIMENT_IS_INCLUDED_OPTIMIZATION_01
293
296
  inline bool IsOptimization01Enabled() { return true; }
294
297
  #define GRPC_EXPERIMENT_IS_INCLUDED_OPTIMIZATION_02
@@ -302,7 +305,8 @@ inline bool IsOptimization06Enabled() { return false; }
302
305
  inline bool IsOtelExportTelemetryDomainsEnabled() { return false; }
303
306
  inline bool IsPh2ClientEnabled() { return false; }
304
307
  inline bool IsPh2ClientServerEnabled() { return false; }
305
- inline bool IsPh2Perf01Enabled() { return false; }
308
+ #define GRPC_EXPERIMENT_IS_INCLUDED_PH2_PERF_01
309
+ inline bool IsPh2Perf01Enabled() { return true; }
306
310
  inline bool IsPh2ServerEnabled() { return false; }
307
311
  inline bool IsPickFirstIgnoreEmptyUpdatesEnabled() { return false; }
308
312
  inline bool IsPipelinedReadSecureEndpointEnabled() { return false; }
@@ -311,7 +315,9 @@ inline bool IsPrioritizeFinishedRequestsEnabled() { return false; }
311
315
  inline bool IsPromiseBasedInprocTransportEnabled() { return false; }
312
316
  #define GRPC_EXPERIMENT_IS_INCLUDED_PROMISE_BATCH_CLEANUP_ON_CANCEL
313
317
  inline bool IsPromiseBatchCleanupOnCancelEnabled() { return true; }
314
- inline bool IsPromiseFilterSendCancelMetadataEnabled() { return false; }
318
+ #define GRPC_EXPERIMENT_IS_INCLUDED_PROMISE_FILTER_SEND_CANCEL_METADATA
319
+ inline bool IsPromiseFilterSendCancelMetadataEnabled() { return true; }
320
+ inline bool IsRecvMessageFilterBypassFixEnabled() { return false; }
315
321
  inline bool IsRetryInCallv3Enabled() { return false; }
316
322
  #define GRPC_EXPERIMENT_IS_INCLUDED_RETURN_PREEXISTING_ERRORS
317
323
  inline bool IsReturnPreexistingErrorsEnabled() { return true; }
@@ -320,17 +326,17 @@ inline bool IsSecureEndpointOffloadLargeReadsEnabled() { return false; }
320
326
  inline bool IsSecureEndpointOffloadLargeWritesEnabled() { return false; }
321
327
  inline bool IsSecureEndpointReadCoalescingEnabled() { return false; }
322
328
  inline bool IsSkipClearPeerOnCancellationEnabled() { return false; }
323
- #define GRPC_EXPERIMENT_IS_INCLUDED_SUBCHANNEL_CONNECTION_SCALING
324
- inline bool IsSubchannelConnectionScalingEnabled() { return true; }
325
329
  inline bool IsTcpFrameSizeTuningEnabled() { return false; }
326
330
  inline bool IsTcpRcvLowatEnabled() { return false; }
327
331
  inline bool IsTsiFrameProtectorWithoutLocksEnabled() { return false; }
328
332
  inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; }
329
333
  inline bool IsUseCallEventEngineInCompletionQueueEnabled() { return false; }
330
- inline bool IsV2NonOwningWakerImplementationEnabled() { return false; }
334
+ #define GRPC_EXPERIMENT_IS_INCLUDED_V2_NON_OWNING_WAKER_IMPLEMENTATION
335
+ inline bool IsV2NonOwningWakerImplementationEnabled() { return true; }
331
336
  inline bool IsVerboseChannelzConnectionLoggingEnabled() { return false; }
332
337
  inline bool IsWildcardIpExpansionRestrictionEnabled() { return false; }
333
- inline bool IsXdsServerFilterChainPerRouteEnabled() { return false; }
338
+ #define GRPC_EXPERIMENT_IS_INCLUDED_XDS_SERVER_FILTER_CHAIN_PER_ROUTE
339
+ inline bool IsXdsServerFilterChainPerRouteEnabled() { return true; }
334
340
  #endif
335
341
 
336
342
  #else
@@ -344,16 +350,16 @@ enum ExperimentIds {
344
350
  kExperimentIdChaoticGoodSendSupportedFeatures,
345
351
  kExperimentIdCustomFrameCheck,
346
352
  kExperimentIdEventEngineClient,
347
- kExperimentIdEventEngineDns,
348
- kExperimentIdEventEngineDnsNonClientChannel,
349
353
  kExperimentIdEventEngineFork,
350
354
  kExperimentIdEventEngineListener,
351
355
  kExperimentIdEventEngineCallbackCq,
352
356
  kExperimentIdEventEngineForAllOtherEndpoints,
353
357
  kExperimentIdFailRecvMetadataOnDeadlineExceeded,
358
+ kExperimentIdFixV3FilterStackServerSideOrdering,
354
359
  kExperimentIdFreeLargeAllocator,
355
360
  kExperimentIdFuseFilters,
356
361
  kExperimentIdH2MaxDeallocatingStreamsHeadroom,
362
+ kExperimentIdHeaderDataFrame,
357
363
  kExperimentIdInprocCancelStream,
358
364
  kExperimentIdKeepAlivePingTimerBatch,
359
365
  kExperimentIdLocalConnectorSecure,
@@ -363,7 +369,6 @@ enum ExperimentIds {
363
369
  kExperimentIdMetadataOutstandingTokenRefactor,
364
370
  kExperimentIdMetadataPublishToAppTag,
365
371
  kExperimentIdMonitoringExperiment,
366
- kExperimentIdMultiping,
367
372
  kExperimentIdOptimization01,
368
373
  kExperimentIdOptimization02,
369
374
  kExperimentIdOptimization03,
@@ -382,6 +387,7 @@ enum ExperimentIds {
382
387
  kExperimentIdPromiseBasedInprocTransport,
383
388
  kExperimentIdPromiseBatchCleanupOnCancel,
384
389
  kExperimentIdPromiseFilterSendCancelMetadata,
390
+ kExperimentIdRecvMessageFilterBypassFix,
385
391
  kExperimentIdRetryInCallv3,
386
392
  kExperimentIdReturnPreexistingErrors,
387
393
  kExperimentIdScheduleCancellationOverWrite,
@@ -389,7 +395,6 @@ enum ExperimentIds {
389
395
  kExperimentIdSecureEndpointOffloadLargeWrites,
390
396
  kExperimentIdSecureEndpointReadCoalescing,
391
397
  kExperimentIdSkipClearPeerOnCancellation,
392
- kExperimentIdSubchannelConnectionScaling,
393
398
  kExperimentIdTcpFrameSizeTuning,
394
399
  kExperimentIdTcpRcvLowat,
395
400
  kExperimentIdTsiFrameProtectorWithoutLocks,
@@ -439,14 +444,6 @@ inline bool IsCustomFrameCheckEnabled() {
439
444
  inline bool IsEventEngineClientEnabled() {
440
445
  return IsExperimentEnabled<kExperimentIdEventEngineClient>();
441
446
  }
442
- #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_DNS
443
- inline bool IsEventEngineDnsEnabled() {
444
- return IsExperimentEnabled<kExperimentIdEventEngineDns>();
445
- }
446
- #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_DNS_NON_CLIENT_CHANNEL
447
- inline bool IsEventEngineDnsNonClientChannelEnabled() {
448
- return IsExperimentEnabled<kExperimentIdEventEngineDnsNonClientChannel>();
449
- }
450
447
  #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_FORK
451
448
  inline bool IsEventEngineForkEnabled() {
452
449
  return IsExperimentEnabled<kExperimentIdEventEngineFork>();
@@ -467,6 +464,10 @@ inline bool IsEventEngineForAllOtherEndpointsEnabled() {
467
464
  inline bool IsFailRecvMetadataOnDeadlineExceededEnabled() {
468
465
  return IsExperimentEnabled<kExperimentIdFailRecvMetadataOnDeadlineExceeded>();
469
466
  }
467
+ #define GRPC_EXPERIMENT_IS_INCLUDED_FIX_V3_FILTER_STACK_SERVER_SIDE_ORDERING
468
+ inline bool IsFixV3FilterStackServerSideOrderingEnabled() {
469
+ return IsExperimentEnabled<kExperimentIdFixV3FilterStackServerSideOrdering>();
470
+ }
470
471
  #define GRPC_EXPERIMENT_IS_INCLUDED_FREE_LARGE_ALLOCATOR
471
472
  inline bool IsFreeLargeAllocatorEnabled() {
472
473
  return IsExperimentEnabled<kExperimentIdFreeLargeAllocator>();
@@ -479,6 +480,10 @@ inline bool IsFuseFiltersEnabled() {
479
480
  inline bool IsH2MaxDeallocatingStreamsHeadroomEnabled() {
480
481
  return IsExperimentEnabled<kExperimentIdH2MaxDeallocatingStreamsHeadroom>();
481
482
  }
483
+ #define GRPC_EXPERIMENT_IS_INCLUDED_HEADER_DATA_FRAME
484
+ inline bool IsHeaderDataFrameEnabled() {
485
+ return IsExperimentEnabled<kExperimentIdHeaderDataFrame>();
486
+ }
482
487
  #define GRPC_EXPERIMENT_IS_INCLUDED_INPROC_CANCEL_STREAM
483
488
  inline bool IsInprocCancelStreamEnabled() {
484
489
  return IsExperimentEnabled<kExperimentIdInprocCancelStream>();
@@ -515,10 +520,6 @@ inline bool IsMetadataPublishToAppTagEnabled() {
515
520
  inline bool IsMonitoringExperimentEnabled() {
516
521
  return IsExperimentEnabled<kExperimentIdMonitoringExperiment>();
517
522
  }
518
- #define GRPC_EXPERIMENT_IS_INCLUDED_MULTIPING
519
- inline bool IsMultipingEnabled() {
520
- return IsExperimentEnabled<kExperimentIdMultiping>();
521
- }
522
523
  #define GRPC_EXPERIMENT_IS_INCLUDED_OPTIMIZATION_01
523
524
  inline bool IsOptimization01Enabled() {
524
525
  return IsExperimentEnabled<kExperimentIdOptimization01>();
@@ -591,6 +592,10 @@ inline bool IsPromiseBatchCleanupOnCancelEnabled() {
591
592
  inline bool IsPromiseFilterSendCancelMetadataEnabled() {
592
593
  return IsExperimentEnabled<kExperimentIdPromiseFilterSendCancelMetadata>();
593
594
  }
595
+ #define GRPC_EXPERIMENT_IS_INCLUDED_RECV_MESSAGE_FILTER_BYPASS_FIX
596
+ inline bool IsRecvMessageFilterBypassFixEnabled() {
597
+ return IsExperimentEnabled<kExperimentIdRecvMessageFilterBypassFix>();
598
+ }
594
599
  #define GRPC_EXPERIMENT_IS_INCLUDED_RETRY_IN_CALLV3
595
600
  inline bool IsRetryInCallv3Enabled() {
596
601
  return IsExperimentEnabled<kExperimentIdRetryInCallv3>();
@@ -619,10 +624,6 @@ inline bool IsSecureEndpointReadCoalescingEnabled() {
619
624
  inline bool IsSkipClearPeerOnCancellationEnabled() {
620
625
  return IsExperimentEnabled<kExperimentIdSkipClearPeerOnCancellation>();
621
626
  }
622
- #define GRPC_EXPERIMENT_IS_INCLUDED_SUBCHANNEL_CONNECTION_SCALING
623
- inline bool IsSubchannelConnectionScalingEnabled() {
624
- return IsExperimentEnabled<kExperimentIdSubchannelConnectionScaling>();
625
- }
626
627
  #define GRPC_EXPERIMENT_IS_INCLUDED_TCP_FRAME_SIZE_TUNING
627
628
  inline bool IsTcpFrameSizeTuningEnabled() {
628
629
  return IsExperimentEnabled<kExperimentIdTcpFrameSizeTuning>();
@@ -75,9 +75,7 @@ void CFStreamHandle::ReadCallback(CFReadStreamRef stream,
75
75
  break;
76
76
  case kCFStreamEventErrorOccurred:
77
77
  stream_error = CFReadStreamCopyError(stream);
78
- error = grpc_error_set_int(
79
- GRPC_ERROR_CREATE_FROM_CFERROR(stream_error, "read error"),
80
- grpc_core::StatusIntProperty::kRpcStatus, GRPC_STATUS_UNAVAILABLE);
78
+ error = GRPC_ERROR_CREATE_FROM_CFERROR(stream_error, "read error");
81
79
  CFRelease(stream_error);
82
80
  handle->open_event_.SetShutdown(error);
83
81
  handle->write_event_.SetShutdown(error);
@@ -107,9 +105,7 @@ void CFStreamHandle::WriteCallback(CFWriteStreamRef stream,
107
105
  break;
108
106
  case kCFStreamEventErrorOccurred:
109
107
  stream_error = CFWriteStreamCopyError(stream);
110
- error = grpc_error_set_int(
111
- GRPC_ERROR_CREATE_FROM_CFERROR(stream_error, "write error"),
112
- grpc_core::StatusIntProperty::kRpcStatus, GRPC_STATUS_UNAVAILABLE);
108
+ error = GRPC_ERROR_CREATE_FROM_CFERROR(stream_error, "write error");
113
109
  CFRelease(stream_error);
114
110
  handle->open_event_.SetShutdown(error);
115
111
  handle->write_event_.SetShutdown(error);
@@ -101,11 +101,6 @@ static void CFStreamUnref(CFStreamEndpoint* ep) {
101
101
  static void CFStreamRef(CFStreamEndpoint* ep) { gpr_ref(&ep->refcount); }
102
102
  #endif
103
103
 
104
- static grpc_error_handle CFStreamAnnotateError(grpc_error_handle src_error) {
105
- return grpc_error_set_int(src_error, grpc_core::StatusIntProperty::kRpcStatus,
106
- GRPC_STATUS_UNAVAILABLE);
107
- }
108
-
109
104
  static void CallReadCb(CFStreamEndpoint* ep, grpc_error_handle error) {
110
105
  if (GRPC_TRACE_FLAG_ENABLED(tcp) && ABSL_VLOG_IS_ON(2)) {
111
106
  VLOG(2) << "CFStream endpoint:" << ep << " call_read_cb " << ep->read_cb
@@ -156,8 +151,7 @@ static void ReadAction(void* arg, grpc_error_handle error) {
156
151
  grpc_slice_buffer_reset_and_unref(ep->read_slices);
157
152
  CFErrorRef stream_error = CFReadStreamCopyError(ep->read_stream);
158
153
  if (stream_error != nullptr) {
159
- error = CFStreamAnnotateError(
160
- GRPC_ERROR_CREATE_FROM_CFERROR(stream_error, "Read error"));
154
+ error = GRPC_ERROR_CREATE_FROM_CFERROR(stream_error, "Read error");
161
155
  CFRelease(stream_error);
162
156
  } else {
163
157
  error = GRPC_ERROR_CREATE("Read error");
@@ -166,7 +160,7 @@ static void ReadAction(void* arg, grpc_error_handle error) {
166
160
  EP_UNREF(ep, "read");
167
161
  } else if (read_size == 0) {
168
162
  grpc_slice_buffer_reset_and_unref(ep->read_slices);
169
- CallReadCb(ep, CFStreamAnnotateError(GRPC_ERROR_CREATE("Socket closed")));
163
+ CallReadCb(ep, absl::UnavailableError("Socket closed"));
170
164
  EP_UNREF(ep, "read");
171
165
  } else {
172
166
  if (read_size < static_cast<CFIndex>(len)) {
@@ -194,8 +188,7 @@ static void WriteAction(void* arg, grpc_error_handle error) {
194
188
  grpc_slice_buffer_reset_and_unref(ep->write_slices);
195
189
  CFErrorRef stream_error = CFWriteStreamCopyError(ep->write_stream);
196
190
  if (stream_error != nullptr) {
197
- error = CFStreamAnnotateError(
198
- GRPC_ERROR_CREATE_FROM_CFERROR(stream_error, "Write failed"));
191
+ error = GRPC_ERROR_CREATE_FROM_CFERROR(stream_error, "Write failed");
199
192
  CFRelease(stream_error);
200
193
  } else {
201
194
  error = GRPC_ERROR_CREATE("write failed.");
@@ -95,13 +95,9 @@ std::string WSAErrorToShortDescription(int err) {
95
95
  absl::Status grpc_wsa_error(const grpc_core::DebugLocation& location, int err,
96
96
  absl::string_view call_name) {
97
97
  char* utf8_message = gpr_format_message(err);
98
- absl::Status status = StatusCreate(
99
- absl::StatusCode::kUnavailable,
98
+ absl::Status status = absl::UnavailableError(
100
99
  absl::StrCat(call_name, ": ", WSAErrorToShortDescription(err), " (",
101
- utf8_message, " -- ", err, ")"),
102
- location, {});
103
- StatusSetInt(&status, grpc_core::StatusIntProperty::kRpcStatus,
104
- GRPC_STATUS_UNAVAILABLE);
100
+ utf8_message, " -- ", err, ")"));
105
101
  gpr_free(utf8_message);
106
102
  return status;
107
103
  }
@@ -46,6 +46,6 @@ grpc_error_handle grpc_error_create_from_cferror(const char* file, int line,
46
46
  absl::StrFormat("%s (error domain:%s, code:%ld, description:%s)",
47
47
  custom_desc, buf_domain, code, buf_desc);
48
48
  CFRelease(desc);
49
- return absl::UnknownError(error_msg);
49
+ return absl::UnavailableError(error_msg);
50
50
  }
51
51
  #endif // GRPC_CFSTREAM
@@ -522,21 +522,17 @@ static void fd_unref(grpc_fd* fd) { unref_by(fd, 2); }
522
522
  static grpc_error_handle fd_shutdown_error(grpc_fd* fd) {
523
523
  if (!fd->shutdown) {
524
524
  return absl::OkStatus();
525
- } else {
526
- return grpc_error_set_int(
527
- GRPC_ERROR_CREATE_REFERENCING("FD shutdown", &fd->shutdown_error, 1),
528
- grpc_core::StatusIntProperty::kRpcStatus, GRPC_STATUS_UNAVAILABLE);
529
525
  }
526
+ absl::Status status = absl::UnavailableError("FD shutdown");
527
+ grpc_core::StatusAddChild(&status, fd->shutdown_error);
528
+ return status;
530
529
  }
531
530
 
532
531
  static void notify_on_locked(grpc_fd* fd, grpc_closure** st,
533
532
  grpc_closure* closure) {
534
533
  if (fd->shutdown || gpr_atm_no_barrier_load(&fd->pollhup)) {
535
- grpc_core::ExecCtx::Run(
536
- DEBUG_LOCATION, closure,
537
- grpc_error_set_int(GRPC_ERROR_CREATE("FD shutdown"),
538
- grpc_core::StatusIntProperty::kRpcStatus,
539
- GRPC_STATUS_UNAVAILABLE));
534
+ grpc_core::ExecCtx::Run(DEBUG_LOCATION, closure,
535
+ absl::UnavailableError("FD shutdown"));
540
536
  } else if (*st == CLOSURE_NOT_READY) {
541
537
  // not ready ==> switch to a waiting state by setting the closure
542
538
  *st = closure;
@@ -49,7 +49,7 @@ void RunEventEngineClosure(grpc_closure* closure, grpc_error_handle error) {
49
49
  absl::AnyInvocable<void(absl::Status)> GrpcClosureToStatusCallback(
50
50
  grpc_closure* closure) {
51
51
  return [closure](absl::Status status) {
52
- RunEventEngineClosure(closure, absl_status_to_grpc_error(status));
52
+ RunEventEngineClosure(closure, status);
53
53
  };
54
54
  }
55
55
 
@@ -464,8 +464,7 @@ void grpc_event_engine_endpoint_destroy_and_release_fd(
464
464
  if (release_fd.ok()) {
465
465
  *fd = *release_fd;
466
466
  }
467
- RunEventEngineClosure(on_release_fd,
468
- absl_status_to_grpc_error(release_fd.status()));
467
+ RunEventEngineClosure(on_release_fd, release_fd.status());
469
468
  });
470
469
  }
471
470
  eeep->wrapper->Unref();
@@ -62,8 +62,7 @@ int64_t event_engine_tcp_client_connect(
62
62
  }
63
63
  GRPC_TRACE_LOG(event_engine, INFO)
64
64
  << "EventEngine::Connect Status: " << ep.status();
65
- grpc_core::ExecCtx::Run(DEBUG_LOCATION, on_connect,
66
- absl_status_to_grpc_error(conn_status));
65
+ grpc_core::ExecCtx::Run(DEBUG_LOCATION, on_connect, conn_status);
67
66
  },
68
67
  CreateResolvedAddress(*addr), config,
69
68
  resource_quota != nullptr
@@ -24,8 +24,6 @@
24
24
 
25
25
  #include "src/core/lib/iomgr/ev_posix.h"
26
26
  #include "src/core/lib/iomgr/iomgr_internal.h"
27
- #include "src/core/lib/iomgr/resolve_address.h"
28
- #include "src/core/lib/iomgr/resolve_address_posix.h"
29
27
  #include "src/core/lib/iomgr/tcp_client.h"
30
28
  #include "src/core/lib/iomgr/tcp_posix.h"
31
29
  #include "src/core/lib/iomgr/tcp_server.h"
@@ -38,7 +36,6 @@ extern grpc_pollset_vtable grpc_posix_pollset_vtable;
38
36
  extern grpc_pollset_set_vtable grpc_posix_pollset_set_vtable;
39
37
 
40
38
  static void iomgr_platform_init(void) {
41
- grpc_core::ResetDNSResolver(std::make_unique<grpc_core::NativeDNSResolver>());
42
39
  grpc_wakeup_fd_global_init();
43
40
  grpc_event_engine_init();
44
41
  grpc_tcp_posix_init();
@@ -50,7 +47,6 @@ static void iomgr_platform_shutdown(void) {
50
47
  grpc_tcp_posix_shutdown();
51
48
  grpc_event_engine_shutdown();
52
49
  grpc_wakeup_fd_global_destroy();
53
- grpc_core::ResetDNSResolver(nullptr); // delete the resolver
54
50
  }
55
51
 
56
52
  static void iomgr_platform_shutdown_background_closure(void) {
@@ -40,8 +40,6 @@
40
40
  #include "src/core/lib/iomgr/ev_apple.h"
41
41
  #include "src/core/lib/iomgr/ev_posix.h"
42
42
  #include "src/core/lib/iomgr/iomgr_internal.h"
43
- #include "src/core/lib/iomgr/resolve_address.h"
44
- #include "src/core/lib/iomgr/resolve_address_posix.h"
45
43
  #include "src/core/lib/iomgr/tcp_client.h"
46
44
  #include "src/core/lib/iomgr/tcp_posix.h"
47
45
  #include "src/core/lib/iomgr/tcp_server.h"
@@ -63,7 +61,6 @@ static void apple_iomgr_platform_flush(void) {}
63
61
 
64
62
  static void apple_iomgr_platform_shutdown(void) {
65
63
  grpc_pollset_global_shutdown();
66
- grpc_core::ResetDNSResolver(nullptr); // delete the resolver
67
64
  }
68
65
 
69
66
  static void apple_iomgr_platform_shutdown_background_closure(void) {}
@@ -180,7 +177,6 @@ void grpc_set_default_iomgr_platform() {
180
177
  }
181
178
  grpc_tcp_client_global_init();
182
179
  grpc_set_timer_impl(&grpc_generic_timer_vtable);
183
- grpc_core::ResetDNSResolver(std::make_unique<grpc_core::NativeDNSResolver>());
184
180
  }
185
181
 
186
182
  bool grpc_iomgr_run_in_background() {
@@ -26,8 +26,6 @@
26
26
  #include "src/core/lib/iomgr/iocp_windows.h"
27
27
  #include "src/core/lib/iomgr/iomgr.h"
28
28
  #include "src/core/lib/iomgr/pollset_windows.h"
29
- #include "src/core/lib/iomgr/resolve_address.h"
30
- #include "src/core/lib/iomgr/resolve_address_windows.h"
31
29
  #include "src/core/lib/iomgr/sockaddr_windows.h"
32
30
  #include "src/core/lib/iomgr/socket_windows.h"
33
31
  #include "src/core/lib/iomgr/tcp_client.h"
@@ -63,7 +61,6 @@ static void iomgr_platform_init(void) {
63
61
  grpc_iocp_init();
64
62
  grpc_pollset_global_init();
65
63
  grpc_wsa_socket_flags_init();
66
- grpc_core::ResetDNSResolver(std::make_unique<grpc_core::NativeDNSResolver>());
67
64
  }
68
65
 
69
66
  static void iomgr_platform_flush(void) { grpc_iocp_flush(); }
@@ -72,7 +69,6 @@ static void iomgr_platform_shutdown(void) {
72
69
  grpc_pollset_global_shutdown();
73
70
  grpc_iocp_shutdown();
74
71
  winsock_shutdown();
75
- grpc_core::ResetDNSResolver(nullptr); // delete the resolver
76
72
  }
77
73
 
78
74
  static void iomgr_platform_shutdown_background_closure(void) {}
@@ -23,7 +23,7 @@
23
23
  #include <grpc/support/port_platform.h>
24
24
  #include <grpc/support/sync.h>
25
25
 
26
- #include "src/core/lib/iomgr/resolve_address.h"
26
+ #include "src/core/lib/iomgr/resolved_address.h"
27
27
 
28
28
  /// The virtual table of grpc_socket_factory
29
29
  struct grpc_socket_factory_vtable {
@@ -74,6 +74,9 @@ PosixTcpOptions TcpOptionsFromEndpointConfig(
74
74
  AdjustValue(PosixTcpOptions::kDefaultMaxReadChunksize, 1,
75
75
  PosixTcpOptions::kMaxChunkSize,
76
76
  config.GetInt(GRPC_ARG_TCP_MAX_READ_CHUNK_SIZE));
77
+ options.tcp_max_read_buffer_size =
78
+ AdjustValue(PosixTcpOptions::kMaxReadBufferSizeUnset, 1, INT_MAX,
79
+ config.GetInt(GRPC_ARG_TCP_MAX_READ_BUFFER_SIZE));
77
80
  options.tcp_tx_zerocopy_send_bytes_threshold =
78
81
  AdjustValue(PosixTcpOptions::kDefaultSendBytesThreshold, 0, INT_MAX,
79
82
  config.GetInt(GRPC_ARG_TCP_TX_ZEROCOPY_SEND_BYTES_THRESHOLD));
@@ -51,6 +51,7 @@ struct PosixTcpOptions {
51
51
  static constexpr int kDefaultMaxReadChunksize = 4 * 1024 * 1024;
52
52
  static constexpr int kZerocpTxEnabledDefault = 0;
53
53
  static constexpr int kMaxChunkSize = 32 * 1024 * 1024;
54
+ static constexpr int kMaxReadBufferSizeUnset = -1;
54
55
  static constexpr int kDefaultMaxSends = 4;
55
56
  static constexpr size_t kDefaultSendBytesThreshold = 16 * 1024;
56
57
  // Let the system decide the proper buffer size.
@@ -59,6 +60,7 @@ struct PosixTcpOptions {
59
60
  int tcp_read_chunk_size = kDefaultReadChunkSize;
60
61
  int tcp_min_read_chunk_size = kDefaultMinReadChunksize;
61
62
  int tcp_max_read_chunk_size = kDefaultMaxReadChunksize;
63
+ int tcp_max_read_buffer_size = kMaxReadBufferSizeUnset;
62
64
  int tcp_tx_zerocopy_send_bytes_threshold = kDefaultSendBytesThreshold;
63
65
  int tcp_tx_zerocopy_max_simultaneous_sends = kDefaultMaxSends;
64
66
  int tcp_receive_buffer_size = kReadBufferSizeUnset;
@@ -128,6 +130,7 @@ struct PosixTcpOptions {
128
130
  tcp_read_chunk_size = other.tcp_read_chunk_size;
129
131
  tcp_min_read_chunk_size = other.tcp_min_read_chunk_size;
130
132
  tcp_max_read_chunk_size = other.tcp_max_read_chunk_size;
133
+ tcp_max_read_buffer_size = other.tcp_max_read_buffer_size;
131
134
  tcp_tx_zerocopy_send_bytes_threshold =
132
135
  other.tcp_tx_zerocopy_send_bytes_threshold;
133
136
  tcp_tx_zerocopy_max_simultaneous_sends =
@@ -27,7 +27,6 @@
27
27
  #endif
28
28
 
29
29
  #include "src/core/lib/address_utils/sockaddr_utils.h"
30
- #include "src/core/lib/iomgr/resolve_address.h"
31
30
  #include "src/core/lib/iomgr/sockaddr.h"
32
31
  #include "src/core/lib/iomgr/systemd_utils.h"
33
32
 
@@ -26,7 +26,7 @@
26
26
 
27
27
  #include "src/core/lib/iomgr/endpoint.h"
28
28
  #include "src/core/lib/iomgr/pollset_set.h"
29
- #include "src/core/lib/iomgr/resolve_address.h"
29
+ #include "src/core/lib/iomgr/resolved_address.h"
30
30
  #include "src/core/lib/resource_quota/memory_quota.h"
31
31
 
32
32
  typedef struct grpc_tcp_client_vtable {