grpc 1.50.0 → 1.51.0

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 (459) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +131 -42
  3. data/include/grpc/event_engine/event_engine.h +10 -3
  4. data/include/grpc/event_engine/slice_buffer.h +17 -0
  5. data/include/grpc/grpc.h +0 -10
  6. data/include/grpc/impl/codegen/grpc_types.h +1 -5
  7. data/include/grpc/impl/codegen/port_platform.h +0 -3
  8. data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +19 -13
  9. data/src/core/ext/filters/channel_idle/channel_idle_filter.h +1 -0
  10. data/src/core/ext/filters/client_channel/backup_poller.cc +3 -3
  11. data/src/core/ext/filters/client_channel/channel_connectivity.cc +7 -5
  12. data/src/core/ext/filters/client_channel/client_channel.cc +120 -140
  13. data/src/core/ext/filters/client_channel/client_channel.h +3 -4
  14. data/src/core/ext/filters/client_channel/client_channel_channelz.cc +0 -2
  15. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +1 -1
  16. data/src/core/ext/filters/client_channel/client_channel_service_config.cc +153 -0
  17. data/src/core/ext/filters/client_channel/{resolver_result_parsing.h → client_channel_service_config.h} +26 -23
  18. data/src/core/ext/filters/client_channel/connector.h +1 -1
  19. data/src/core/ext/filters/client_channel/dynamic_filters.cc +20 -47
  20. data/src/core/ext/filters/client_channel/dynamic_filters.h +7 -8
  21. data/src/core/ext/filters/client_channel/health/health_check_client.cc +3 -4
  22. data/src/core/ext/filters/client_channel/http_proxy.cc +0 -1
  23. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +3 -4
  24. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +5 -0
  25. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +8 -7
  26. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +35 -44
  27. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +0 -1
  28. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +1 -3
  29. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc +3 -4
  30. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h +1 -1
  31. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +41 -29
  32. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +2 -2
  33. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +9 -11
  34. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +15 -12
  35. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +8 -10
  36. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +26 -27
  37. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +7 -9
  38. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +44 -26
  39. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +17 -27
  40. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.cc +42 -0
  41. data/src/core/ext/filters/client_channel/lb_policy/xds/{xds.h → xds_attributes.h} +15 -17
  42. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +13 -7
  43. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +48 -47
  44. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +40 -126
  45. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc +364 -0
  46. data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +9 -9
  47. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +23 -32
  48. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +1 -2
  49. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +22 -23
  50. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +50 -52
  51. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +1 -1
  52. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +2 -4
  53. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +1 -3
  54. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +34 -26
  55. data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +3 -4
  56. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +4 -7
  57. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +63 -46
  58. data/src/core/ext/filters/client_channel/retry_filter.cc +80 -102
  59. data/src/core/ext/filters/client_channel/retry_service_config.cc +192 -234
  60. data/src/core/ext/filters/client_channel/retry_service_config.h +20 -23
  61. data/src/core/ext/filters/client_channel/retry_throttle.cc +8 -8
  62. data/src/core/ext/filters/client_channel/retry_throttle.h +8 -7
  63. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +2 -2
  64. data/src/core/ext/filters/client_channel/subchannel.cc +21 -25
  65. data/src/core/ext/filters/client_channel/subchannel.h +2 -2
  66. data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +11 -12
  67. data/src/core/ext/filters/deadline/deadline_filter.cc +13 -14
  68. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +1 -1
  69. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +0 -4
  70. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +118 -0
  71. data/src/core/ext/filters/fault_injection/{service_config_parser.h → fault_injection_service_config_parser.h} +20 -12
  72. data/src/core/ext/filters/http/client/http_client_filter.cc +16 -16
  73. data/src/core/ext/filters/http/client_authority_filter.cc +1 -1
  74. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +13 -13
  75. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +34 -34
  76. data/src/core/ext/filters/http/server/http_server_filter.cc +26 -25
  77. data/src/core/ext/filters/message_size/message_size_filter.cc +86 -117
  78. data/src/core/ext/filters/message_size/message_size_filter.h +22 -15
  79. data/src/core/ext/filters/rbac/rbac_filter.cc +12 -12
  80. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +728 -530
  81. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +4 -3
  82. data/src/core/ext/filters/server_config_selector/server_config_selector.h +1 -1
  83. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +6 -7
  84. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +17 -21
  85. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +57 -72
  86. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +5 -5
  87. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +1 -1
  88. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +212 -253
  89. data/src/core/ext/transport/chttp2/transport/flow_control.cc +42 -11
  90. data/src/core/ext/transport/chttp2/transport/flow_control.h +4 -3
  91. data/src/core/ext/transport/chttp2/transport/frame_data.cc +16 -15
  92. data/src/core/ext/transport/chttp2/transport/frame_data.h +1 -1
  93. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +13 -13
  94. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +4 -3
  95. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +10 -7
  96. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +15 -17
  97. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +5 -4
  98. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +5 -6
  99. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +1 -1
  100. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +2 -1
  101. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +31 -39
  102. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +7 -6
  103. data/src/core/ext/transport/chttp2/transport/internal.h +24 -8
  104. data/src/core/ext/transport/chttp2/transport/parsing.cc +51 -52
  105. data/src/core/ext/transport/chttp2/transport/varint.cc +2 -3
  106. data/src/core/ext/transport/chttp2/transport/varint.h +11 -8
  107. data/src/core/ext/transport/chttp2/transport/writing.cc +16 -16
  108. data/src/core/ext/transport/inproc/inproc_transport.cc +97 -115
  109. data/src/core/ext/xds/certificate_provider_store.cc +4 -4
  110. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +4 -7
  111. data/src/core/ext/xds/xds_api.cc +15 -68
  112. data/src/core/ext/xds/xds_api.h +3 -7
  113. data/src/core/ext/xds/xds_bootstrap.h +0 -1
  114. data/src/core/ext/xds/xds_bootstrap_grpc.cc +3 -12
  115. data/src/core/ext/xds/xds_bootstrap_grpc.h +16 -1
  116. data/src/core/ext/xds/xds_certificate_provider.cc +22 -25
  117. data/src/core/ext/xds/xds_channel_stack_modifier.cc +0 -1
  118. data/src/core/ext/xds/xds_client.cc +122 -90
  119. data/src/core/ext/xds/xds_client.h +7 -2
  120. data/src/core/ext/xds/xds_client_grpc.cc +5 -24
  121. data/src/core/ext/xds/xds_cluster.cc +291 -183
  122. data/src/core/ext/xds/xds_cluster.h +11 -15
  123. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +32 -29
  124. data/src/core/ext/xds/xds_cluster_specifier_plugin.h +35 -16
  125. data/src/core/ext/xds/xds_common_types.cc +208 -141
  126. data/src/core/ext/xds/xds_common_types.h +19 -13
  127. data/src/core/ext/xds/xds_endpoint.cc +214 -129
  128. data/src/core/ext/xds/xds_endpoint.h +4 -7
  129. data/src/core/ext/xds/xds_http_fault_filter.cc +56 -43
  130. data/src/core/ext/xds/xds_http_fault_filter.h +13 -21
  131. data/src/core/ext/xds/xds_http_filters.cc +60 -73
  132. data/src/core/ext/xds/xds_http_filters.h +67 -19
  133. data/src/core/ext/xds/xds_http_rbac_filter.cc +152 -207
  134. data/src/core/ext/xds/xds_http_rbac_filter.h +12 -15
  135. data/src/core/ext/xds/xds_lb_policy_registry.cc +122 -169
  136. data/src/core/ext/xds/xds_lb_policy_registry.h +10 -11
  137. data/src/core/ext/xds/xds_listener.cc +459 -417
  138. data/src/core/ext/xds/xds_listener.h +43 -47
  139. data/src/core/ext/xds/xds_resource_type.h +3 -11
  140. data/src/core/ext/xds/xds_resource_type_impl.h +8 -13
  141. data/src/core/ext/xds/xds_route_config.cc +94 -80
  142. data/src/core/ext/xds/xds_route_config.h +10 -10
  143. data/src/core/ext/xds/xds_routing.cc +2 -1
  144. data/src/core/ext/xds/xds_routing.h +2 -0
  145. data/src/core/ext/xds/xds_server_config_fetcher.cc +109 -94
  146. data/src/core/ext/xds/xds_transport_grpc.cc +4 -5
  147. data/src/core/lib/address_utils/parse_address.cc +11 -10
  148. data/src/core/lib/channel/channel_args.h +16 -1
  149. data/src/core/lib/channel/channel_stack.cc +23 -20
  150. data/src/core/lib/channel/channel_stack.h +17 -4
  151. data/src/core/lib/channel/channel_stack_builder.cc +4 -7
  152. data/src/core/lib/channel/channel_stack_builder.h +14 -6
  153. data/src/core/lib/channel/channel_stack_builder_impl.cc +25 -7
  154. data/src/core/lib/channel/channel_stack_builder_impl.h +2 -0
  155. data/src/core/lib/channel/channel_trace.cc +4 -5
  156. data/src/core/lib/channel/channelz.cc +1 -1
  157. data/src/core/lib/channel/connected_channel.cc +695 -35
  158. data/src/core/lib/channel/connected_channel.h +0 -4
  159. data/src/core/lib/channel/promise_based_filter.cc +1004 -140
  160. data/src/core/lib/channel/promise_based_filter.h +364 -87
  161. data/src/core/lib/compression/message_compress.cc +5 -5
  162. data/src/core/lib/debug/event_log.cc +88 -0
  163. data/src/core/lib/debug/event_log.h +81 -0
  164. data/src/core/lib/debug/histogram_view.cc +69 -0
  165. data/src/core/lib/{slice/slice_refcount.cc → debug/histogram_view.h} +15 -13
  166. data/src/core/lib/debug/stats.cc +22 -119
  167. data/src/core/lib/debug/stats.h +29 -35
  168. data/src/core/lib/debug/stats_data.cc +224 -73
  169. data/src/core/lib/debug/stats_data.h +263 -122
  170. data/src/core/lib/event_engine/common_closures.h +71 -0
  171. data/src/core/lib/event_engine/default_event_engine.cc +38 -15
  172. data/src/core/lib/event_engine/default_event_engine.h +15 -3
  173. data/src/core/lib/event_engine/default_event_engine_factory.cc +2 -4
  174. data/src/core/lib/event_engine/memory_allocator.cc +1 -1
  175. data/src/core/lib/event_engine/poller.h +10 -4
  176. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +618 -0
  177. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +129 -0
  178. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +901 -0
  179. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +97 -0
  180. data/src/core/lib/event_engine/posix_engine/event_poller.h +111 -0
  181. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +74 -0
  182. data/src/core/lib/event_engine/{executor/threaded_executor.cc → posix_engine/event_poller_posix_default.h} +13 -16
  183. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +77 -0
  184. data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +179 -0
  185. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +267 -0
  186. data/src/core/lib/event_engine/posix_engine/lockfree_event.h +73 -0
  187. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +1270 -0
  188. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +682 -0
  189. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +453 -18
  190. data/src/core/lib/event_engine/posix_engine/posix_engine.h +148 -24
  191. data/src/core/lib/event_engine/posix_engine/posix_engine_closure.h +80 -0
  192. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +1081 -0
  193. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +361 -0
  194. data/src/core/lib/event_engine/posix_engine/timer.h +9 -8
  195. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +57 -194
  196. data/src/core/lib/event_engine/posix_engine/timer_manager.h +21 -49
  197. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +301 -0
  198. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +179 -0
  199. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +126 -0
  200. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +45 -0
  201. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +151 -0
  202. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h +45 -0
  203. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +76 -0
  204. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +67 -0
  205. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +37 -0
  206. data/src/core/lib/event_engine/slice.cc +7 -6
  207. data/src/core/lib/event_engine/slice_buffer.cc +2 -2
  208. data/src/core/lib/event_engine/thread_pool.cc +106 -25
  209. data/src/core/lib/event_engine/thread_pool.h +32 -9
  210. data/src/core/lib/event_engine/windows/win_socket.cc +7 -7
  211. data/src/core/lib/event_engine/windows/windows_engine.cc +18 -12
  212. data/src/core/lib/event_engine/windows/windows_engine.h +8 -4
  213. data/src/core/lib/experiments/config.cc +1 -1
  214. data/src/core/lib/experiments/experiments.cc +13 -2
  215. data/src/core/lib/experiments/experiments.h +8 -1
  216. data/src/core/lib/gpr/cpu_linux.cc +6 -2
  217. data/src/core/lib/gpr/log_linux.cc +3 -4
  218. data/src/core/lib/gpr/string.h +1 -1
  219. data/src/core/lib/gpr/tmpfile_posix.cc +3 -2
  220. data/src/core/lib/gprpp/load_file.cc +75 -0
  221. data/src/core/lib/gprpp/load_file.h +33 -0
  222. data/src/core/lib/gprpp/per_cpu.h +46 -0
  223. data/src/core/lib/gprpp/stat_posix.cc +5 -4
  224. data/src/core/lib/gprpp/stat_windows.cc +3 -2
  225. data/src/core/lib/gprpp/status_helper.h +1 -3
  226. data/src/core/lib/gprpp/strerror.cc +41 -0
  227. data/src/core/{ext/xds/xds_resource_type.cc → lib/gprpp/strerror.h} +9 -13
  228. data/src/core/lib/gprpp/thd_windows.cc +1 -2
  229. data/src/core/lib/gprpp/time.cc +3 -4
  230. data/src/core/lib/gprpp/time.h +13 -2
  231. data/src/core/lib/gprpp/validation_errors.h +18 -1
  232. data/src/core/lib/http/httpcli.cc +40 -44
  233. data/src/core/lib/http/httpcli.h +6 -5
  234. data/src/core/lib/http/httpcli_security_connector.cc +4 -6
  235. data/src/core/lib/http/parser.cc +54 -65
  236. data/src/core/lib/iomgr/buffer_list.cc +105 -116
  237. data/src/core/lib/iomgr/buffer_list.h +60 -44
  238. data/src/core/lib/iomgr/call_combiner.cc +11 -10
  239. data/src/core/lib/iomgr/call_combiner.h +3 -4
  240. data/src/core/lib/iomgr/cfstream_handle.cc +13 -16
  241. data/src/core/lib/iomgr/closure.h +49 -5
  242. data/src/core/lib/iomgr/combiner.cc +2 -2
  243. data/src/core/lib/iomgr/endpoint.h +1 -1
  244. data/src/core/lib/iomgr/endpoint_cfstream.cc +26 -25
  245. data/src/core/lib/iomgr/endpoint_pair_posix.cc +2 -2
  246. data/src/core/lib/iomgr/error.cc +27 -42
  247. data/src/core/lib/iomgr/error.h +22 -152
  248. data/src/core/lib/iomgr/ev_apple.cc +4 -4
  249. data/src/core/lib/iomgr/ev_epoll1_linux.cc +26 -25
  250. data/src/core/lib/iomgr/ev_poll_posix.cc +27 -31
  251. data/src/core/lib/iomgr/exec_ctx.cc +3 -4
  252. data/src/core/lib/iomgr/exec_ctx.h +2 -3
  253. data/src/core/lib/iomgr/executor.cc +1 -2
  254. data/src/core/lib/iomgr/internal_errqueue.cc +3 -1
  255. data/src/core/lib/iomgr/iocp_windows.cc +1 -0
  256. data/src/core/lib/iomgr/iomgr_posix.cc +2 -2
  257. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +2 -1
  258. data/src/core/lib/iomgr/iomgr_windows.cc +2 -1
  259. data/src/core/lib/iomgr/load_file.cc +5 -9
  260. data/src/core/lib/iomgr/lockfree_event.cc +10 -10
  261. data/src/core/lib/iomgr/pollset_windows.cc +4 -4
  262. data/src/core/lib/iomgr/python_util.h +2 -2
  263. data/src/core/lib/iomgr/resolve_address.cc +8 -3
  264. data/src/core/lib/iomgr/resolve_address.h +3 -4
  265. data/src/core/lib/iomgr/resolve_address_impl.h +1 -1
  266. data/src/core/lib/iomgr/resolve_address_posix.cc +14 -25
  267. data/src/core/lib/iomgr/resolve_address_posix.h +1 -2
  268. data/src/core/lib/iomgr/resolve_address_windows.cc +14 -17
  269. data/src/core/lib/iomgr/resolve_address_windows.h +1 -2
  270. data/src/core/lib/iomgr/socket_utils_common_posix.cc +30 -29
  271. data/src/core/lib/iomgr/socket_utils_posix.cc +1 -0
  272. data/src/core/lib/iomgr/socket_utils_posix.h +2 -2
  273. data/src/core/lib/iomgr/socket_windows.cc +2 -2
  274. data/src/core/lib/iomgr/tcp_client_cfstream.cc +6 -10
  275. data/src/core/lib/iomgr/tcp_client_posix.cc +31 -35
  276. data/src/core/lib/iomgr/tcp_client_windows.cc +8 -12
  277. data/src/core/lib/iomgr/tcp_posix.cc +92 -108
  278. data/src/core/lib/iomgr/tcp_server_posix.cc +34 -34
  279. data/src/core/lib/iomgr/tcp_server_utils_posix.h +1 -1
  280. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +18 -21
  281. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +12 -13
  282. data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +1 -1
  283. data/src/core/lib/iomgr/tcp_server_windows.cc +26 -29
  284. data/src/core/lib/iomgr/tcp_windows.cc +27 -34
  285. data/src/core/lib/iomgr/timer.h +8 -8
  286. data/src/core/lib/iomgr/timer_generic.cc +9 -15
  287. data/src/core/lib/iomgr/unix_sockets_posix.cc +2 -4
  288. data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +4 -3
  289. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +10 -8
  290. data/src/core/lib/json/json_channel_args.h +42 -0
  291. data/src/core/lib/json/json_object_loader.cc +7 -2
  292. data/src/core/lib/json/json_object_loader.h +22 -0
  293. data/src/core/lib/json/json_util.cc +5 -5
  294. data/src/core/lib/json/json_util.h +4 -4
  295. data/src/core/lib/load_balancing/lb_policy.cc +1 -1
  296. data/src/core/lib/load_balancing/lb_policy.h +4 -0
  297. data/src/core/lib/load_balancing/subchannel_interface.h +0 -7
  298. data/src/core/lib/matchers/matchers.cc +3 -4
  299. data/src/core/lib/promise/activity.cc +16 -2
  300. data/src/core/lib/promise/activity.h +38 -15
  301. data/src/core/lib/promise/arena_promise.h +80 -51
  302. data/src/core/lib/promise/context.h +13 -6
  303. data/src/core/lib/promise/detail/basic_seq.h +9 -28
  304. data/src/core/lib/promise/detail/promise_factory.h +58 -10
  305. data/src/core/lib/promise/detail/status.h +28 -0
  306. data/src/core/lib/promise/detail/switch.h +1455 -0
  307. data/src/core/lib/promise/exec_ctx_wakeup_scheduler.h +3 -1
  308. data/src/core/lib/promise/for_each.h +129 -0
  309. data/src/core/lib/promise/loop.h +7 -5
  310. data/src/core/lib/promise/map_pipe.h +87 -0
  311. data/src/core/lib/promise/pipe.cc +19 -0
  312. data/src/core/lib/promise/pipe.h +505 -0
  313. data/src/core/lib/promise/poll.h +13 -0
  314. data/src/core/lib/promise/seq.h +3 -5
  315. data/src/core/lib/promise/sleep.cc +5 -4
  316. data/src/core/lib/promise/sleep.h +1 -2
  317. data/src/core/lib/promise/try_concurrently.h +341 -0
  318. data/src/core/lib/promise/try_seq.h +10 -13
  319. data/src/core/lib/resolver/server_address.cc +1 -0
  320. data/src/core/lib/resolver/server_address.h +1 -3
  321. data/src/core/lib/resource_quota/api.cc +0 -1
  322. data/src/core/lib/resource_quota/arena.cc +19 -0
  323. data/src/core/lib/resource_quota/arena.h +89 -0
  324. data/src/core/lib/resource_quota/memory_quota.cc +1 -0
  325. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +1 -3
  326. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +4 -2
  327. data/src/core/lib/security/authorization/matchers.cc +25 -22
  328. data/src/core/lib/security/authorization/rbac_policy.cc +2 -3
  329. data/src/core/lib/security/context/security_context.h +10 -0
  330. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +3 -4
  331. data/src/core/lib/security/credentials/composite/composite_credentials.cc +1 -1
  332. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +77 -55
  333. data/src/core/lib/security/credentials/external/aws_request_signer.cc +4 -3
  334. data/src/core/lib/security/credentials/external/external_account_credentials.cc +40 -51
  335. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +17 -21
  336. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +21 -25
  337. data/src/core/lib/security/credentials/fake/fake_credentials.cc +1 -0
  338. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +27 -24
  339. data/src/core/lib/security/credentials/iam/iam_credentials.cc +1 -0
  340. data/src/core/lib/security/credentials/jwt/json_token.cc +1 -2
  341. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +1 -1
  342. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +5 -5
  343. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +24 -30
  344. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +6 -5
  345. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +3 -3
  346. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +19 -27
  347. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +4 -11
  348. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +29 -41
  349. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +1 -1
  350. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +6 -11
  351. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +8 -15
  352. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +2 -2
  353. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +2 -6
  354. data/src/core/lib/security/security_connector/load_system_roots_supported.cc +1 -4
  355. data/src/core/lib/security/security_connector/local/local_security_connector.cc +7 -11
  356. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +9 -14
  357. data/src/core/lib/security/security_connector/ssl_utils.cc +5 -7
  358. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +21 -27
  359. data/src/core/lib/security/transport/client_auth_filter.cc +1 -1
  360. data/src/core/lib/security/transport/secure_endpoint.cc +26 -28
  361. data/src/core/lib/security/transport/security_handshaker.cc +53 -53
  362. data/src/core/lib/security/transport/server_auth_filter.cc +21 -21
  363. data/src/core/lib/security/transport/tsi_error.cc +6 -3
  364. data/src/core/lib/security/util/json_util.cc +4 -5
  365. data/src/core/lib/service_config/service_config.h +1 -1
  366. data/src/core/lib/service_config/service_config_impl.cc +111 -158
  367. data/src/core/lib/service_config/service_config_impl.h +14 -17
  368. data/src/core/lib/service_config/service_config_parser.cc +14 -31
  369. data/src/core/lib/service_config/service_config_parser.h +14 -10
  370. data/src/core/lib/slice/b64.cc +2 -2
  371. data/src/core/lib/slice/slice.cc +7 -1
  372. data/src/core/lib/slice/slice.h +19 -6
  373. data/src/core/lib/slice/slice_buffer.cc +13 -14
  374. data/src/core/lib/slice/slice_internal.h +13 -21
  375. data/src/core/lib/slice/slice_refcount.h +34 -19
  376. data/src/core/lib/surface/byte_buffer.cc +3 -4
  377. data/src/core/lib/surface/byte_buffer_reader.cc +4 -4
  378. data/src/core/lib/surface/call.cc +1366 -239
  379. data/src/core/lib/surface/call.h +44 -0
  380. data/src/core/lib/surface/call_details.cc +3 -3
  381. data/src/core/lib/surface/call_trace.cc +113 -0
  382. data/src/core/lib/surface/call_trace.h +30 -0
  383. data/src/core/lib/surface/channel.cc +44 -49
  384. data/src/core/lib/surface/channel.h +9 -1
  385. data/src/core/lib/surface/channel_ping.cc +1 -1
  386. data/src/core/lib/surface/channel_stack_type.cc +4 -0
  387. data/src/core/lib/surface/channel_stack_type.h +2 -0
  388. data/src/core/lib/surface/completion_queue.cc +38 -52
  389. data/src/core/lib/surface/init.cc +8 -39
  390. data/src/core/lib/surface/init_internally.h +8 -0
  391. data/src/core/lib/surface/lame_client.cc +10 -8
  392. data/src/core/lib/surface/server.cc +48 -70
  393. data/src/core/lib/surface/server.h +3 -4
  394. data/src/core/lib/surface/validate_metadata.cc +11 -12
  395. data/src/core/lib/surface/version.cc +2 -2
  396. data/src/core/lib/transport/connectivity_state.cc +2 -2
  397. data/src/core/lib/transport/error_utils.cc +34 -28
  398. data/src/core/lib/transport/error_utils.h +3 -3
  399. data/src/core/lib/transport/handshaker.cc +14 -14
  400. data/src/core/lib/transport/handshaker.h +1 -1
  401. data/src/core/lib/transport/handshaker_factory.h +26 -0
  402. data/src/core/lib/transport/handshaker_registry.cc +8 -2
  403. data/src/core/lib/transport/handshaker_registry.h +3 -4
  404. data/src/core/lib/transport/http_connect_handshaker.cc +23 -24
  405. data/src/core/lib/transport/metadata_batch.h +17 -1
  406. data/src/core/lib/transport/parsed_metadata.cc +2 -6
  407. data/src/core/lib/transport/tcp_connect_handshaker.cc +15 -20
  408. data/src/core/lib/transport/transport.cc +63 -17
  409. data/src/core/lib/transport/transport.h +64 -68
  410. data/src/core/lib/transport/transport_impl.h +1 -1
  411. data/src/core/lib/transport/transport_op_string.cc +7 -6
  412. data/src/core/plugin_registry/grpc_plugin_registry.cc +6 -10
  413. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +2 -14
  414. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +10 -10
  415. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +8 -8
  416. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +2 -1
  417. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +7 -7
  418. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +7 -6
  419. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +1 -1
  420. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +5 -5
  421. data/src/core/tsi/fake_transport_security.cc +3 -3
  422. data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +7 -3
  423. data/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc +1 -1
  424. data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +6 -2
  425. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +0 -2
  426. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +0 -3
  427. data/src/ruby/lib/grpc/version.rb +1 -1
  428. data/src/ruby/spec/channel_spec.rb +0 -43
  429. data/src/ruby/spec/generic/active_call_spec.rb +12 -3
  430. data/third_party/abseil-cpp/absl/cleanup/cleanup.h +140 -0
  431. data/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h +100 -0
  432. data/third_party/zlib/compress.c +3 -3
  433. data/third_party/zlib/crc32.c +21 -12
  434. data/third_party/zlib/deflate.c +112 -106
  435. data/third_party/zlib/deflate.h +2 -2
  436. data/third_party/zlib/gzlib.c +1 -1
  437. data/third_party/zlib/gzread.c +3 -5
  438. data/third_party/zlib/gzwrite.c +1 -1
  439. data/third_party/zlib/infback.c +10 -7
  440. data/third_party/zlib/inflate.c +5 -2
  441. data/third_party/zlib/inftrees.c +2 -2
  442. data/third_party/zlib/inftrees.h +1 -1
  443. data/third_party/zlib/trees.c +61 -62
  444. data/third_party/zlib/uncompr.c +2 -2
  445. data/third_party/zlib/zconf.h +16 -3
  446. data/third_party/zlib/zlib.h +10 -10
  447. data/third_party/zlib/zutil.c +9 -7
  448. data/third_party/zlib/zutil.h +1 -0
  449. metadata +55 -18
  450. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +0 -188
  451. data/src/core/ext/filters/fault_injection/service_config_parser.cc +0 -187
  452. data/src/core/lib/event_engine/executor/threaded_executor.h +0 -44
  453. data/src/core/lib/gpr/murmur_hash.cc +0 -82
  454. data/src/core/lib/gpr/murmur_hash.h +0 -29
  455. data/src/core/lib/gpr/tls.h +0 -156
  456. data/src/core/lib/promise/call_push_pull.h +0 -148
  457. data/src/core/lib/slice/slice_api.cc +0 -39
  458. data/src/core/lib/slice/slice_buffer_api.cc +0 -35
  459. data/src/core/lib/slice/slice_refcount_base.h +0 -60
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6a7eee92d5bc7456bb190e676f0f24f9cc7dcc4fe0c08fc0e6b12f93ecd5c308
4
- data.tar.gz: 0da2ed3698e40220ecce627ccf58b25883fba7f9276df90b23622e8f54a2766c
3
+ metadata.gz: d0c43c3fa27d669da1253f5869d27f75df73082e7494eec62139b4bd1d5980f1
4
+ data.tar.gz: 72bde2f185df53ac32781c755dde205adf2d693498a53272080095a4479f8ac8
5
5
  SHA512:
