grpc 1.46.3-x86_64-linux → 1.47.0-x86_64-linux

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of grpc might be problematic. Click here for more details.

Files changed (487) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +49 -97
  3. data/include/grpc/event_engine/event_engine.h +42 -7
  4. data/include/grpc/event_engine/memory_allocator.h +0 -15
  5. data/include/grpc/event_engine/port.h +1 -1
  6. data/include/grpc/event_engine/slice.h +286 -0
  7. data/include/grpc/event_engine/slice_buffer.h +112 -0
  8. data/include/grpc/grpc_security.h +11 -0
  9. data/include/grpc/impl/codegen/port_platform.h +100 -36
  10. data/include/grpc/impl/codegen/slice.h +1 -1
  11. data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +18 -30
  12. data/src/core/ext/filters/channel_idle/channel_idle_filter.h +4 -1
  13. data/src/core/ext/filters/client_channel/backend_metric.cc +17 -12
  14. data/src/core/ext/filters/client_channel/backend_metric.h +19 -9
  15. data/src/core/ext/filters/client_channel/backup_poller.cc +5 -5
  16. data/src/core/ext/filters/client_channel/backup_poller.h +2 -4
  17. data/src/core/ext/filters/client_channel/channel_connectivity.cc +42 -20
  18. data/src/core/ext/filters/client_channel/client_channel.cc +60 -17
  19. data/src/core/ext/filters/client_channel/client_channel.h +26 -6
  20. data/src/core/ext/filters/client_channel/client_channel_channelz.cc +3 -5
  21. data/src/core/ext/filters/client_channel/client_channel_channelz.h +12 -2
  22. data/src/core/ext/filters/client_channel/client_channel_factory.cc +5 -0
  23. data/src/core/ext/filters/client_channel/client_channel_factory.h +8 -0
  24. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +4 -13
  25. data/src/core/ext/filters/client_channel/config_selector.cc +1 -0
  26. data/src/core/ext/filters/client_channel/config_selector.h +7 -5
  27. data/src/core/ext/filters/client_channel/connector.h +8 -2
  28. data/src/core/ext/filters/client_channel/dynamic_filters.cc +13 -2
  29. data/src/core/ext/filters/client_channel/dynamic_filters.h +11 -1
  30. data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +2 -0
  31. data/src/core/ext/filters/client_channel/global_subchannel_pool.h +3 -0
  32. data/src/core/ext/filters/client_channel/health/health_check_client.cc +14 -1
  33. data/src/core/ext/filters/client_channel/health/health_check_client.h +2 -0
  34. data/src/core/ext/filters/client_channel/http_proxy.cc +10 -2
  35. data/src/core/ext/filters/client_channel/http_proxy.h +3 -0
  36. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +6 -2
  37. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.h +1 -0
  38. data/src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h +49 -0
  39. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +12 -0
  40. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h +5 -0
  41. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +9 -3
  42. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +59 -19
  43. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +4 -0
  44. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +6 -0
  45. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +10 -1
  46. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +6 -3
  47. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc +408 -0
  48. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h +57 -0
  49. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +1038 -0
  50. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +54 -0
  51. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +60 -52
  52. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +102 -60
  53. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +157 -96
  54. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +2 -0
  55. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +45 -10
  56. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +182 -171
  57. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +39 -36
  58. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +30 -5
  59. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +99 -23
  60. data/src/core/ext/filters/client_channel/lb_policy/xds/xds.h +6 -0
  61. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +30 -4
  62. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +23 -3
  63. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +75 -11
  64. data/src/core/ext/filters/client_channel/lb_policy.cc +4 -2
  65. data/src/core/ext/filters/client_channel/lb_policy.h +18 -24
  66. data/src/core/ext/filters/client_channel/lb_policy_factory.h +2 -0
  67. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +8 -1
  68. data/src/core/ext/filters/client_channel/lb_policy_registry.h +6 -1
  69. data/src/core/ext/filters/client_channel/local_subchannel_pool.cc +4 -0
  70. data/src/core/ext/filters/client_channel/local_subchannel_pool.h +1 -0
  71. data/src/core/ext/filters/client_channel/proxy_mapper.h +1 -1
  72. data/src/core/ext/filters/client_channel/proxy_mapper_registry.cc +2 -0
  73. data/src/core/ext/filters/client_channel/proxy_mapper_registry.h +5 -0
  74. data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +23 -5
  75. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +134 -43
  76. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +8 -1
  77. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +10 -8
  78. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +1 -1
  79. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +26 -9
  80. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +13 -4
  81. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +2 -1
  82. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.cc +2 -0
  83. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.h +2 -1
  84. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +30 -7
  85. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +13 -14
  86. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +5 -2
  87. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +59 -13
  88. data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +13 -1
  89. data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +8 -1
  90. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +15 -11
  91. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +89 -33
  92. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +5 -11
  93. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +11 -5
  94. data/src/core/ext/filters/client_channel/retry_filter.cc +42 -2
  95. data/src/core/ext/filters/client_channel/retry_service_config.cc +8 -9
  96. data/src/core/ext/filters/client_channel/retry_service_config.h +10 -1
  97. data/src/core/ext/filters/client_channel/retry_throttle.cc +1 -8
  98. data/src/core/ext/filters/client_channel/retry_throttle.h +7 -1
  99. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +22 -5
  100. data/src/core/ext/filters/client_channel/subchannel.cc +156 -160
  101. data/src/core/ext/filters/client_channel/subchannel.h +80 -20
  102. data/src/core/ext/filters/client_channel/subchannel_interface.h +41 -23
  103. data/src/core/ext/filters/client_channel/subchannel_interface_internal.h +38 -0
  104. data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +12 -2
  105. data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +6 -3
  106. data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +16 -2
  107. data/src/core/ext/filters/client_channel/subchannel_stream_client.h +12 -0
  108. data/src/core/ext/filters/deadline/deadline_filter.cc +6 -2
  109. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +1 -4
  110. data/src/core/ext/filters/http/client/http_client_filter.cc +14 -5
  111. data/src/core/ext/filters/http/client/http_client_filter.h +7 -1
  112. data/src/core/ext/filters/http/client_authority_filter.cc +5 -10
  113. data/src/core/ext/filters/http/http_filters_plugin.cc +7 -8
  114. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +1 -0
  115. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +3 -1
  116. data/src/core/ext/filters/http/server/http_server_filter.cc +80 -247
  117. data/src/core/ext/filters/http/server/http_server_filter.h +31 -2
  118. data/src/core/ext/filters/message_size/message_size_filter.cc +20 -26
  119. data/src/core/ext/filters/message_size/message_size_filter.h +2 -2
  120. data/src/core/ext/filters/rbac/rbac_filter.cc +1 -0
  121. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +101 -135
  122. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +9 -7
  123. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +44 -15
  124. data/src/core/ext/transport/chttp2/server/chttp2_server.h +2 -0
  125. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +3 -3
  126. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +2 -1
  127. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +1 -0
  128. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +69 -20
  129. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +5 -0
  130. data/src/core/ext/transport/chttp2/transport/context_list.cc +4 -0
  131. data/src/core/ext/transport/chttp2/transport/context_list.h +4 -1
  132. data/src/core/ext/transport/chttp2/transport/flow_control.cc +6 -2
  133. data/src/core/ext/transport/chttp2/transport/flow_control.h +6 -2
  134. data/src/core/ext/transport/chttp2/transport/frame.h +0 -4
  135. data/src/core/ext/transport/chttp2/transport/frame_data.cc +7 -1
  136. data/src/core/ext/transport/chttp2/transport/frame_data.h +4 -1
  137. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +3 -0
  138. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +3 -1
  139. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +5 -0
  140. data/src/core/ext/transport/chttp2/transport/frame_ping.h +3 -0
  141. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +6 -2
  142. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +3 -0
  143. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +12 -3
  144. data/src/core/ext/transport/chttp2/transport/frame_settings.h +4 -0
  145. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +4 -1
  146. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +3 -0
  147. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +14 -12
  148. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +15 -2
  149. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +3 -0
  150. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +3 -0
  151. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +25 -7
  152. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +8 -1
  153. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +55 -37
  154. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +38 -21
  155. data/src/core/ext/transport/chttp2/transport/http2_settings.h +0 -1
  156. data/src/core/ext/transport/chttp2/transport/internal.h +24 -3
  157. data/src/core/ext/transport/chttp2/transport/parsing.cc +27 -6
  158. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +13 -9
  159. data/src/core/ext/transport/chttp2/transport/stream_map.cc +1 -1
  160. data/src/core/ext/transport/chttp2/transport/stream_map.h +1 -0
  161. data/src/core/ext/transport/chttp2/transport/varint.h +2 -0
  162. data/src/core/ext/transport/chttp2/transport/writing.cc +38 -2
  163. data/src/core/ext/transport/inproc/inproc_transport.cc +8 -5
  164. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c +47 -0
  165. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h +109 -0
  166. data/src/core/ext/xds/certificate_provider_store.cc +4 -2
  167. data/src/core/ext/xds/certificate_provider_store.h +1 -1
  168. data/src/core/ext/xds/xds_certificate_provider.cc +4 -1
  169. data/src/core/ext/xds/xds_certificate_provider.h +1 -1
  170. data/src/core/ext/xds/xds_channel_stack_modifier.cc +5 -5
  171. data/src/core/ext/xds/xds_client.cc +46 -22
  172. data/src/core/ext/xds/xds_cluster.cc +106 -16
  173. data/src/core/ext/xds/xds_cluster.h +3 -0
  174. data/src/core/ext/xds/xds_http_fault_filter.cc +3 -3
  175. data/src/core/ext/xds/xds_listener.cc +19 -9
  176. data/src/core/ext/xds/xds_server_config_fetcher.cc +2 -1
  177. data/src/core/lib/address_utils/sockaddr_utils.cc +56 -23
  178. data/src/core/lib/address_utils/sockaddr_utils.h +7 -4
  179. data/src/core/lib/avl/avl.h +3 -1
  180. data/src/core/lib/channel/call_finalization.h +4 -0
  181. data/src/core/lib/channel/call_tracer.h +8 -2
  182. data/src/core/lib/channel/channel_args.cc +41 -22
  183. data/src/core/lib/channel/channel_args.h +33 -3
  184. data/src/core/lib/channel/channel_args_preconditioning.cc +3 -3
  185. data/src/core/lib/channel/channel_args_preconditioning.h +3 -2
  186. data/src/core/lib/channel/channel_stack.cc +41 -3
  187. data/src/core/lib/channel/channel_stack.h +49 -3
  188. data/src/core/lib/channel/channel_stack_builder.cc +9 -19
  189. data/src/core/lib/channel/channel_stack_builder.h +15 -27
  190. data/src/core/lib/channel/channel_stack_builder_impl.cc +36 -41
  191. data/src/core/lib/channel/channel_stack_builder_impl.h +3 -6
  192. data/src/core/lib/channel/channel_trace.cc +8 -13
  193. data/src/core/lib/channel/channel_trace.h +6 -3
  194. data/src/core/lib/channel/channelz.cc +8 -13
  195. data/src/core/lib/channel/channelz.h +13 -4
  196. data/src/core/lib/channel/channelz_registry.cc +7 -14
  197. data/src/core/lib/channel/channelz_registry.h +10 -9
  198. data/src/core/lib/channel/connected_channel.cc +21 -31
  199. data/src/core/lib/channel/connected_channel.h +1 -0
  200. data/src/core/lib/channel/promise_based_filter.cc +444 -189
  201. data/src/core/lib/channel/promise_based_filter.h +160 -27
  202. data/src/core/lib/channel/status_util.cc +2 -0
  203. data/src/core/lib/channel/status_util.h +0 -3
  204. data/src/core/lib/compression/compression_internal.cc +45 -10
  205. data/src/core/lib/compression/compression_internal.h +1 -1
  206. data/src/core/lib/config/core_configuration.cc +3 -0
  207. data/src/core/lib/config/core_configuration.h +2 -1
  208. data/src/core/lib/event_engine/channel_args_endpoint_config.cc +4 -2
  209. data/src/core/lib/event_engine/channel_args_endpoint_config.h +3 -2
  210. data/src/core/lib/event_engine/default_event_engine_factory.cc +8 -2
  211. data/src/core/lib/event_engine/event_engine.cc +12 -2
  212. data/src/core/lib/event_engine/event_engine_factory.h +5 -0
  213. data/src/core/lib/event_engine/handle_containers.h +67 -0
  214. data/src/core/lib/event_engine/iomgr_engine.cc +206 -0
  215. data/src/core/lib/event_engine/iomgr_engine.h +118 -0
  216. data/src/core/lib/event_engine/memory_allocator.cc +12 -4
  217. data/src/core/lib/event_engine/resolved_address.cc +4 -2
  218. data/src/core/lib/event_engine/slice.cc +102 -0
  219. data/src/core/lib/event_engine/slice_buffer.cc +50 -0
  220. data/src/core/lib/{iomgr/event_engine/pollset.h → event_engine/trace.cc} +3 -10
  221. data/src/core/lib/{iomgr/endpoint_pair_event_engine.cc → event_engine/trace.h} +12 -14
  222. data/src/core/lib/gpr/log.cc +5 -0
  223. data/src/core/lib/gpr/tls.h +3 -5
  224. data/src/core/lib/gprpp/bitset.h +5 -1
  225. data/src/core/lib/gprpp/chunked_vector.h +4 -0
  226. data/src/core/lib/gprpp/construct_destruct.h +1 -0
  227. data/src/core/lib/gprpp/dual_ref_counted.h +1 -4
  228. data/src/core/lib/gprpp/examine_stack.h +0 -1
  229. data/src/core/lib/gprpp/fork.cc +3 -6
  230. data/src/core/lib/gprpp/global_config.h +2 -4
  231. data/src/core/lib/gprpp/global_config_env.cc +3 -2
  232. data/src/core/lib/gprpp/global_config_env.h +3 -1
  233. data/src/core/lib/gprpp/global_config_generic.h +0 -4
  234. data/src/core/lib/gprpp/host_port.cc +2 -0
  235. data/src/core/lib/gprpp/manual_constructor.h +0 -1
  236. data/src/core/lib/gprpp/match.h +2 -0
  237. data/src/core/lib/gprpp/memory.h +1 -5
  238. data/src/core/lib/gprpp/orphanable.h +1 -4
  239. data/src/core/lib/gprpp/ref_counted.h +1 -3
  240. data/src/core/lib/gprpp/ref_counted_ptr.h +1 -1
  241. data/src/core/lib/gprpp/stat.h +0 -2
  242. data/src/core/lib/gprpp/stat_posix.cc +7 -2
  243. data/src/core/lib/gprpp/status_helper.cc +8 -4
  244. data/src/core/lib/gprpp/status_helper.h +4 -0
  245. data/src/core/lib/gprpp/sync.h +3 -1
  246. data/src/core/lib/gprpp/table.h +10 -0
  247. data/src/core/lib/gprpp/thd.h +2 -5
  248. data/src/core/lib/gprpp/thd_posix.cc +4 -2
  249. data/src/core/lib/gprpp/thd_windows.cc +2 -0
  250. data/src/core/lib/gprpp/time.cc +8 -0
  251. data/src/core/lib/gprpp/time.h +6 -1
  252. data/src/core/lib/gprpp/time_util.cc +4 -0
  253. data/src/core/lib/gprpp/time_util.h +1 -1
  254. data/src/core/lib/gprpp/unique_type_name.h +104 -0
  255. data/src/core/lib/http/format_request.cc +29 -0
  256. data/src/core/lib/http/format_request.h +2 -0
  257. data/src/core/lib/http/httpcli.cc +88 -81
  258. data/src/core/lib/http/httpcli.h +39 -7
  259. data/src/core/lib/http/httpcli_security_connector.cc +3 -4
  260. data/src/core/lib/iomgr/endpoint.cc +4 -4
  261. data/src/core/lib/iomgr/endpoint.h +6 -4
  262. data/src/core/lib/iomgr/endpoint_cfstream.cc +7 -4
  263. data/src/core/lib/iomgr/endpoint_pair_posix.cc +2 -1
  264. data/src/core/lib/iomgr/ev_posix.cc +1 -4
  265. data/src/core/lib/iomgr/exec_ctx.h +1 -2
  266. data/src/core/lib/iomgr/internal_errqueue.cc +38 -47
  267. data/src/core/lib/iomgr/internal_errqueue.h +1 -6
  268. data/src/core/lib/iomgr/iomgr.cc +0 -1
  269. data/src/core/{ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_event_engine.cc → lib/iomgr/iomgr_fwd.h} +9 -12
  270. data/src/core/lib/iomgr/pollset_set.h +1 -2
  271. data/src/core/lib/iomgr/port.h +25 -6
  272. data/src/core/lib/iomgr/resolve_address.cc +8 -0
  273. data/src/core/lib/iomgr/resolve_address.h +21 -14
  274. data/src/core/lib/iomgr/resolve_address_impl.h +2 -3
  275. data/src/core/lib/iomgr/resolve_address_posix.cc +8 -14
  276. data/src/core/lib/iomgr/resolve_address_posix.h +5 -2
  277. data/src/core/lib/iomgr/resolve_address_windows.cc +7 -14
  278. data/src/core/lib/iomgr/resolve_address_windows.h +5 -2
  279. data/src/core/lib/iomgr/sockaddr.h +2 -3
  280. data/src/core/lib/iomgr/sockaddr_posix.h +2 -0
  281. data/src/core/lib/iomgr/sockaddr_windows.h +2 -0
  282. data/src/core/lib/iomgr/socket_utils_common_posix.cc +3 -2
  283. data/src/core/lib/iomgr/tcp_client_cfstream.cc +10 -2
  284. data/src/core/lib/iomgr/tcp_client_posix.cc +12 -5
  285. data/src/core/lib/iomgr/tcp_client_windows.cc +13 -6
  286. data/src/core/lib/iomgr/tcp_posix.cc +9 -27
  287. data/src/core/lib/iomgr/tcp_server_posix.cc +26 -12
  288. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +30 -27
  289. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +7 -4
  290. data/src/core/lib/iomgr/tcp_server_windows.cc +13 -5
  291. data/src/core/lib/iomgr/tcp_windows.cc +7 -4
  292. data/src/core/lib/json/json.h +1 -2
  293. data/src/core/lib/json/json_reader.cc +9 -1
  294. data/src/core/lib/json/json_util.cc +7 -0
  295. data/src/core/lib/json/json_util.h +10 -1
  296. data/src/core/lib/json/json_writer.cc +6 -1
  297. data/src/core/lib/promise/activity.cc +1 -1
  298. data/src/core/lib/promise/activity.h +6 -6
  299. data/src/core/lib/promise/arena_promise.h +11 -1
  300. data/src/core/lib/promise/call_push_pull.h +4 -0
  301. data/src/core/lib/promise/context.h +1 -1
  302. data/src/core/lib/promise/detail/basic_seq.h +2 -2
  303. data/src/core/lib/promise/detail/promise_factory.h +0 -1
  304. data/src/core/lib/promise/latch.h +0 -1
  305. data/src/core/lib/promise/loop.h +1 -0
  306. data/src/core/lib/promise/race.h +0 -1
  307. data/src/core/lib/promise/seq.h +0 -2
  308. data/src/core/lib/promise/sleep.cc +2 -0
  309. data/src/core/lib/promise/sleep.h +10 -0
  310. data/src/core/lib/promise/try_seq.h +2 -2
  311. data/src/core/lib/resolver/resolver_factory.h +1 -2
  312. data/src/core/lib/resolver/server_address.cc +9 -3
  313. data/src/core/lib/resolver/server_address.h +4 -4
  314. data/src/core/lib/resource_quota/api.cc +14 -1
  315. data/src/core/lib/resource_quota/api.h +4 -1
  316. data/src/core/lib/resource_quota/arena.cc +0 -6
  317. data/src/core/lib/resource_quota/arena.h +1 -2
  318. data/src/core/lib/resource_quota/memory_quota.cc +47 -5
  319. data/src/core/lib/resource_quota/memory_quota.h +24 -5
  320. data/src/core/lib/resource_quota/resource_quota.h +8 -0
  321. data/src/core/lib/resource_quota/thread_quota.cc +2 -0
  322. data/src/core/lib/resource_quota/thread_quota.h +4 -0
  323. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +3 -0
  324. data/src/core/lib/security/credentials/alts/alts_credentials.cc +8 -2
  325. data/src/core/lib/security/credentials/alts/alts_credentials.h +2 -2
  326. data/src/core/lib/security/credentials/call_creds_util.cc +2 -0
  327. data/src/core/lib/security/credentials/channel_creds_registry.h +1 -0
  328. data/src/core/lib/security/credentials/composite/composite_credentials.cc +7 -3
  329. data/src/core/lib/security/credentials/composite/composite_credentials.h +5 -4
  330. data/src/core/lib/security/credentials/credentials.h +17 -10
  331. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +81 -0
  332. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +8 -0
  333. data/src/core/lib/security/credentials/external/external_account_credentials.cc +3 -0
  334. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +2 -0
  335. data/src/core/lib/security/credentials/fake/fake_credentials.cc +13 -3
  336. data/src/core/lib/security/credentials/fake/fake_credentials.h +2 -2
  337. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +25 -15
  338. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +2 -2
  339. data/src/core/lib/security/credentials/iam/iam_credentials.cc +4 -1
  340. data/src/core/lib/security/credentials/iam/iam_credentials.h +2 -2
  341. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +8 -2
  342. data/src/core/lib/security/credentials/insecure/insecure_credentials.h +4 -4
  343. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +3 -2
  344. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +2 -2
  345. data/src/core/lib/security/credentials/local/local_credentials.cc +8 -2
  346. data/src/core/lib/security/credentials/local/local_credentials.h +2 -2
  347. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +10 -6
  348. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +4 -4
  349. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +4 -1
  350. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +1 -1
  351. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +8 -2
  352. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +4 -4
  353. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +10 -0
  354. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +5 -7
  355. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +26 -1
  356. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +28 -4
  357. data/src/core/lib/security/credentials/tls/tls_credentials.cc +10 -0
  358. data/src/core/lib/security/credentials/tls/tls_credentials.h +2 -2
  359. data/src/core/lib/security/credentials/xds/xds_credentials.cc +12 -3
  360. data/src/core/lib/security/credentials/xds/xds_credentials.h +5 -5
  361. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +1 -1
  362. data/src/core/lib/security/security_connector/fake/fake_security_connector.h +1 -1
  363. data/src/core/lib/security/security_connector/security_connector.cc +1 -1
  364. data/src/core/lib/security/security_connector/security_connector.h +1 -1
  365. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +1 -1
  366. data/src/core/lib/security/transport/client_auth_filter.cc +6 -8
  367. data/src/core/lib/security/transport/secure_endpoint.cc +23 -12
  368. data/src/core/lib/security/transport/security_handshaker.cc +5 -5
  369. data/src/core/lib/security/transport/security_handshaker.h +1 -1
  370. data/src/core/lib/security/transport/server_auth_filter.cc +3 -2
  371. data/src/core/lib/service_config/service_config.h +4 -8
  372. data/src/core/lib/service_config/service_config_call_data.h +4 -1
  373. data/src/core/lib/service_config/service_config_impl.cc +7 -0
  374. data/src/core/lib/service_config/service_config_impl.h +9 -2
  375. data/src/core/lib/service_config/service_config_parser.cc +8 -0
  376. data/src/core/lib/service_config/service_config_parser.h +7 -0
  377. data/src/core/lib/slice/b64.cc +1 -1
  378. data/src/core/lib/slice/b64.h +2 -0
  379. data/src/core/lib/slice/percent_encoding.cc +4 -1
  380. data/src/core/lib/slice/percent_encoding.h +0 -6
  381. data/src/core/lib/slice/slice.cc +2 -1
  382. data/src/core/lib/slice/slice.h +10 -5
  383. data/src/core/lib/slice/slice_api.cc +1 -1
  384. data/src/core/lib/slice/slice_buffer.cc +50 -23
  385. data/src/core/lib/slice/slice_buffer.h +106 -0
  386. data/src/core/lib/slice/slice_buffer_api.cc +35 -0
  387. data/src/core/lib/slice/slice_internal.h +4 -3
  388. data/src/core/lib/slice/slice_refcount.h +2 -3
  389. data/src/core/lib/slice/slice_refcount_base.h +2 -3
  390. data/src/core/lib/slice/slice_split.cc +3 -0
  391. data/src/core/lib/slice/slice_split.h +0 -4
  392. data/src/core/lib/slice/slice_string_helpers.cc +4 -0
  393. data/src/core/lib/slice/slice_string_helpers.h +1 -4
  394. data/src/core/lib/surface/builtins.cc +7 -2
  395. data/src/core/lib/surface/byte_buffer.cc +7 -1
  396. data/src/core/lib/surface/byte_buffer_reader.cc +4 -4
  397. data/src/core/lib/surface/call.cc +41 -26
  398. data/src/core/lib/surface/call.h +16 -2
  399. data/src/core/lib/surface/call_details.cc +4 -4
  400. data/src/core/lib/surface/call_log_batch.cc +7 -1
  401. data/src/core/lib/surface/call_test_only.h +4 -1
  402. data/src/core/lib/surface/channel.cc +179 -242
  403. data/src/core/lib/surface/channel.h +94 -57
  404. data/src/core/lib/surface/channel_init.h +2 -0
  405. data/src/core/lib/surface/channel_ping.cc +8 -2
  406. data/src/core/lib/surface/channel_stack_type.cc +0 -2
  407. data/src/core/lib/surface/channel_stack_type.h +0 -2
  408. data/src/core/lib/surface/completion_queue.cc +14 -6
  409. data/src/core/lib/surface/completion_queue.h +5 -1
  410. data/src/core/lib/surface/completion_queue_factory.cc +1 -0
  411. data/src/core/lib/surface/completion_queue_factory.h +1 -3
  412. data/src/core/lib/surface/event_string.cc +1 -7
  413. data/src/core/lib/surface/event_string.h +1 -1
  414. data/src/core/lib/surface/init.cc +17 -45
  415. data/src/core/lib/surface/init.h +0 -8
  416. data/src/core/lib/surface/lame_client.cc +64 -110
  417. data/src/core/lib/surface/lame_client.h +40 -2
  418. data/src/core/lib/surface/metadata_array.cc +2 -0
  419. data/src/core/lib/surface/server.cc +69 -56
  420. data/src/core/lib/surface/server.h +39 -9
  421. data/src/core/lib/surface/validate_metadata.cc +2 -5
  422. data/src/core/lib/surface/validate_metadata.h +3 -0
  423. data/src/core/lib/surface/version.cc +2 -2
  424. data/src/core/lib/transport/bdp_estimator.cc +3 -1
  425. data/src/core/lib/transport/bdp_estimator.h +2 -3
  426. data/src/core/lib/transport/byte_stream.cc +4 -3
  427. data/src/core/lib/transport/byte_stream.h +5 -1
  428. data/src/core/lib/transport/connectivity_state.cc +6 -4
  429. data/src/core/lib/transport/connectivity_state.h +2 -3
  430. data/src/core/lib/transport/error_utils.cc +4 -2
  431. data/src/core/lib/transport/error_utils.h +5 -1
  432. data/src/core/lib/{channel → transport}/handshaker.cc +9 -4
  433. data/src/core/lib/{channel → transport}/handshaker.h +13 -6
  434. data/src/core/lib/{channel → transport}/handshaker_factory.h +9 -10
  435. data/src/core/lib/{channel → transport}/handshaker_registry.cc +5 -1
  436. data/src/core/lib/{channel → transport}/handshaker_registry.h +5 -4
  437. data/src/core/{ext/filters/client_channel → lib/transport}/http_connect_handshaker.cc +24 -10
  438. data/src/core/{ext/filters/client_channel → lib/transport}/http_connect_handshaker.h +3 -3
  439. data/src/core/lib/transport/metadata_batch.cc +287 -0
  440. data/src/core/lib/transport/metadata_batch.h +133 -264
  441. data/src/core/lib/transport/parsed_metadata.cc +2 -0
  442. data/src/core/lib/transport/parsed_metadata.h +10 -3
  443. data/src/core/lib/transport/status_conversion.cc +2 -0
  444. data/src/core/lib/transport/status_conversion.h +2 -2
  445. data/src/core/lib/transport/tcp_connect_handshaker.cc +253 -0
  446. data/src/core/lib/transport/tcp_connect_handshaker.h +39 -0
  447. data/src/core/lib/transport/timeout_encoding.cc +2 -6
  448. data/src/core/lib/transport/timeout_encoding.h +5 -1
  449. data/src/core/lib/transport/transport.cc +18 -17
  450. data/src/core/lib/transport/transport.h +28 -2
  451. data/src/core/lib/transport/transport_impl.h +10 -0
  452. data/src/core/lib/transport/transport_op_string.cc +9 -10
  453. data/src/core/lib/uri/uri_parser.cc +11 -3
  454. data/src/core/lib/uri/uri_parser.h +0 -2
  455. data/src/core/plugin_registry/grpc_plugin_registry.cc +11 -0
  456. data/src/core/tsi/ssl/session_cache/ssl_session.h +2 -0
  457. data/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc +2 -0
  458. data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +2 -0
  459. data/src/ruby/ext/grpc/extconf.rb +2 -2
  460. data/src/ruby/lib/grpc/2.5/grpc_c.so +0 -0
  461. data/src/ruby/lib/grpc/2.6/grpc_c.so +0 -0
  462. data/src/ruby/lib/grpc/2.7/grpc_c.so +0 -0
  463. data/src/ruby/lib/grpc/3.0/grpc_c.so +0 -0
  464. data/src/ruby/lib/grpc/3.1/grpc_c.so +0 -0
  465. data/src/ruby/lib/grpc/grpc_c.so +0 -0
  466. data/src/ruby/lib/grpc/version.rb +1 -1
  467. data/third_party/abseil-cpp/absl/cleanup/cleanup.h +140 -0
  468. data/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h +100 -0
  469. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +504 -0
  470. metadata +36 -29
  471. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_event_engine.cc +0 -31
  472. data/src/core/lib/event_engine/sockaddr.cc +0 -40
  473. data/src/core/lib/event_engine/sockaddr.h +0 -44
  474. data/src/core/lib/gprpp/capture.h +0 -76
  475. data/src/core/lib/iomgr/event_engine/closure.cc +0 -77
  476. data/src/core/lib/iomgr/event_engine/closure.h +0 -42
  477. data/src/core/lib/iomgr/event_engine/endpoint.cc +0 -172
  478. data/src/core/lib/iomgr/event_engine/endpoint.h +0 -52
  479. data/src/core/lib/iomgr/event_engine/iomgr.cc +0 -85
  480. data/src/core/lib/iomgr/event_engine/pollset.cc +0 -87
  481. data/src/core/lib/iomgr/event_engine/promise.h +0 -51
  482. data/src/core/lib/iomgr/event_engine/resolved_address_internal.cc +0 -47
  483. data/src/core/lib/iomgr/event_engine/resolved_address_internal.h +0 -37
  484. data/src/core/lib/iomgr/event_engine/resolver.cc +0 -133
  485. data/src/core/lib/iomgr/event_engine/resolver.h +0 -56
  486. data/src/core/lib/iomgr/event_engine/tcp.cc +0 -296
  487. data/src/core/lib/iomgr/event_engine/timer.cc +0 -62
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grpc
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.46.3
4
+ version: 1.47.0
5
5
  platform: x86_64-linux
6
6
  authors:
7
7
  - gRPC Authors
8
8
  autorequire:
9
9
  bindir: src/ruby/bin
10
10
  cert_chain: []
11
- date: 2022-05-20 00:00:00.000000000 Z
11
+ date: 2022-06-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-protobuf
@@ -218,6 +218,8 @@ files:
218
218
  - include/grpc/event_engine/memory_allocator.h
219
219
  - include/grpc/event_engine/memory_request.h
220
220
  - include/grpc/event_engine/port.h
221
+ - include/grpc/event_engine/slice.h
222
+ - include/grpc/event_engine/slice_buffer.h
221
223
  - include/grpc/fork.h
222
224
  - include/grpc/grpc.h
223
225
  - include/grpc/grpc_cronet.h
@@ -298,14 +300,13 @@ files:
298
300
  - src/core/ext/filters/client_channel/global_subchannel_pool.h
299
301
  - src/core/ext/filters/client_channel/health/health_check_client.cc
300
302
  - src/core/ext/filters/client_channel/health/health_check_client.h
301
- - src/core/ext/filters/client_channel/http_connect_handshaker.cc
302
- - src/core/ext/filters/client_channel/http_connect_handshaker.h
303
303
  - src/core/ext/filters/client_channel/http_proxy.cc
304
304
  - src/core/ext/filters/client_channel/http_proxy.h