6
- metadata.gz: bf88e0471a9b55faaad4561a8dfc7ba668eb425e863d62483967e45a0e215019a8fa7d4d14e70ecf6fe9ece03ecedf41cabf2db0e392a553d90ead3ac198a0c2
7
- data.tar.gz: bd2bed86cc5220949d301e02f79bb369cecc6b91dd0481802cab9b2f43f718e8e0ceca03d0440c13656c6756b76059dfd6562a803566f92af185e45eefcba42a
6
+ metadata.gz: 0badf8431f4da94d50243619550668c80d071c9121a9e7e5edd50ace3b11c8c20bc4542bcb0ccba9040a87da92ec7162733c31175b5c5c43ffa8c261c24ad899
7
+ data.tar.gz: a5e6e827bf7064e998555ccfa1b05f66e7ab226a4c29d4aeec3049fc9775087dac86776008a93d524ed25fe350c890e5321ceaff77941f2f722306b1de93d7e3
data/Makefile CHANGED
@@ -410,9 +410,9 @@ E = @echo
410
410
  Q = @
411
411
  endif
412
412
 
413
- CORE_VERSION = 28.0.0
414
- CPP_VERSION = 1.50.0
415
- CSHARP_VERSION = 2.50.0
413
+ CORE_VERSION = 29.0.0
414
+ CPP_VERSION = 1.51.0
415
+ CSHARP_VERSION = 2.51.0
416
416
 