305
305
  - src/core/ext/filters/client_channel/lb_policy.cc
306
306
  - src/core/ext/filters/client_channel/lb_policy.h
307
307
  - src/core/ext/filters/client_channel/lb_policy/address_filtering.cc
308
308
  - src/core/ext/filters/client_channel/lb_policy/address_filtering.h
309
+ - src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h
309
310
  - src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc
310
311
  - src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h
311
312
  - src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc
@@ -318,6 +319,10 @@ files:
318
319
  - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h
319
320
  - src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc
320
321
  - src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h
322
+ - src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc
323
+ - src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h
324
+ - src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc
325
+ - src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h
321
326
  - src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc
322
327
  - src/core/ext/filters/client_channel/lb_policy/priority/priority.cc
323
328
  - src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc
@@ -343,12 +348,10 @@ files:
343
348
  - src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc
344
349
  - src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc
345
350
  - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h
346
- - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_event_engine.cc
347
351
  - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc
348
352
  - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc
349
353
  - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc
350
354
  - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h
351
- - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_event_engine.cc
352
355
  - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc
353
356
  - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc
354
357
  - src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.cc
@@ -374,6 +377,7 @@ files:
374
377
  - src/core/ext/filters/client_channel/subchannel.cc
375
378
  - src/core/ext/filters/client_channel/subchannel.h