417
417
  CPPFLAGS_NO_ARCH += $(addprefix -I, $(INCLUDES)) $(addprefix -D, $(DEFINES))
418
418
  CPPFLAGS += $(CPPFLAGS_NO_ARCH) $(ARCH_FLAGS)
@@ -448,7 +448,7 @@ SHARED_EXT_CORE = dll
448
448
  SHARED_EXT_CPP = dll
449
449
  SHARED_EXT_CSHARP = dll
450
450
  SHARED_PREFIX =
451
- SHARED_VERSION_CORE = -28
451
+ SHARED_VERSION_CORE = -29
452
452
  SHARED_VERSION_CPP = -1
453
453
  SHARED_VERSION_CSHARP = -2
454
454
  else ifeq ($(SYSTEM),Darwin)
@@ -826,8 +826,8 @@ $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE):
826
826
  ifeq ($(SYSTEM),Darwin)
827
827
  $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBADDRESS_SORTING_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
828
828
  else
829
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libaddress_sorting.so.28 -o $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBADDRESS_SORTING_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
830
- $(Q) ln -sf $(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE).so.28
829
+ $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libaddress_sorting.so.29 -o $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBADDRESS_SORTING_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
830
+ $(Q) ln -sf $(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE).so.29
831
831
  $(Q) ln -sf $(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE).so
832
832
  endif
833
833
  endif
@@ -877,6 +877,7 @@ LIBGPR_SRC = \
877
877
  src/core/lib/gprpp/mpscq.cc \
878
878
  src/core/lib/gprpp/stat_posix.cc \
879
879
  src/core/lib/gprpp/stat_windows.cc \
880
+ src/core/lib/gprpp/strerror.cc \
880
881
  src/core/lib/gprpp/tchar.cc \
881
882
  src/core/lib/gprpp/thd_posix.cc \
882
883
  src/core/lib/gprpp/thd_windows.cc \
@@ -943,8 +944,8 @@ $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGPR_OB
943
944
  ifeq ($(SYSTEM),Darwin)
944
945
  $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGPR_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
945
946
  else
946
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgpr.so.28 -o $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGPR_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
947
- $(Q) ln -sf $(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).so.28
947
+ $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgpr.so.29 -o $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGPR_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
948
+ $(Q) ln -sf $(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).so.29
948
949
  $(Q) ln -sf $(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).so
949
950
  endif
950
951
  endif
@@ -967,6 +968,7 @@ LIBGRPC_SRC = \
967
968
  src/core/ext/filters/client_channel/client_channel_channelz.cc \
968
969
  src/core/ext/filters/client_channel/client_channel_factory.cc \
969
970
  src/core/ext/filters/client_channel/client_channel_plugin.cc \
971
+ src/core/ext/filters/client_channel/client_channel_service_config.cc \
970
972
  src/core/ext/filters/client_channel/config_selector.cc \
971
973
  src/core/ext/filters/client_channel/dynamic_filters.cc \
972
974
  src/core/ext/filters/client_channel/global_subchannel_pool.cc \
@@ -988,9 +990,11 @@ LIBGRPC_SRC = \
988
990
  src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc \
989
991
  src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc \
990
992
  src/core/ext/filters/client_channel/lb_policy/xds/cds.cc \
993
+ src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.cc \
991
994
  src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc \
992
995
  src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc \
993
996
  src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc \
997
+ src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc \
994
998
  src/core/ext/filters/client_channel/local_subchannel_pool.cc \
995
999
  src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc \
996
1000
  src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc \
@@ -1006,7 +1010,6 @@ LIBGRPC_SRC = \
1006
1010
  src/core/ext/filters/client_channel/resolver/polling_resolver.cc \
1007
1011
  src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc \
1008
1012
  src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc \
1009
- src/core/ext/filters/client_channel/resolver_result_parsing.cc \
1010
1013
  src/core/ext/filters/client_channel/retry_filter.cc \
1011
1014
  src/core/ext/filters/client_channel/retry_service_config.cc \
1012
1015
  src/core/ext/filters/client_channel/retry_throttle.cc \
@@ -1016,7 +1019,7 @@ LIBGRPC_SRC = \
1016
1019
  src/core/ext/filters/client_channel/subchannel_stream_client.cc \
1017
1020
  src/core/ext/filters/deadline/deadline_filter.cc \
1018
1021
  src/core/ext/filters/fault_injection/fault_injection_filter.cc \
1019
- src/core/ext/filters/fault_injection/service_config_parser.cc \
1022
+ src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc \
1020
1023
  src/core/ext/filters/http/client/http_client_filter.cc \
1021
1024
  src/core/ext/filters/http/client_authority_filter.cc \
1022
1025
  src/core/ext/filters/http/http_filters_plugin.cc \
@@ -1359,7 +1362,6 @@ LIBGRPC_SRC = \
1359
1362
  src/core/ext/xds/xds_http_rbac_filter.cc \
1360
1363
  src/core/ext/xds/xds_lb_policy_registry.cc \
1361
1364
  src/core/ext/xds/xds_listener.cc \
1362
- src/core/ext/xds/xds_resource_type.cc \
1363
1365
  src/core/ext/xds/xds_route_config.cc \
1364
1366
  src/core/ext/xds/xds_routing.cc \
1365
1367
  src/core/ext/xds/xds_server_config_fetcher.cc \
@@ -1382,19 +1384,31 @@ LIBGRPC_SRC = \
1382
1384
  src/core/lib/compression/compression_internal.cc \
1383
1385
  src/core/lib/compression/message_compress.cc \
1384
1386
  src/core/lib/config/core_configuration.cc \
1387
+ src/core/lib/debug/event_log.cc \
1388
+ src/core/lib/debug/histogram_view.cc \
1385
1389
  src/core/lib/debug/stats.cc \
1386
1390
  src/core/lib/debug/stats_data.cc \
1387
1391
  src/core/lib/debug/trace.cc \
1388
1392
  src/core/lib/event_engine/channel_args_endpoint_config.cc \
1389
1393
  src/core/lib/event_engine/default_event_engine.cc \
1390
1394
  src/core/lib/event_engine/default_event_engine_factory.cc \
1391
- src/core/lib/event_engine/executor/threaded_executor.cc \
1392
1395
  src/core/lib/event_engine/forkable.cc \
1393
1396
  src/core/lib/event_engine/memory_allocator.cc \
1397
+ src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc \
1398
+ src/core/lib/event_engine/posix_engine/ev_poll_posix.cc \
1399
+ src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc \
1400
+ src/core/lib/event_engine/posix_engine/internal_errqueue.cc \
1401
+ src/core/lib/event_engine/posix_engine/lockfree_event.cc \
1402
+ src/core/lib/event_engine/posix_engine/posix_endpoint.cc \
1394
1403
  src/core/lib/event_engine/posix_engine/posix_engine.cc \
1404
+ src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc \
1395
1405
  src/core/lib/event_engine/posix_engine/timer.cc \
1396
1406
  src/core/lib/event_engine/posix_engine/timer_heap.cc \
1397
1407
  src/core/lib/event_engine/posix_engine/timer_manager.cc \
1408
+ src/core/lib/event_engine/posix_engine/traced_buffer_list.cc \
1409
+ src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc \
1410
+ src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc \
1411
+ src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc \
1398
1412
  src/core/lib/event_engine/resolved_address.cc \
1399
1413
  src/core/lib/event_engine/slice.cc \
1400
1414
  src/core/lib/event_engine/slice_buffer.cc \
@@ -1407,7 +1421,7 @@ LIBGRPC_SRC = \
1407
1421
  src/core/lib/event_engine/windows/windows_engine.cc \
1408
1422
  src/core/lib/experiments/config.cc \
1409
1423
  src/core/lib/experiments/experiments.cc \
1410
- src/core/lib/gpr/murmur_hash.cc \
1424
+ src/core/lib/gprpp/load_file.cc \
1411
1425
  src/core/lib/gprpp/status_helper.cc \
1412
1426
  src/core/lib/gprpp/time.cc \
1413
1427
  src/core/lib/gprpp/time_averaged_stats.cc \
@@ -1498,6 +1512,7 @@ LIBGRPC_SRC = \
1498
1512
  src/core/lib/load_balancing/lb_policy_registry.cc \
1499
1513
  src/core/lib/matchers/matchers.cc \
1500
1514
  src/core/lib/promise/activity.cc \
1515
+ src/core/lib/promise/pipe.cc \
1501
1516
  src/core/lib/promise/sleep.cc \
1502
1517
  src/core/lib/resolver/resolver.cc \
1503
1518
  src/core/lib/resolver/resolver_registry.cc \
@@ -1575,10 +1590,7 @@ LIBGRPC_SRC = \
1575
1590
  src/core/lib/slice/b64.cc \
1576
1591
  src/core/lib/slice/percent_encoding.cc \
1577
1592
  src/core/lib/slice/slice.cc \
1578
- src/core/lib/slice/slice_api.cc \
1579
1593
  src/core/lib/slice/slice_buffer.cc \
1580
- src/core/lib/slice/slice_buffer_api.cc \
1581
- src/core/lib/slice/slice_refcount.cc \
1582
1594
  src/core/lib/slice/slice_string_helpers.cc \
1583
1595
  src/core/lib/surface/api_trace.cc \
1584
1596
  src/core/lib/surface/builtins.cc \
@@ -1587,6 +1599,7 @@ LIBGRPC_SRC = \
1587
1599
  src/core/lib/surface/call.cc \
1588
1600
  src/core/lib/surface/call_details.cc \
1589
1601
  src/core/lib/surface/call_log_batch.cc \
1602
+ src/core/lib/surface/call_trace.cc \
1590
1603
  src/core/lib/surface/channel.cc \
1591
1604
  src/core/lib/surface/channel_init.cc \
1592
1605
  src/core/lib/surface/channel_ping.cc \
@@ -1665,18 +1678,50 @@ PUBLIC_HEADERS_C += \
1665
1678
  include/grpc/grpc_posix.h \
1666
1679
  include/grpc/grpc_security.h \
1667
1680
  include/grpc/grpc_security_constants.h \
1681
+ include/grpc/impl/codegen/atm.h \
1682
+ include/grpc/impl/codegen/atm_gcc_atomic.h \
1683
+ include/grpc/impl/codegen/atm_gcc_sync.h \
1684
+ include/grpc/impl/codegen/atm_windows.h \
1668
1685
  include/grpc/impl/codegen/byte_buffer.h \
1669
1686
  include/grpc/impl/codegen/byte_buffer_reader.h \
1670
1687
  include/grpc/impl/codegen/compression_types.h \
1671
1688
  include/grpc/impl/codegen/connectivity_state.h \
1689
+ include/grpc/impl/codegen/fork.h \
1690
+ include/grpc/impl/codegen/gpr_slice.h \
1691
+ include/grpc/impl/codegen/gpr_types.h \
1672
1692
  include/grpc/impl/codegen/grpc_types.h \
1693
+ include/grpc/impl/codegen/log.h \
1694
+ include/grpc/impl/codegen/port_platform.h \
1673
1695
  include/grpc/impl/codegen/propagation_bits.h \
1674
1696
  include/grpc/impl/codegen/slice.h \
1675
1697
  include/grpc/impl/codegen/status.h \
1698
+ include/grpc/impl/codegen/sync.h \
1699
+ include/grpc/impl/codegen/sync_abseil.h \
1700
+ include/grpc/impl/codegen/sync_custom.h \
1701
+ include/grpc/impl/codegen/sync_generic.h \
1702
+ include/grpc/impl/codegen/sync_posix.h \
1703
+ include/grpc/impl/codegen/sync_windows.h \
1676
1704
  include/grpc/load_reporting.h \
1677
1705
  include/grpc/slice.h \
1678
1706
  include/grpc/slice_buffer.h \
1679
1707
  include/grpc/status.h \