376
379
  - src/core/ext/filters/client_channel/subchannel_interface.h
380
+ - src/core/ext/filters/client_channel/subchannel_interface_internal.h
377
381
  - src/core/ext/filters/client_channel/subchannel_pool_interface.cc
378
382
  - src/core/ext/filters/client_channel/subchannel_pool_interface.h
379
383
  - src/core/ext/filters/client_channel/subchannel_stream_client.cc
@@ -732,6 +736,8 @@ files:
732
736
  - src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h
733
737
  - src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c
734
738
  - src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h
739
+ - src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c
740
+ - src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h
735
741
  - src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c
736
742
  - src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h
737
743
  - src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c
@@ -1081,11 +1087,6 @@ files:
1081
1087
  - src/core/lib/channel/connected_channel.cc
1082
1088
  - src/core/lib/channel/connected_channel.h
1083
1089
  - src/core/lib/channel/context.h
1084
- - src/core/lib/channel/handshaker.cc
1085
- - src/core/lib/channel/handshaker.h
1086
- - src/core/lib/channel/handshaker_factory.h
1087
- - src/core/lib/channel/handshaker_registry.cc
1088
- - src/core/lib/channel/handshaker_registry.h
1089
1090
  - src/core/lib/channel/promise_based_filter.cc
1090
1091
  - src/core/lib/channel/promise_based_filter.h