1708
+ include/grpc/support/alloc.h \
1709
+ include/grpc/support/atm_gcc_atomic.h \
1710
+ include/grpc/support/atm_gcc_sync.h \
1711
+ include/grpc/support/atm_windows.h \
1712
+ include/grpc/support/cpu.h \
1713
+ include/grpc/support/log.h \
1714
+ include/grpc/support/log_windows.h \
1715
+ include/grpc/support/port_platform.h \
1716
+ include/grpc/support/string_util.h \
1717
+ include/grpc/support/sync.h \
1718
+ include/grpc/support/sync_abseil.h \
1719
+ include/grpc/support/sync_custom.h \
1720
+ include/grpc/support/sync_generic.h \
1721
+ include/grpc/support/sync_posix.h \
1722
+ include/grpc/support/sync_windows.h \
1723
+ include/grpc/support/thd_id.h \
1724
+ include/grpc/support/time.h \
1680
1725
  include/grpc/support/workaround_list.h \
1681
1726
 
1682
1727
  LIBGRPC_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_SRC))))
@@ -1715,8 +1760,8 @@ $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGRPC_
1715
1760
  ifeq ($(SYSTEM),Darwin)
1716
1761
  $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
1717
1762
  else
1718
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.28 -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
1719
- $(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so.28
1763
+ $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.29 -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
1764
+ $(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so.29
1720
1765
  $(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so
1721
1766
  endif
1722
1767
  endif
@@ -1743,6 +1788,7 @@ LIBGRPC_UNSECURE_SRC = \
1743
1788
  src/core/ext/filters/client_channel/client_channel_channelz.cc \
1744
1789
  src/core/ext/filters/client_channel/client_channel_factory.cc \
1745
1790
  src/core/ext/filters/client_channel/client_channel_plugin.cc \
1791
+ src/core/ext/filters/client_channel/client_channel_service_config.cc \
1746
1792
  src/core/ext/filters/client_channel/config_selector.cc \
1747
1793
  src/core/ext/filters/client_channel/dynamic_filters.cc \
1748
1794
  src/core/ext/filters/client_channel/global_subchannel_pool.cc \
@@ -1776,7 +1822,6 @@ LIBGRPC_UNSECURE_SRC = \
1776
1822
  src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc \
1777
1823
  src/core/ext/filters/client_channel/resolver/polling_resolver.cc \
1778
1824
  src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc \
1779
- src/core/ext/filters/client_channel/resolver_result_parsing.cc \
1780
1825
  src/core/ext/filters/client_channel/retry_filter.cc \
1781
1826
  src/core/ext/filters/client_channel/retry_service_config.cc \
1782
1827
  src/core/ext/filters/client_channel/retry_throttle.cc \
@@ -1786,7 +1831,7 @@ LIBGRPC_UNSECURE_SRC = \
1786
1831
  src/core/ext/filters/client_channel/subchannel_stream_client.cc \
1787
1832
  src/core/ext/filters/deadline/deadline_filter.cc \
1788
1833
  src/core/ext/filters/fault_injection/fault_injection_filter.cc \
1789
- src/core/ext/filters/fault_injection/service_config_parser.cc \
1834
+ src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc \
1790
1835
  src/core/ext/filters/http/client/http_client_filter.cc \
1791
1836
  src/core/ext/filters/http/client_authority_filter.cc \
1792
1837
  src/core/ext/filters/http/http_filters_plugin.cc \
@@ -1831,6 +1876,9 @@ LIBGRPC_UNSECURE_SRC = \
1831
1876
  src/core/ext/upb-generated/google/protobuf/timestamp.upb.c \
1832
1877
  src/core/ext/upb-generated/google/protobuf/wrappers.upb.c \
1833
1878
  src/core/ext/upb-generated/google/rpc/status.upb.c \
1879
+ src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c \
1880
+ src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c \
1881
+ src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c \
1834
1882
  src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c \
1835
1883
  src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c \
1836
1884
  src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c \
@@ -1855,19 +1903,31 @@ LIBGRPC_UNSECURE_SRC = \
1855
1903
  src/core/lib/compression/compression_internal.cc \
1856
1904
  src/core/lib/compression/message_compress.cc \
1857
1905
  src/core/lib/config/core_configuration.cc \
1906
+ src/core/lib/debug/event_log.cc \
1907
+ src/core/lib/debug/histogram_view.cc \
1858
1908
  src/core/lib/debug/stats.cc \
1859
1909
  src/core/lib/debug/stats_data.cc \
1860
1910
  src/core/lib/debug/trace.cc \
1861
1911
  src/core/lib/event_engine/channel_args_endpoint_config.cc \
1862
1912
  src/core/lib/event_engine/default_event_engine.cc \
1863
1913
  src/core/lib/event_engine/default_event_engine_factory.cc \
1864
- src/core/lib/event_engine/executor/threaded_executor.cc \
1865
1914
  src/core/lib/event_engine/forkable.cc \
1866
1915
  src/core/lib/event_engine/memory_allocator.cc \
1916
+ src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc \
1917
+ src/core/lib/event_engine/posix_engine/ev_poll_posix.cc \
1918
+ src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc \
1919
+ src/core/lib/event_engine/posix_engine/internal_errqueue.cc \
1920
+ src/core/lib/event_engine/posix_engine/lockfree_event.cc \
1921
+ src/core/lib/event_engine/posix_engine/posix_endpoint.cc \
1867
1922
  src/core/lib/event_engine/posix_engine/posix_engine.cc \
1923
+ src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc \
1868
1924
  src/core/lib/event_engine/posix_engine/timer.cc \
1869
1925
  src/core/lib/event_engine/posix_engine/timer_heap.cc \
1870
1926
  src/core/lib/event_engine/posix_engine/timer_manager.cc \
1927
+ src/core/lib/event_engine/posix_engine/traced_buffer_list.cc \
1928
+ src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc \
1929
+ src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc \
1930
+ src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc \
1871
1931
  src/core/lib/event_engine/resolved_address.cc \
1872
1932
  src/core/lib/event_engine/slice.cc \
1873
1933
  src/core/lib/event_engine/slice_buffer.cc \
@@ -1880,7 +1940,7 @@ LIBGRPC_UNSECURE_SRC = \
1880
1940
  src/core/lib/event_engine/windows/windows_engine.cc \
1881
1941
  src/core/lib/experiments/config.cc \
1882
1942
  src/core/lib/experiments/experiments.cc \
1883
- src/core/lib/gpr/murmur_hash.cc \
1943
+ src/core/lib/gprpp/load_file.cc \
1884
1944
  src/core/lib/gprpp/status_helper.cc \
1885
1945
  src/core/lib/gprpp/time.cc \
1886
1946
  src/core/lib/gprpp/time_averaged_stats.cc \
@@ -1964,11 +2024,11 @@ LIBGRPC_UNSECURE_SRC = \
1964
2024
  src/core/lib/iomgr/wakeup_fd_posix.cc \
1965
2025
  src/core/lib/json/json_object_loader.cc \
1966
2026
  src/core/lib/json/json_reader.cc \
1967
- src/core/lib/json/json_util.cc \
1968
2027
  src/core/lib/json/json_writer.cc \
1969
2028
  src/core/lib/load_balancing/lb_policy.cc \
1970
2029
  src/core/lib/load_balancing/lb_policy_registry.cc \
1971
2030
  src/core/lib/promise/activity.cc \
2031
+ src/core/lib/promise/pipe.cc \
1972
2032
  src/core/lib/promise/sleep.cc \
1973
2033
  src/core/lib/resolver/resolver.cc \
1974
2034
  src/core/lib/resolver/resolver_registry.cc \
@@ -1985,6 +2045,13 @@ LIBGRPC_UNSECURE_SRC = \
1985
2045
  src/core/lib/security/authorization/grpc_server_authz_filter.cc \
1986
2046
  src/core/lib/security/certificate_provider/certificate_provider_registry.cc \
1987
2047
  src/core/lib/security/context/security_context.cc \
2048
+ src/core/lib/security/credentials/alts/check_gcp_environment.cc \
2049
+ src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc \
2050
+ src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc \
2051
+ src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc \
2052
+ src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc \
2053
+ src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc \
2054
+ src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc \
1988
2055
  src/core/lib/security/credentials/call_creds_util.cc \
1989
2056
  src/core/lib/security/credentials/composite/composite_credentials.cc \
1990
2057
  src/core/lib/security/credentials/credentials.cc \
@@ -2008,10 +2075,7 @@ LIBGRPC_UNSECURE_SRC = \
2008
2075
  src/core/lib/slice/b64.cc \
2009
2076
  src/core/lib/slice/percent_encoding.cc \
2010
2077
  src/core/lib/slice/slice.cc \
2011
- src/core/lib/slice/slice_api.cc \
2012
2078
  src/core/lib/slice/slice_buffer.cc \
2013
- src/core/lib/slice/slice_buffer_api.cc \
2014
- src/core/lib/slice/slice_refcount.cc \
2015
2079
  src/core/lib/slice/slice_string_helpers.cc \
2016
2080
  src/core/lib/surface/api_trace.cc \
2017
2081
  src/core/lib/surface/builtins.cc \
@@ -2020,6 +2084,7 @@ LIBGRPC_UNSECURE_SRC = \
2020
2084
  src/core/lib/surface/call.cc \
2021
2085
  src/core/lib/surface/call_details.cc \
2022
2086
  src/core/lib/surface/call_log_batch.cc \
2087
+ src/core/lib/surface/call_trace.cc \
2023
2088
  src/core/lib/surface/channel.cc \
2024
2089
  src/core/lib/surface/channel_init.cc \
2025
2090
  src/core/lib/surface/channel_ping.cc \
@@ -2051,6 +2116,7 @@ LIBGRPC_UNSECURE_SRC = \
2051
2116
  src/core/lib/uri/uri_parser.cc \
2052
2117
  src/core/plugin_registry/grpc_plugin_registry.cc \
2053
2118
  src/core/plugin_registry/grpc_plugin_registry_noextra.cc \
2119
+ src/core/tsi/alts/handshaker/transport_security_common_api.cc \
2054
2120
  src/core/tsi/fake_transport_security.cc \
2055
2121
  src/core/tsi/local_transport_security.cc \
2056
2122
  src/core/tsi/transport_security.cc \
@@ -2074,18 +2140,50 @@ PUBLIC_HEADERS_C += \
2074
2140
  include/grpc/grpc_posix.h \
2075
2141
  include/grpc/grpc_security.h \
2076
2142
  include/grpc/grpc_security_constants.h \
2143
+ include/grpc/impl/codegen/atm.h \
2144
+ include/grpc/impl/codegen/atm_gcc_atomic.h \
2145
+ include/grpc/impl/codegen/atm_gcc_sync.h \
2146
+ include/grpc/impl/codegen/atm_windows.h \
2077
2147
  include/grpc/impl/codegen/byte_buffer.h \
2078
2148
  include/grpc/impl/codegen/byte_buffer_reader.h \
2079
2149
  include/grpc/impl/codegen/compression_types.h \
2080
2150
  include/grpc/impl/codegen/connectivity_state.h \
2151
+ include/grpc/impl/codegen/fork.h \
2152
+ include/grpc/impl/codegen/gpr_slice.h \
2153
+ include/grpc/impl/codegen/gpr_types.h \
2081
2154
  include/grpc/impl/codegen/grpc_types.h \
2155
+ include/grpc/impl/codegen/log.h \
2156
+ include/grpc/impl/codegen/port_platform.h \
2082
2157
  include/grpc/impl/codegen/propagation_bits.h \
2083
2158
  include/grpc/impl/codegen/slice.h \
2084
2159
  include/grpc/impl/codegen/status.h \
2160
+ include/grpc/impl/codegen/sync.h \
2161
+ include/grpc/impl/codegen/sync_abseil.h \
2162
+ include/grpc/impl/codegen/sync_custom.h \
2163
+ include/grpc/impl/codegen/sync_generic.h \
2164
+ include/grpc/impl/codegen/sync_posix.h \
2165
+ include/grpc/impl/codegen/sync_windows.h \
2085
2166
  include/grpc/load_reporting.h \
2086
2167
  include/grpc/slice.h \
2087
2168
  include/grpc/slice_buffer.h \
2088
2169
  include/grpc/status.h \
2170
+ include/grpc/support/alloc.h \
2171
+ include/grpc/support/atm_gcc_atomic.h \
2172
+ include/grpc/support/atm_gcc_sync.h \
2173
+ include/grpc/support/atm_windows.h \
2174
+ include/grpc/support/cpu.h \
2175
+ include/grpc/support/log.h \
2176
+ include/grpc/support/log_windows.h \
2177
+ include/grpc/support/port_platform.h \
2178
+ include/grpc/support/string_util.h \
2179
+ include/grpc/support/sync.h \
2180
+ include/grpc/support/sync_abseil.h \
2181
+ include/grpc/support/sync_custom.h \
2182
+ include/grpc/support/sync_generic.h \
2183
+ include/grpc/support/sync_posix.h \
2184
+ include/grpc/support/sync_windows.h \
2185
+ include/grpc/support/thd_id.h \
2186
+ include/grpc/support/time.h \
2089
2187
  include/grpc/support/workaround_list.h \
2090
2188
 
2091
2189
  LIBGRPC_UNSECURE_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_UNSECURE_SRC))))
@@ -2114,8 +2212,8 @@ $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $
2114
2212
  ifeq ($(SYSTEM),Darwin)
2115
2213
  $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_UNSECURE_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
2116
2214
  else
2117
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc_unsecure.so.28 -o $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_UNSECURE_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
2118
- $(Q) ln -sf $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).so.28
2215
+ $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc_unsecure.so.29 -o $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_UNSECURE_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
2216
+ $(Q) ln -sf $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).so.29
2119
2217
  $(Q) ln -sf $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).so
2120
2218
  endif
2121
2219
  endif
@@ -2521,8 +2619,8 @@ $(LIBDIR)/$(CONFIG)/libupb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBUPB_OB
2521
2619
  ifeq ($(SYSTEM),Darwin)
2522
2620
  $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)upb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libupb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBUPB_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
2523
2621
  else
2524
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libupb.so.28 -o $(LIBDIR)/$(CONFIG)/libupb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBUPB_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
2525
- $(Q) ln -sf $(SHARED_PREFIX)upb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libupb$(SHARED_VERSION_CORE).so.28
2622
+ $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libupb.so.29 -o $(LIBDIR)/$(CONFIG)/libupb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBUPB_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
2623
+ $(Q) ln -sf $(SHARED_PREFIX)upb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libupb$(SHARED_VERSION_CORE).so.29
2526
2624
  $(Q) ln -sf $(SHARED_PREFIX)upb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libupb$(SHARED_VERSION_CORE).so
2527
2625
  endif
2528
2626
  endif
@@ -2794,9 +2892,11 @@ ifneq ($(OPENSSL_DEP),)
2794
2892
  # installing headers to their final destination on the drive. We need this
2795
2893
  # otherwise parallel compilation will fail if a source is compiled first.
2796
2894
  src/core/ext/filters/client_channel/lb_policy/xds/cds.cc: $(OPENSSL_DEP)
2895
+ src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.cc: $(OPENSSL_DEP)
2797
2896
  src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc: $(OPENSSL_DEP)
2798
2897
  src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc: $(OPENSSL_DEP)
2799
2898
  src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc: $(OPENSSL_DEP)
2899
+ src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc: $(OPENSSL_DEP)
2800
2900
  src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc: $(OPENSSL_DEP)
2801
2901
  src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc: $(OPENSSL_DEP)
2802
2902
  src/core/ext/filters/rbac/rbac_filter.cc: $(OPENSSL_DEP)