1091
1092
  - src/core/lib/channel/status_util.cc
@@ -1108,10 +1109,15 @@ files:
1108
1109
  - src/core/lib/event_engine/default_event_engine_factory.cc
1109
1110
  - src/core/lib/event_engine/event_engine.cc
1110
1111
  - src/core/lib/event_engine/event_engine_factory.h
1112
+ - src/core/lib/event_engine/handle_containers.h
1113
+ - src/core/lib/event_engine/iomgr_engine.cc
1114
+ - src/core/lib/event_engine/iomgr_engine.h
1111
1115
  - src/core/lib/event_engine/memory_allocator.cc
1112
1116
  - src/core/lib/event_engine/resolved_address.cc
1113
- - src/core/lib/event_engine/sockaddr.cc
1114
- - src/core/lib/event_engine/sockaddr.h
1117
+ - src/core/lib/event_engine/slice.cc
1118
+ - src/core/lib/event_engine/slice_buffer.cc
1119
+ - src/core/lib/event_engine/trace.cc
1120
+ - src/core/lib/event_engine/trace.h
1115
1121
  - src/core/lib/gpr/alloc.cc
1116
1122
  - src/core/lib/gpr/alloc.h
1117
1123
  - src/core/lib/gpr/atm.cc
@@ -1155,7 +1161,6 @@ files:
1155
1161
  - src/core/lib/gpr/wrap_memcpy.cc
1156
1162
  - src/core/lib/gprpp/atomic_utils.h
1157
1163
  - src/core/lib/gprpp/bitset.h
1158
- - src/core/lib/gprpp/capture.h
1159
1164
  - src/core/lib/gprpp/chunked_vector.h
1160
1165
  - src/core/lib/gprpp/construct_destruct.h
1161
1166
  - src/core/lib/gprpp/cpp_impl_of.h
@@ -1196,6 +1201,7 @@ files:
1196
1201
  - src/core/lib/gprpp/time.h
1197
1202
  - src/core/lib/gprpp/time_util.cc
1198
1203
  - src/core/lib/gprpp/time_util.h
1204
+ - src/core/lib/gprpp/unique_type_name.h
1199
1205
  - src/core/lib/http/format_request.cc
1200
1206
  - src/core/lib/http/format_request.h
1201
1207
  - src/core/lib/http/httpcli.cc
@@ -1221,7 +1227,6 @@ files:
1221
1227
  - src/core/lib/iomgr/endpoint_cfstream.cc
1222
1228
  - src/core/lib/iomgr/endpoint_cfstream.h
1223
1229
  - src/core/lib/iomgr/endpoint_pair.h
1224
- - src/core/lib/iomgr/endpoint_pair_event_engine.cc
1225
1230
  - src/core/lib/iomgr/endpoint_pair_posix.cc
1226
1231
  - src/core/lib/iomgr/endpoint_pair_windows.cc
1227
1232
  - src/core/lib/iomgr/error.cc
@@ -1238,20 +1243,6 @@ files:
1238
1243
  - src/core/lib/iomgr/ev_posix.cc
1239
1244
  - src/core/lib/iomgr/ev_posix.h
1240
1245
  - src/core/lib/iomgr/ev_windows.cc
1241
- - src/core/lib/iomgr/event_engine/closure.cc
1242
- - src/core/lib/iomgr/event_engine/closure.h
1243
- - src/core/lib/iomgr/event_engine/endpoint.cc
1244
- - src/core/lib/iomgr/event_engine/endpoint.h
1245
- - src/core/lib/iomgr/event_engine/iomgr.cc
1246
- - src/core/lib/iomgr/event_engine/pollset.cc
1247
- - src/core/lib/iomgr/event_engine/pollset.h
1248
- - src/core/lib/iomgr/event_engine/promise.h
1249
- - src/core/lib/iomgr/event_engine/resolved_address_internal.cc
1250
- - src/core/lib/iomgr/event_engine/resolved_address_internal.h
1251
- - src/core/lib/iomgr/event_engine/resolver.cc
1252
- - src/core/lib/iomgr/event_engine/resolver.h
1253
- - src/core/lib/iomgr/event_engine/tcp.cc
1254
- - src/core/lib/iomgr/event_engine/timer.cc
1255
1246
  - src/core/lib/iomgr/exec_ctx.cc
1256
1247
  - src/core/lib/iomgr/exec_ctx.h
1257
1248
  - src/core/lib/iomgr/executor.cc
@@ -1275,6 +1266,7 @@ files:
1275
1266
  - src/core/lib/iomgr/iocp_windows.h
1276
1267
  - src/core/lib/iomgr/iomgr.cc
1277
1268
  - src/core/lib/iomgr/iomgr.h
1269
+ - src/core/lib/iomgr/iomgr_fwd.h
1278
1270
  - src/core/lib/iomgr/iomgr_internal.cc
1279
1271
  - src/core/lib/iomgr/iomgr_internal.h
1280
1272
  - src/core/lib/iomgr/iomgr_posix.cc
@@ -1539,6 +1531,8 @@ files:
1539
1531
  - src/core/lib/slice/slice.h
1540
1532
  - src/core/lib/slice/slice_api.cc
1541
1533
  - src/core/lib/slice/slice_buffer.cc
1534
+ - src/core/lib/slice/slice_buffer.h
1535
+ - src/core/lib/slice/slice_buffer_api.cc
1542
1536
  - src/core/lib/slice/slice_internal.h
1543
1537
  - src/core/lib/slice/slice_refcount.cc
1544
1538
  - src/core/lib/slice/slice_refcount.h
@@ -1589,7 +1583,15 @@ files:
1589
1583
  - src/core/lib/transport/connectivity_state.h
1590
1584
  - src/core/lib/transport/error_utils.cc
1591
1585
  - src/core/lib/transport/error_utils.h
1586
+ - src/core/lib/transport/handshaker.cc
1587
+ - src/core/lib/transport/handshaker.h
1588
+ - src/core/lib/transport/handshaker_factory.h
1589
+ - src/core/lib/transport/handshaker_registry.cc
1590
+ - src/core/lib/transport/handshaker_registry.h
1592
1591
  - src/core/lib/transport/http2_errors.h
1592
+ - src/core/lib/transport/http_connect_handshaker.cc
1593
+ - src/core/lib/transport/http_connect_handshaker.h
1594
+ - src/core/lib/transport/metadata_batch.cc
1593
1595
  - src/core/lib/transport/metadata_batch.h
1594
1596
  - src/core/lib/transport/parsed_metadata.cc
1595
1597
  - src/core/lib/transport/parsed_metadata.h
@@ -1597,6 +1599,8 @@ files:
1597
1599
  - src/core/lib/transport/pid_controller.h
1598
1600
  - src/core/lib/transport/status_conversion.cc
1599
1601
  - src/core/lib/transport/status_conversion.h