@@ -2910,9 +3010,6 @@ src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c: $(OPENSSL_DEP
2910
3010
  src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c: $(OPENSSL_DEP)
2911
3011
  src/core/ext/upb-generated/google/api/httpbody.upb.c: $(OPENSSL_DEP)
2912
3012
  src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c: $(OPENSSL_DEP)
2913
- src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c: $(OPENSSL_DEP)
2914
- src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c: $(OPENSSL_DEP)
2915
- src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c: $(OPENSSL_DEP)
2916
3013
  src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c: $(OPENSSL_DEP)
2917
3014
  src/core/ext/upb-generated/udpa/annotations/migrate.upb.c: $(OPENSSL_DEP)
2918
3015
  src/core/ext/upb-generated/udpa/annotations/security.upb.c: $(OPENSSL_DEP)
@@ -3090,24 +3187,17 @@ src/core/ext/xds/xds_http_filters.cc: $(OPENSSL_DEP)
3090
3187
  src/core/ext/xds/xds_http_rbac_filter.cc: $(OPENSSL_DEP)
3091
3188
  src/core/ext/xds/xds_lb_policy_registry.cc: $(OPENSSL_DEP)
3092
3189
  src/core/ext/xds/xds_listener.cc: $(OPENSSL_DEP)
3093
- src/core/ext/xds/xds_resource_type.cc: $(OPENSSL_DEP)
3094
3190
  src/core/ext/xds/xds_route_config.cc: $(OPENSSL_DEP)
3095
3191
  src/core/ext/xds/xds_routing.cc: $(OPENSSL_DEP)
3096
3192
  src/core/ext/xds/xds_server_config_fetcher.cc: $(OPENSSL_DEP)
3097
3193
  src/core/ext/xds/xds_transport_grpc.cc: $(OPENSSL_DEP)
3098
3194
  src/core/lib/http/httpcli_security_connector.cc: $(OPENSSL_DEP)
3195
+ src/core/lib/json/json_util.cc: $(OPENSSL_DEP)
3099
3196
  src/core/lib/matchers/matchers.cc: $(OPENSSL_DEP)
3100
3197
  src/core/lib/security/authorization/grpc_authorization_engine.cc: $(OPENSSL_DEP)
3101
3198
  src/core/lib/security/authorization/matchers.cc: $(OPENSSL_DEP)
3102
3199
  src/core/lib/security/authorization/rbac_policy.cc: $(OPENSSL_DEP)
3103
3200
  src/core/lib/security/credentials/alts/alts_credentials.cc: $(OPENSSL_DEP)
3104
- src/core/lib/security/credentials/alts/check_gcp_environment.cc: $(OPENSSL_DEP)
3105
- src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc: $(OPENSSL_DEP)
3106
- src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc: $(OPENSSL_DEP)
3107
- src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc: $(OPENSSL_DEP)
3108
- src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc: $(OPENSSL_DEP)
3109
- src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc: $(OPENSSL_DEP)
3110
- src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc: $(OPENSSL_DEP)
3111
3201
  src/core/lib/security/credentials/channel_creds_registry_init.cc: $(OPENSSL_DEP)
3112
3202
  src/core/lib/security/credentials/external/aws_external_account_credentials.cc: $(OPENSSL_DEP)
3113
3203
  src/core/lib/security/credentials/external/aws_request_signer.cc: $(OPENSSL_DEP)
@@ -3149,7 +3239,6 @@ src/core/tsi/alts/handshaker/alts_handshaker_client.cc: $(OPENSSL_DEP)
3149
3239
  src/core/tsi/alts/handshaker/alts_shared_resource.cc: $(OPENSSL_DEP)
3150
3240
  src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc: $(OPENSSL_DEP)
3151
3241
  src/core/tsi/alts/handshaker/alts_tsi_utils.cc: $(OPENSSL_DEP)
3152
- src/core/tsi/alts/handshaker/transport_security_common_api.cc: $(OPENSSL_DEP)
3153
3242
  src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc: $(OPENSSL_DEP)
3154
3243
  src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc: $(OPENSSL_DEP)
3155
3244
  src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc: $(OPENSSL_DEP)
@@ -427,16 +427,23 @@ class EventEngine : public std::enable_shared_from_this<EventEngine> {
427
427
 
428
428
  /// Replace gRPC's default EventEngine factory.
429
429
  ///
430
- /// Applications may call \a SetDefaultEventEngineFactory at any time to replace
431
- /// the default factory used within gRPC. EventEngines will be created when
430
+ /// Applications may call \a SetEventEngineFactory at any time to replace the
431
+ /// default factory used within gRPC. EventEngines will be created when
432
432
  /// necessary, when they are otherwise not provided by the application.
433
433
  ///
434
434
  /// To be certain that none of the gRPC-provided built-in EventEngines are
435
435
  /// created, applications must set a custom EventEngine factory method *before*
436
436
  /// grpc is initialized.
437
- void SetDefaultEventEngineFactory(
437
+ void SetEventEngineFactory(
438
438
  absl::AnyInvocable<std::unique_ptr<EventEngine>()> factory);
439
439
 
440
+ /// Reset gRPC's EventEngine factory to the built-in default.
441
+ ///
442
+ /// Applications that have called \a SetEventEngineFactory can remove their
443
+ /// custom factory using this method. The built-in EventEngine factories will be
444
+ /// used going forward. This has no affect on any EventEngines that were created
445
+ /// using the previous factories.
446
+ void EventEngineFactoryReset();
440
447
  /// Create an EventEngine using the default factory.
441
448
  std::unique_ptr<EventEngine> CreateEventEngine();
442
449
 
@@ -26,6 +26,7 @@
26
26
  #include "absl/utility/utility.h"
27
27
 
28
28
  #include <grpc/event_engine/slice.h>
29
+ #include <grpc/impl/codegen/slice.h>
29
30
  #include <grpc/slice.h>
30
31
  #include <grpc/slice_buffer.h>
31
32
  #include <grpc/support/log.h>
@@ -67,6 +68,11 @@ class SliceBuffer {
67
68
  return *this;
68
69
  }
69
70
 
71
+ /// Swap the contents of this SliceBuffer with the contents of another.
72
+ void Swap(SliceBuffer& other) {
73
+ grpc_slice_buffer_swap(&slice_buffer_, &other.slice_buffer_);
74
+ }
75
+
70
76
  /// Appends a new slice into the SliceBuffer and makes an attempt to merge
71
77
  /// this slice with the last slice in the SliceBuffer.
72
78
  void Append(Slice slice);
@@ -88,6 +94,17 @@ class SliceBuffer {
88
94
  grpc_slice_buffer_move_first_into_buffer(&slice_buffer_, n, dst);
89
95
  }
90
96
 
97
+ /// Removes/deletes the last n bytes in the SliceBuffer and add it to the
98
+ /// other SliceBuffer
99
+ void MoveLastNBytesIntoSliceBuffer(size_t n, SliceBuffer& other) {
100
+ grpc_slice_buffer_trim_end(&slice_buffer_, n, &other.slice_buffer_);
101
+ }
102
+
103
+ /// Move the first n bytes of the SliceBuffer into the other SliceBuffer
104
+ void MoveFirstNBytesIntoSliceBuffer(size_t n, SliceBuffer& other) {
105
+ grpc_slice_buffer_move_first(&slice_buffer_, n, &other.slice_buffer_);
106
+ }
107
+
91
108
  /// Removes and unrefs all slices in the SliceBuffer.
92
109
  void Clear() { grpc_slice_buffer_reset_and_unref(&slice_buffer_); }
93
110
 
data/include/grpc/grpc.h CHANGED
@@ -48,16 +48,6 @@ GRPCAPI void grpc_metadata_array_destroy(grpc_metadata_array* array);
48
48
  GRPCAPI void grpc_call_details_init(grpc_call_details* details);
49
49
  GRPCAPI void grpc_call_details_destroy(grpc_call_details* details);
50
50
 
51
- /** Registers a plugin to be initialized and destroyed with the library.
52
-
53
- The \a init and \a destroy functions will be invoked as part of
54
- \a grpc_init() and \a grpc_shutdown(), respectively.
55
- Note that these functions can be invoked an arbitrary number of times
56
- (and hence so will \a init and \a destroy).
57
- It is safe to pass NULL to either argument. Plugins are destroyed in
58
- the reverse order they were initialized. */
59
- GRPCAPI void grpc_register_plugin(void (*init)(void), void (*destroy)(void));
60
-
61
51
  /** Initialize the grpc library.
62
52
 
63
53
  After it's called, a matching invocation to grpc_shutdown() is expected.
@@ -282,11 +282,7 @@ typedef struct {
282
282
  #define GRPC_SSL_SESSION_CACHE_ARG "grpc.ssl_session_cache"
283
283
  /** If non-zero, it will determine the maximum frame size used by TSI's frame
284
284
  * protector.
285
- *
286
- * NOTE: Be aware that using a large "max_frame_size" is memory inefficient
287
- * for non-zerocopy protectors. Also, increasing this value above 1MiB
288
- * can break old binaries that don't support larger than 1MiB frame
289
- * size. */
285
+ */
290
286
  #define GRPC_ARG_TSI_MAX_FRAME_SIZE "grpc.tsi.max_frame_size"
291
287
  /** Maximum metadata size, in bytes. Note this limit applies to the max sum of
292
288
  all metadata key-value entries in a batch of headers. */
@@ -234,9 +234,6 @@
234
234
  #define GPR_CPU_POSIX 1
235
235
  #define GPR_POSIX_CRASH_HANDLER 1
236
236
  #endif
237
- #if !(defined(__has_feature) && __has_feature(cxx_thread_local))
238
- #define GPR_PTHREAD_TLS 1
239
- #endif
240
237
  #define GPR_APPLE 1
241
238
  #define GPR_GCC_ATOMIC 1
242
239
  #define GPR_POSIX_LOG 1