1602
+ - src/core/lib/transport/tcp_connect_handshaker.cc
1603
+ - src/core/lib/transport/tcp_connect_handshaker.h
1600
1604
  - src/core/lib/transport/timeout_encoding.cc
1601
1605
  - src/core/lib/transport/timeout_encoding.h
1602
1606
  - src/core/lib/transport/transport.cc
@@ -1841,8 +1845,11 @@ files:
1841
1845
  - third_party/abseil-cpp/absl/base/policy_checks.h
1842
1846
  - third_party/abseil-cpp/absl/base/port.h
1843
1847
  - third_party/abseil-cpp/absl/base/thread_annotations.h
1848
+ - third_party/abseil-cpp/absl/cleanup/cleanup.h
1849
+ - third_party/abseil-cpp/absl/cleanup/internal/cleanup.h
1844
1850
  - third_party/abseil-cpp/absl/container/fixed_array.h
1845
1851
  - third_party/abseil-cpp/absl/container/flat_hash_map.h
1852
+ - third_party/abseil-cpp/absl/container/flat_hash_set.h
1846
1853
  - third_party/abseil-cpp/absl/container/inlined_vector.h
1847
1854
  - third_party/abseil-cpp/absl/container/internal/common.h
1848
1855
  - third_party/abseil-cpp/absl/container/internal/compressed_tuple.h
@@ -1,31 +0,0 @@
1
- // Copyright 2021 The gRPC Authors
2
- //
3
- // Licensed under the Apache License, Version 2.0 (the "License");
4
- // you may not use this file except in compliance with the License.
5
- // You may obtain a copy of the License at
6
- //
7
- // http://www.apache.org/licenses/LICENSE-2.0
8
- //
9
- // Unless required by applicable law or agreed to in writing, software
10
- // distributed under the License is distributed on an "AS IS" BASIS,
11
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- // See the License for the specific language governing permissions and
13
- // limitations under the License.
14
- #include <grpc/support/port_platform.h>
15
-
16
- #include "src/core/lib/iomgr/port.h"
17
- #if GRPC_ARES == 1 && defined(GRPC_USE_EVENT_ENGINE)
18
-
19
- #include "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h"
20
- #include "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h"
21
-
22
- namespace grpc_core {
23
-
24
- std::unique_ptr<GrpcPolledFdFactory> NewGrpcPolledFdFactory(
25
- std::shared_ptr<WorkSerializer> /* work_serializer */) {
26
- return nullptr;
27
- }
28
-
29
- } // namespace grpc_core
30
-
31
- #endif /* GRPC_ARES == 1 && defined(GRPC_USE_EVENT_ENGINE) */
@@ -1,40 +0,0 @@
1
- // Copyright 2021 The gRPC Authors
2
- //
3
- // Licensed under the Apache License, Version 2.0 (the "License");
4
- // you may not use this file except in compliance with the License.
5
- // You may obtain a copy of the License at
6
- //
7
- // http://www.apache.org/licenses/LICENSE-2.0
8
- //
9
- // Unless required by applicable law or agreed to in writing, software
10
- // distributed under the License is distributed on an "AS IS" BASIS,
11
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- // See the License for the specific language governing permissions and
13
- // limitations under the License.
14
- #include <grpc/support/port_platform.h>
15
-
16
- #ifdef GRPC_USE_EVENT_ENGINE
17
- #include <string.h>
18
-
19
- #include <grpc/event_engine/event_engine.h>
20
- #include <grpc/event_engine/port.h>
21
- #include <grpc/support/log.h>
22
-
23
- uint16_t grpc_htons(uint16_t hostshort) { return htons(hostshort); }
24
-
25
- uint16_t grpc_ntohs(uint16_t netshort) { return ntohs(netshort); }
26
-
27
- uint32_t grpc_htonl(uint32_t hostlong) { return htonl(hostlong); }
28
-
29
- uint32_t grpc_ntohl(uint32_t netlong) { return ntohl(netlong); }
30
-
31
- int grpc_inet_pton(int af, const char* src, void* dst) {
32
- return inet_pton(af, src, dst);
33
- }
34
-
35
- const char* grpc_inet_ntop(int af, const void* src, char* dst, size_t size) {
36
- inet_ntop(af, src, dst, size);
37
- return dst;
38
- }
39
-
40
- #endif // GRPC_USE_EVENT_ENGINE
@@ -1,44 +0,0 @@
1
- // Copyright 2021 The gRPC Authors
2
- //
3
- // Licensed under the Apache License, Version 2.0 (the "License");
4
- // you may not use this file except in compliance with the License.
5
- // You may obtain a copy of the License at
6
- //
7
- // http://www.apache.org/licenses/LICENSE-2.0
8
- //
9
- // Unless required by applicable law or agreed to in writing, software
10
- // distributed under the License is distributed on an "AS IS" BASIS,
11
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- // See the License for the specific language governing permissions and
13
- // limitations under the License.
14
- #ifndef GRPC_CORE_LIB_EVENT_ENGINE_SOCKADDR_H
15
- #define GRPC_CORE_LIB_EVENT_ENGINE_SOCKADDR_H
16
-
17
- #include <grpc/support/port_platform.h>
18
-
19
- #ifdef GRPC_USE_EVENT_ENGINE
20
- #include <grpc/event_engine/port.h>
21
-
22
- #include "src/core/lib/iomgr/port.h"
23
-
24
- typedef struct sockaddr grpc_sockaddr;
25
- typedef struct sockaddr_in grpc_sockaddr_in;
26
- typedef struct sockaddr_in6 grpc_sockaddr_in6;
27
- typedef struct in_addr grpc_in_addr;
28
- typedef struct in6_addr grpc_in6_addr;
29
-
30
- #define GRPC_INET_ADDRSTRLEN INET_ADDRSTRLEN
31
- #define GRPC_INET6_ADDRSTRLEN INET6_ADDRSTRLEN
32
-
33
- #define GRPC_SOCK_STREAM SOCK_STREAM
34
- #define GRPC_SOCK_DGRAM SOCK_DGRAM
35
-
36
- #define GRPC_AF_UNSPEC AF_UNSPEC
37
- #define GRPC_AF_UNIX AF_UNIX
38
- #define GRPC_AF_INET AF_INET
39
- #define GRPC_AF_INET6 AF_INET6
40
-
41
- #define GRPC_AI_PASSIVE AI_PASSIVE
42
-
43
- #endif
44
- #endif // GRPC_CORE_LIB_EVENT_ENGINE_SOCKADDR_H
@@ -1,76 +0,0 @@
1
- // Copyright 2021 gRPC authors.
2
- //
3
- // Licensed under the Apache License, Version 2.0 (the "License");
4
- // you may not use this file except in compliance with the License.
5
- // You may obtain a copy of the License at
6
- //
7
- // http://www.apache.org/licenses/LICENSE-2.0
8
- //
9
- // Unless required by applicable law or agreed to in writing, software
10
- // distributed under the License is distributed on an "AS IS" BASIS,
11
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- // See the License for the specific language governing permissions and
13
- // limitations under the License.
14
-
15
- #ifndef GRPC_CORE_LIB_GPRPP_CAPTURE_H
16
- #define GRPC_CORE_LIB_GPRPP_CAPTURE_H
17
-
18
- #include <grpc/support/port_platform.h>
19
-
20
- #include <tuple>
21
- #include <utility>
22
-
23
- #include "absl/utility/utility.h"
24
-
25
- namespace grpc_core {
26
-
27
- namespace detail {
28
-
29
- template <typename F, typename... Captures>
30
- class Capture {
31
- public:
32
- explicit Capture(F f, Captures... captures)
33
- : f_(std::move(f)), captures_(std::move(captures)...) {}
34
-
35
- template <typename... Args>
36
- decltype(std::declval<F>()(static_cast<Captures*>(nullptr)...,
37
- std::declval<Args>()...))
38
- operator()(Args... args) {
39
- auto f = &f_;
40
- return absl::apply(
41
- [f, &args...](Captures&... captures) {
42
- return (*f)(&captures..., std::move(args)...);
43
- },
44
- captures_);
45
- }
46
-
47
- private:
48
- GPR_NO_UNIQUE_ADDRESS F f_;
49
- GPR_NO_UNIQUE_ADDRESS std::tuple<Captures...> captures_;
50
- };
51
-
52
- } // namespace detail
53
-
54
- // C++11 helper - best explained by usage:
55
- //
56
- // BigThing big_thing;
57
- // auto f = Capture(
58
- // [](BigThing* c, int a, int b) { /*...*/ },
59
- // std::move(big_thing));
60
- //
61
- // results in: f being a callable that takes arguments (int a, int b), and
62
- // captures the original value of big_thing by move. Each call, a pointer to
63
- // each captured thing is inserted into the argument list at the beginning so it
64
- // can be manipulated.
65
- //
66
- // Captured values are mutable, and it's the users responsibility to ensure,
67
- // should this callable be invoked from different threads, that proper locking
68
- // is implemented.
69
- template <typename F, typename... Captures>
70
- detail::Capture<F, Captures...> Capture(F f, Captures... captures) {
71
- return detail::Capture<F, Captures...>(std::move(f), std::move(captures)...);
72
- }
73
-
74
- } // namespace grpc_core
75
-
76
- #endif // GRPC_CORE_LIB_GPRPP_CAPTURE_H
@@ -1,77 +0,0 @@
1
- // Copyright 2021 The gRPC Authors
2
- //
3
- // Licensed under the Apache License, Version 2.0 (the "License");
4
- // you may not use this file except in compliance with the License.
5
- // You may obtain a copy of the License at
6
- //
7
- // http://www.apache.org/licenses/LICENSE-2.0
8
- //
9
- // Unless required by applicable law or agreed to in writing, software
10
- // distributed under the License is distributed on an "AS IS" BASIS,
11
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- // See the License for the specific language governing permissions and
13
- // limitations under the License.
14
- #include <grpc/support/port_platform.h>
15
-
16
- #ifdef GRPC_USE_EVENT_ENGINE
17
- #include <grpc/event_engine/event_engine.h>
18
-
19
- #include "src/core/lib/iomgr/closure.h"
20
- #include "src/core/lib/iomgr/event_engine/closure.h"
21
- #include "src/core/lib/iomgr/event_engine/pollset.h"
22
- #include "src/core/lib/transport/error_utils.h"
23
-
24
- namespace grpc_event_engine {
25
- namespace experimental {
26
-
27
- namespace {
28
-
29
- void RunClosure(grpc_closure* closure, grpc_error_handle error) {
30
- GPR_ASSERT(closure != nullptr);
31
- #ifndef NDEBUG
32
- closure->scheduled = false;
33
- if (grpc_trace_closure.enabled()) {
34
- gpr_log(GPR_DEBUG,
35
- "EventEngine: running closure %p: created [%s:%d]: %s [%s:%d]",
36
- closure, closure->file_created, closure->line_created,
37
- closure->run ? "run" : "scheduled", closure->file_initiated,
38
- closure->line_initiated);
39
- }
40
- #endif
41
- closure->cb(closure->cb_arg, error);
42
- #ifndef NDEBUG
43
- if (grpc_trace_closure.enabled()) {
44
- gpr_log(GPR_DEBUG, "EventEngine: closure %p finished", closure);
45
- }
46
- #endif
47
- }
48
-
49
- } // namespace
50
-
51
- std::function<void(absl::Status)> GrpcClosureToStatusCallback(
52
- grpc_closure* closure) {
53
- return [closure](absl::Status status) {
54
- RunClosure(closure, absl_status_to_grpc_error(status));
55
- grpc_pollset_ee_broadcast_event();
56
- };
57
- }
58
-
59
- std::function<void()> GrpcClosureToCallback(grpc_closure* closure) {
60
- return [closure]() {
61
- RunClosure(closure, GRPC_ERROR_NONE);
62
- grpc_pollset_ee_broadcast_event();
63
- };
64
- }
65
-
66
- std::function<void()> GrpcClosureToCallback(grpc_closure* closure,
67
- grpc_error_handle error) {
68
- return [closure, error]() {
69
- RunClosure(closure, error);
70
- grpc_pollset_ee_broadcast_event();
71
- };
72
- }
73
-
74
- } // namespace experimental
75
- } // namespace grpc_event_engine
76
-
77
- #endif // GRPC_USE_EVENT_ENGINE
@@ -1,42 +0,0 @@
1
- // Copyright 2021 The gRPC Authors
2
- //
3
- // Licensed under the Apache License, Version 2.0 (the "License");
4
- // you may not use this file except in compliance with the License.
5
- // You may obtain a copy of the License at
6
- //
7
- // http://www.apache.org/licenses/LICENSE-2.0
8
- //
9
- // Unless required by applicable law or agreed to in writing, software
10
- // distributed under the License is distributed on an "AS IS" BASIS,
11
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- // See the License for the specific language governing permissions and
13
- // limitations under the License.
14
- #ifndef GRPC_CORE_LIB_IOMGR_EVENT_ENGINE_CLOSURE_H
15
- #define GRPC_CORE_LIB_IOMGR_EVENT_ENGINE_CLOSURE_H
16
-
17
- #include <grpc/support/port_platform.h>
18
-
19
- #include <grpc/event_engine/event_engine.h>
20
-
21
- #include "src/core/lib/iomgr/closure.h"
22
- #include "src/core/lib/iomgr/error.h"
23
-
24
- namespace grpc_event_engine {
25
- namespace experimental {
26
-
27
- /// Creates a callback that takes an error status argument.
28
- std::function<void(absl::Status)> GrpcClosureToStatusCallback(
29
- grpc_closure* closure);
30
-
31
- /// Create a callback that *does not* take an error status argument.
32
- std::function<void()> GrpcClosureToCallback(grpc_closure* closure);
33
-
34
- /// Creates a callback that *does not* take an error status argument.
35
- /// This version has a pre-bound error.
36
- std::function<void()> GrpcClosureToCallback(grpc_closure* closure,
37
- grpc_error_handle error);
38
-
39
- } // namespace experimental
40
- } // namespace grpc_event_engine
41
-
42
- #endif // GRPC_CORE_LIB_IOMGR_EVENT_ENGINE_CLOSURE_H