grpc 1.50.0-x86_64-linux → 1.51.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 (464) 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/2.6/grpc_c.so +0 -0
  428. data/src/ruby/lib/grpc/2.7/grpc_c.so +0 -0
  429. data/src/ruby/lib/grpc/3.0/grpc_c.so +0 -0
  430. data/src/ruby/lib/grpc/3.1/grpc_c.so +0 -0
  431. data/src/ruby/lib/grpc/grpc_c.so +0 -0
  432. data/src/ruby/lib/grpc/version.rb +1 -1
  433. data/src/ruby/spec/channel_spec.rb +0 -43
  434. data/src/ruby/spec/generic/active_call_spec.rb +12 -3
  435. data/third_party/abseil-cpp/absl/cleanup/cleanup.h +140 -0
  436. data/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h +100 -0
  437. data/third_party/zlib/compress.c +3 -3
  438. data/third_party/zlib/crc32.c +21 -12
  439. data/third_party/zlib/deflate.c +112 -106
  440. data/third_party/zlib/deflate.h +2 -2
  441. data/third_party/zlib/gzlib.c +1 -1
  442. data/third_party/zlib/gzread.c +3 -5
  443. data/third_party/zlib/gzwrite.c +1 -1
  444. data/third_party/zlib/infback.c +10 -7
  445. data/third_party/zlib/inflate.c +5 -2
  446. data/third_party/zlib/inftrees.c +2 -2
  447. data/third_party/zlib/inftrees.h +1 -1
  448. data/third_party/zlib/trees.c +61 -62
  449. data/third_party/zlib/uncompr.c +2 -2
  450. data/third_party/zlib/zconf.h +16 -3
  451. data/third_party/zlib/zlib.h +10 -10
  452. data/third_party/zlib/zutil.c +9 -7
  453. data/third_party/zlib/zutil.h +1 -0
  454. metadata +55 -18
  455. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +0 -188
  456. data/src/core/ext/filters/fault_injection/service_config_parser.cc +0 -187
  457. data/src/core/lib/event_engine/executor/threaded_executor.h +0 -44
  458. data/src/core/lib/gpr/murmur_hash.cc +0 -82
  459. data/src/core/lib/gpr/murmur_hash.h +0 -29
  460. data/src/core/lib/gpr/tls.h +0 -156
  461. data/src/core/lib/promise/call_push_pull.h +0 -148
  462. data/src/core/lib/slice/slice_api.cc +0 -39
  463. data/src/core/lib/slice/slice_buffer_api.cc +0 -35
  464. data/src/core/lib/slice/slice_refcount_base.h +0 -60
@@ -61,9 +61,11 @@ uLong ZEXPORT zlibCompileFlags()
61
61
  #ifdef ZLIB_DEBUG
62
62
  flags += 1 << 8;
63
63
  #endif
64
+ /*
64
65
  #if defined(ASMV) || defined(ASMINF)
65
66
  flags += 1 << 9;
66
67
  #endif
68
+ */
67
69
  #ifdef ZLIB_WINAPI
68
70
  flags += 1 << 10;
69
71
  #endif
@@ -119,7 +121,7 @@ uLong ZEXPORT zlibCompileFlags()
119
121
  # endif
120
122
  int ZLIB_INTERNAL z_verbose = verbose;
121
123
 
122
- void ZLIB_INTERNAL z_error (m)
124
+ void ZLIB_INTERNAL z_error(m)
123
125
  char *m;
124
126
  {
125
127
  fprintf(stderr, "%s\n", m);
@@ -214,7 +216,7 @@ local ptr_table table[MAX_PTR];
214
216
  * a protected system like OS/2. Use Microsoft C instead.
215
217
  */
216
218
 
217
- voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, unsigned items, unsigned size)
219
+ voidpf ZLIB_INTERNAL zcalloc(voidpf opaque, unsigned items, unsigned size)
218
220
  {
219
221
  voidpf buf;
220
222
  ulg bsize = (ulg)items*size;
@@ -240,7 +242,7 @@ voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, unsigned items, unsigned size)
240
242
  return buf;
241
243
  }
242
244
 
243
- void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
245
+ void ZLIB_INTERNAL zcfree(voidpf opaque, voidpf ptr)
244
246
  {
245
247
  int n;
246
248
 
@@ -277,13 +279,13 @@ void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
277
279
  # define _hfree hfree
278
280
  #endif
279
281
 
280
- voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, uInt items, uInt size)
282
+ voidpf ZLIB_INTERNAL zcalloc(voidpf opaque, uInt items, uInt size)
281
283
  {
282
284
  (void)opaque;
283
285
  return _halloc((long)items, size);
284
286
  }
285
287
 
286
- void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
288
+ void ZLIB_INTERNAL zcfree(voidpf opaque, voidpf ptr)
287
289
  {
288
290
  (void)opaque;
289
291
  _hfree(ptr);
@@ -302,7 +304,7 @@ extern voidp calloc OF((uInt items, uInt size));
302
304
  extern void free OF((voidpf ptr));
303
305
  #endif
304
306
 
305
- voidpf ZLIB_INTERNAL zcalloc (opaque, items, size)
307
+ voidpf ZLIB_INTERNAL zcalloc(opaque, items, size)
306
308
  voidpf opaque;
307
309
  unsigned items;
308
310
  unsigned size;
@@ -312,7 +314,7 @@ voidpf ZLIB_INTERNAL zcalloc (opaque, items, size)
312
314
  (voidpf)calloc(items, size);
313
315
  }
314
316
 
315
- void ZLIB_INTERNAL zcfree (opaque, ptr)
317
+ void ZLIB_INTERNAL zcfree(opaque, ptr)
316
318
  voidpf opaque;
317
319
  voidpf ptr;
318
320
  {
@@ -193,6 +193,7 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
193
193
  (!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0)
194
194
  ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t));
195
195
  ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
196
+ ZEXTERN uLong ZEXPORT crc32_combine_gen64 OF((z_off_t));
196
197
  #endif
197
198
 
198
199
  /* common defaults */
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.50.0
4
+ version: 1.51.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-10-14 00:00:00.000000000 Z
11
+ date: 2022-11-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-protobuf
@@ -291,6 +291,8 @@ files:
291
291
  - src/core/ext/filters/client_channel/client_channel_factory.cc
292
292
  - src/core/ext/filters/client_channel/client_channel_factory.h
293
293
  - src/core/ext/filters/client_channel/client_channel_plugin.cc
294
+ - src/core/ext/filters/client_channel/client_channel_service_config.cc
295
+ - src/core/ext/filters/client_channel/client_channel_service_config.h
294
296
  - src/core/ext/filters/client_channel/config_selector.cc
295
297
  - src/core/ext/filters/client_channel/config_selector.h
296
298
  - src/core/ext/filters/client_channel/connector.h
@@ -330,11 +332,13 @@ files:
330
332
  - src/core/ext/filters/client_channel/lb_policy/subchannel_list.h
331
333
  - src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc
332
334
  - src/core/ext/filters/client_channel/lb_policy/xds/cds.cc
333
- - src/core/ext/filters/client_channel/lb_policy/xds/xds.h
335
+ - src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.cc
336
+ - src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.h
334
337
  - src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h
335
338
  - src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc
336
339
  - src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc
337
340
  - src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc
341
+ - src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc
338
342
  - src/core/ext/filters/client_channel/local_subchannel_pool.cc
339
343
  - src/core/ext/filters/client_channel/local_subchannel_pool.h
340
344
  - src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc
@@ -357,8 +361,6 @@ files:
357
361
  - src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc
358
362
  - src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc
359
363
  - src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h
360
- - src/core/ext/filters/client_channel/resolver_result_parsing.cc
361
- - src/core/ext/filters/client_channel/resolver_result_parsing.h
362
364
  - src/core/ext/filters/client_channel/retry_filter.cc
363
365
  - src/core/ext/filters/client_channel/retry_filter.h
364
366
  - src/core/ext/filters/client_channel/retry_service_config.cc
@@ -377,8 +379,8 @@ files:
377
379
  - src/core/ext/filters/deadline/deadline_filter.h
378
380
  - src/core/ext/filters/fault_injection/fault_injection_filter.cc
379
381
  - src/core/ext/filters/fault_injection/fault_injection_filter.h
380
- - src/core/ext/filters/fault_injection/service_config_parser.cc
381
- - src/core/ext/filters/fault_injection/service_config_parser.h
382
+ - src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc
383
+ - src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h
382
384
  - src/core/ext/filters/http/client/http_client_filter.cc
383
385
  - src/core/ext/filters/http/client/http_client_filter.h
384
386
  - src/core/ext/filters/http/client_authority_filter.cc
@@ -1063,7 +1065,6 @@ files:
1063
1065
  - src/core/ext/xds/xds_lb_policy_registry.h
1064
1066
  - src/core/ext/xds/xds_listener.cc
1065
1067
  - src/core/ext/xds/xds_listener.h
1066
- - src/core/ext/xds/xds_resource_type.cc
1067
1068
  - src/core/ext/xds/xds_resource_type.h
1068
1069
  - src/core/ext/xds/xds_resource_type_impl.h
1069
1070
  - src/core/ext/xds/xds_route_config.cc
@@ -1114,6 +1115,10 @@ files:
1114
1115
  - src/core/lib/compression/message_compress.h
1115
1116
  - src/core/lib/config/core_configuration.cc
1116
1117
  - src/core/lib/config/core_configuration.h
1118
+ - src/core/lib/debug/event_log.cc
1119
+ - src/core/lib/debug/event_log.h
1120
+ - src/core/lib/debug/histogram_view.cc
1121
+ - src/core/lib/debug/histogram_view.h
1117
1122
  - src/core/lib/debug/stats.cc
1118
1123
  - src/core/lib/debug/stats.h
1119
1124
  - src/core/lib/debug/stats_data.cc
@@ -1122,26 +1127,50 @@ files:
1122
1127
  - src/core/lib/debug/trace.h
1123
1128
  - src/core/lib/event_engine/channel_args_endpoint_config.cc
1124
1129
  - src/core/lib/event_engine/channel_args_endpoint_config.h
1130
+ - src/core/lib/event_engine/common_closures.h
1125
1131
  - src/core/lib/event_engine/default_event_engine.cc
1126
1132
  - src/core/lib/event_engine/default_event_engine.h
1127
1133
  - src/core/lib/event_engine/default_event_engine_factory.cc
1128
1134
  - src/core/lib/event_engine/default_event_engine_factory.h
1129
1135
  - src/core/lib/event_engine/executor/executor.h
1130
- - src/core/lib/event_engine/executor/threaded_executor.cc
1131
- - src/core/lib/event_engine/executor/threaded_executor.h
1132
1136
  - src/core/lib/event_engine/forkable.cc
1133
1137
  - src/core/lib/event_engine/forkable.h
1134
1138
  - src/core/lib/event_engine/handle_containers.h
1135
1139
  - src/core/lib/event_engine/memory_allocator.cc
1136
1140
  - src/core/lib/event_engine/poller.h
1141
+ - src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc
1142
+ - src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h
1143
+ - src/core/lib/event_engine/posix_engine/ev_poll_posix.cc
1144
+ - src/core/lib/event_engine/posix_engine/ev_poll_posix.h
1145
+ - src/core/lib/event_engine/posix_engine/event_poller.h
1146
+ - src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc
1147
+ - src/core/lib/event_engine/posix_engine/event_poller_posix_default.h
1148
+ - src/core/lib/event_engine/posix_engine/internal_errqueue.cc
1149
+ - src/core/lib/event_engine/posix_engine/internal_errqueue.h
1150
+ - src/core/lib/event_engine/posix_engine/lockfree_event.cc
1151
+ - src/core/lib/event_engine/posix_engine/lockfree_event.h
1152
+ - src/core/lib/event_engine/posix_engine/posix_endpoint.cc
1153
+ - src/core/lib/event_engine/posix_engine/posix_endpoint.h
1137
1154
  - src/core/lib/event_engine/posix_engine/posix_engine.cc
1138
1155
  - src/core/lib/event_engine/posix_engine/posix_engine.h
1156
+ - src/core/lib/event_engine/posix_engine/posix_engine_closure.h
1157
+ - src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc
1158
+ - src/core/lib/event_engine/posix_engine/tcp_socket_utils.h
1139
1159
  - src/core/lib/event_engine/posix_engine/timer.cc
1140
1160
  - src/core/lib/event_engine/posix_engine/timer.h
1141
1161
  - src/core/lib/event_engine/posix_engine/timer_heap.cc
1142
1162
  - src/core/lib/event_engine/posix_engine/timer_heap.h
1143
1163
  - src/core/lib/event_engine/posix_engine/timer_manager.cc
1144
1164
  - src/core/lib/event_engine/posix_engine/timer_manager.h
1165
+ - src/core/lib/event_engine/posix_engine/traced_buffer_list.cc
1166
+ - src/core/lib/event_engine/posix_engine/traced_buffer_list.h
1167
+ - src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc
1168
+ - src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h
1169
+ - src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc
1170
+ - src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h
1171
+ - src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h
1172
+ - src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc
1173
+ - src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h
1145
1174
  - src/core/lib/event_engine/resolved_address.cc
1146
1175
  - src/core/lib/event_engine/slice.cc
1147
1176
  - src/core/lib/event_engine/slice_buffer.cc
@@ -1176,8 +1205,6 @@ files:
1176
1205
  - src/core/lib/gpr/log_linux.cc
1177
1206
  - src/core/lib/gpr/log_posix.cc
1178
1207
  - src/core/lib/gpr/log_windows.cc
1179
- - src/core/lib/gpr/murmur_hash.cc
1180
- - src/core/lib/gpr/murmur_hash.h
1181
1208
  - src/core/lib/gpr/spinlock.h
1182
1209
  - src/core/lib/gpr/string.cc
1183
1210
  - src/core/lib/gpr/string.h
@@ -1193,7 +1220,6 @@ files:
1193
1220
  - src/core/lib/gpr/time_precise.cc
1194
1221
  - src/core/lib/gpr/time_precise.h
1195
1222
  - src/core/lib/gpr/time_windows.cc
1196
- - src/core/lib/gpr/tls.h
1197
1223
  - src/core/lib/gpr/tmpfile.h
1198
1224
  - src/core/lib/gpr/tmpfile_msys.cc
1199
1225
  - src/core/lib/gpr/tmpfile_posix.cc
@@ -1222,6 +1248,8 @@ files:
1222
1248
  - src/core/lib/gprpp/global_config_generic.h
1223
1249
  - src/core/lib/gprpp/host_port.cc
1224
1250
  - src/core/lib/gprpp/host_port.h
1251
+ - src/core/lib/gprpp/load_file.cc
1252
+ - src/core/lib/gprpp/load_file.h
1225
1253
  - src/core/lib/gprpp/manual_constructor.h
1226
1254
  - src/core/lib/gprpp/match.h
1227
1255
  - src/core/lib/gprpp/memory.h
@@ -1232,6 +1260,7 @@ files:
1232
1260
  - src/core/lib/gprpp/orphanable.h
1233
1261
  - src/core/lib/gprpp/overload.h
1234
1262
  - src/core/lib/gprpp/packed_table.h
1263
+ - src/core/lib/gprpp/per_cpu.h
1235
1264
  - src/core/lib/gprpp/ref_counted.h
1236
1265
  - src/core/lib/gprpp/ref_counted_ptr.h
1237
1266
  - src/core/lib/gprpp/single_set_ptr.h
@@ -1241,6 +1270,8 @@ files:
1241
1270
  - src/core/lib/gprpp/stat_windows.cc
1242
1271
  - src/core/lib/gprpp/status_helper.cc
1243
1272
  - src/core/lib/gprpp/status_helper.h
1273
+ - src/core/lib/gprpp/strerror.cc
1274
+ - src/core/lib/gprpp/strerror.h
1244
1275
  - src/core/lib/gprpp/sync.h
1245
1276
  - src/core/lib/gprpp/table.h
1246
1277
  - src/core/lib/gprpp/tchar.cc
@@ -1405,6 +1436,7 @@ files:
1405
1436
  - src/core/lib/iomgr/wakeup_fd_posix.h
1406
1437
  - src/core/lib/json/json.h
1407
1438
  - src/core/lib/json/json_args.h
1439
+ - src/core/lib/json/json_channel_args.h
1408
1440
  - src/core/lib/json/json_object_loader.cc
1409
1441
  - src/core/lib/json/json_object_loader.h
1410
1442
  - src/core/lib/json/json_reader.cc
@@ -1422,23 +1454,28 @@ files:
1422
1454
  - src/core/lib/promise/activity.cc
1423
1455
  - src/core/lib/promise/activity.h
1424
1456
  - src/core/lib/promise/arena_promise.h
1425
- - src/core/lib/promise/call_push_pull.h
1426
1457
  - src/core/lib/promise/context.h
1427
1458
  - src/core/lib/promise/detail/basic_seq.h
1428
1459
  - src/core/lib/promise/detail/promise_factory.h
1429
1460
  - src/core/lib/promise/detail/promise_like.h
1430
1461
  - src/core/lib/promise/detail/status.h
1462
+ - src/core/lib/promise/detail/switch.h
1431
1463
  - src/core/lib/promise/exec_ctx_wakeup_scheduler.h
1464
+ - src/core/lib/promise/for_each.h
1432
1465
  - src/core/lib/promise/intra_activity_waiter.h
1433
1466
  - src/core/lib/promise/latch.h
1434
1467
  - src/core/lib/promise/loop.h
1435
1468
  - src/core/lib/promise/map.h
1469
+ - src/core/lib/promise/map_pipe.h
1470
+ - src/core/lib/promise/pipe.cc
1471
+ - src/core/lib/promise/pipe.h
1436
1472
  - src/core/lib/promise/poll.h
1437
1473
  - src/core/lib/promise/promise.h
1438
1474
  - src/core/lib/promise/race.h
1439
1475
  - src/core/lib/promise/seq.h
1440
1476
  - src/core/lib/promise/sleep.cc
1441
1477
  - src/core/lib/promise/sleep.h
1478
+ - src/core/lib/promise/try_concurrently.h
1442
1479
  - src/core/lib/promise/try_seq.h
1443
1480
  - src/core/lib/resolver/resolver.cc
1444
1481
  - src/core/lib/resolver/resolver.h
@@ -1590,14 +1627,10 @@ files:
1590
1627
  - src/core/lib/slice/percent_encoding.h
1591
1628
  - src/core/lib/slice/slice.cc
1592
1629
  - src/core/lib/slice/slice.h
1593
- - src/core/lib/slice/slice_api.cc
1594
1630
  - src/core/lib/slice/slice_buffer.cc
1595
1631
  - src/core/lib/slice/slice_buffer.h
1596
- - src/core/lib/slice/slice_buffer_api.cc
1597
1632
  - src/core/lib/slice/slice_internal.h
1598
- - src/core/lib/slice/slice_refcount.cc
1599
1633
  - src/core/lib/slice/slice_refcount.h
1600
- - src/core/lib/slice/slice_refcount_base.h
1601
1634
  - src/core/lib/slice/slice_string_helpers.cc
1602
1635
  - src/core/lib/slice/slice_string_helpers.h
1603
1636
  - src/core/lib/surface/api_trace.cc
@@ -1611,6 +1644,8 @@ files:
1611
1644
  - src/core/lib/surface/call_details.cc
1612
1645
  - src/core/lib/surface/call_log_batch.cc
1613
1646
  - src/core/lib/surface/call_test_only.h
1647
+ - src/core/lib/surface/call_trace.cc
1648
+ - src/core/lib/surface/call_trace.h
1614
1649
  - src/core/lib/surface/channel.cc
1615
1650
  - src/core/lib/surface/channel.h
1616
1651
  - src/core/lib/surface/channel_init.cc
@@ -1909,6 +1944,8 @@ files:
1909
1944
  - third_party/abseil-cpp/absl/base/policy_checks.h
1910
1945
  - third_party/abseil-cpp/absl/base/port.h
1911
1946
  - third_party/abseil-cpp/absl/base/thread_annotations.h
1947
+ - third_party/abseil-cpp/absl/cleanup/cleanup.h
1948
+ - third_party/abseil-cpp/absl/cleanup/internal/cleanup.h
1912
1949
  - third_party/abseil-cpp/absl/container/fixed_array.h
1913
1950
  - third_party/abseil-cpp/absl/container/flat_hash_map.h
1914
1951
  - third_party/abseil-cpp/absl/container/flat_hash_set.h
@@ -1,188 +0,0 @@
1
- //
2
- // Copyright 2018 gRPC authors.
3
- //
4
- // Licensed under the Apache License, Version 2.0 (the "License");
5
- // you may not use this file except in compliance with the License.
6
- // You may obtain a copy of the License at
7
- //
8
- // http://www.apache.org/licenses/LICENSE-2.0
9
- //
10
- // Unless required by applicable law or agreed to in writing, software
11
- // distributed under the License is distributed on an "AS IS" BASIS,
12
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- // See the License for the specific language governing permissions and
14
- // limitations under the License.
15
- //
16
-
17
- #include <grpc/support/port_platform.h>
18
-
19
- #include "src/core/ext/filters/client_channel/resolver_result_parsing.h"
20
-
21
- #include <ctype.h>
22
-
23
- #include <algorithm>
24
- #include <map>
25
- #include <vector>
26
-
27
- #include "absl/memory/memory.h"
28
- #include "absl/status/status.h"
29
- #include "absl/status/statusor.h"
30
- #include "absl/strings/str_cat.h"
31
- #include "absl/types/optional.h"
32
-
33
- #include <grpc/support/log.h>
34
-
35
- #include "src/core/lib/iomgr/error.h"
36
- #include "src/core/lib/json/json_util.h"
37
- #include "src/core/lib/load_balancing/lb_policy_registry.h"
38
-
39
- // As per the retry design, we do not allow more than 5 retry attempts.
40
- #define MAX_MAX_RETRY_ATTEMPTS 5
41
-
42
- namespace grpc_core {
43
- namespace internal {
44
-
45
- size_t ClientChannelServiceConfigParser::ParserIndex() {
46
- return CoreConfiguration::Get().service_config_parser().GetParserIndex(
47
- parser_name());
48
- }
49
-
50
- void ClientChannelServiceConfigParser::Register(
51
- CoreConfiguration::Builder* builder) {
52
- builder->service_config_parser()->RegisterParser(
53
- absl::make_unique<ClientChannelServiceConfigParser>());
54
- }
55
-
56
- namespace {
57
-
58
- absl::optional<std::string> ParseHealthCheckConfig(const Json& field,
59
- grpc_error_handle* error) {
60
- GPR_DEBUG_ASSERT(error != nullptr && GRPC_ERROR_IS_NONE(*error));
61
- if (field.type() != Json::Type::OBJECT) {
62
- *error = GRPC_ERROR_CREATE_FROM_STATIC_STRING(
63
- "field:healthCheckConfig error:should be of type object");
64
- return absl::nullopt;
65
- }
66
- std::vector<grpc_error_handle> error_list;
67
- absl::optional<std::string> service_name;
68
- auto it = field.object_value().find("serviceName");
69
- if (it != field.object_value().end()) {
70
- if (it->second.type() != Json::Type::STRING) {
71
- error_list.push_back(GRPC_ERROR_CREATE_FROM_STATIC_STRING(
72
- "field:serviceName error:should be of type string"));
73
- } else {
74
- service_name = it->second.string_value();
75
- }
76
- }
77
- *error =
78
- GRPC_ERROR_CREATE_FROM_VECTOR("field:healthCheckConfig", &error_list);
79
- return service_name;
80
- }
81
-
82
- } // namespace
83
-
84
- absl::StatusOr<std::unique_ptr<ServiceConfigParser::ParsedConfig>>
85
- ClientChannelServiceConfigParser::ParseGlobalParams(const ChannelArgs& /*args*/,
86
- const Json& json) {
87
- std::vector<grpc_error_handle> error_list;
88
- const auto& lb_policy_registry =
89
- CoreConfiguration::Get().lb_policy_registry();
90
- // Parse LB config.
91
- RefCountedPtr<LoadBalancingPolicy::Config> parsed_lb_config;
92
- auto it = json.object_value().find("loadBalancingConfig");
93
- if (it != json.object_value().end()) {
94
- auto config = lb_policy_registry.ParseLoadBalancingConfig(it->second);
95
- if (!config.ok()) {
96
- error_list.push_back(GRPC_ERROR_CREATE_FROM_CPP_STRING(absl::StrCat(
97
- "field:loadBalancingConfig error:", config.status().message())));
98
- } else {
99
- parsed_lb_config = std::move(*config);
100
- }
101
- }
102
- // Parse deprecated LB policy.
103
- std::string lb_policy_name;
104
- it = json.object_value().find("loadBalancingPolicy");
105
- if (it != json.object_value().end()) {
106
- if (it->second.type() != Json::Type::STRING) {
107
- error_list.push_back(GRPC_ERROR_CREATE_FROM_STATIC_STRING(
108
- "field:loadBalancingPolicy error:type should be string"));
109
- } else {
110
- lb_policy_name = it->second.string_value();
111
- for (size_t i = 0; i < lb_policy_name.size(); ++i) {
112
- lb_policy_name[i] = tolower(lb_policy_name[i]);
113
- }
114
- bool requires_config = false;
115
- if (!lb_policy_registry.LoadBalancingPolicyExists(lb_policy_name.c_str(),
116
- &requires_config)) {
117
- error_list.push_back(GRPC_ERROR_CREATE_FROM_STATIC_STRING(
118
- "field:loadBalancingPolicy error:Unknown lb policy"));
119
- } else if (requires_config) {
120
- error_list.push_back(GRPC_ERROR_CREATE_FROM_CPP_STRING(
121
- absl::StrCat("field:loadBalancingPolicy error:", lb_policy_name,
122
- " requires a config. Please use loadBalancingConfig "
123
- "instead.")));
124
- }
125
- }
126
- }
127
- // Parse health check config.
128
- absl::optional<std::string> health_check_service_name;
129
- it = json.object_value().find("healthCheckConfig");
130
- if (it != json.object_value().end()) {
131
- grpc_error_handle parsing_error = GRPC_ERROR_NONE;
132
- health_check_service_name =
133
- ParseHealthCheckConfig(it->second, &parsing_error);
134
- if (!GRPC_ERROR_IS_NONE(parsing_error)) {
135
- error_list.push_back(parsing_error);
136
- }
137
- }
138
- if (!error_list.empty()) {
139
- grpc_error_handle error = GRPC_ERROR_CREATE_FROM_VECTOR(
140
- "Client channel global parser", &error_list);
141
- absl::Status status = absl::InvalidArgumentError(
142
- absl::StrCat("error parsing client channel global parameters: ",
143
- grpc_error_std_string(error)));
144
- GRPC_ERROR_UNREF(error);
145
- return status;
146
- }
147
- return absl::make_unique<ClientChannelGlobalParsedConfig>(
148
- std::move(parsed_lb_config), std::move(lb_policy_name),
149
- std::move(health_check_service_name));
150
- }
151
-
152
- absl::StatusOr<std::unique_ptr<ServiceConfigParser::ParsedConfig>>
153
- ClientChannelServiceConfigParser::ParsePerMethodParams(
154
- const ChannelArgs& /*args*/, const Json& json) {
155
- std::vector<grpc_error_handle> error_list;
156
- // Parse waitForReady.
157
- absl::optional<bool> wait_for_ready;
158
- auto it = json.object_value().find("waitForReady");
159
- if (it != json.object_value().end()) {
160
- if (it->second.type() == Json::Type::JSON_TRUE) {
161
- wait_for_ready.emplace(true);
162
- } else if (it->second.type() == Json::Type::JSON_FALSE) {
163
- wait_for_ready.emplace(false);
164
- } else {
165
- error_list.push_back(GRPC_ERROR_CREATE_FROM_STATIC_STRING(
166
- "field:waitForReady error:Type should be true/false"));
167
- }
168
- }
169
- // Parse timeout.
170
- Duration timeout;
171
- ParseJsonObjectFieldAsDuration(json.object_value(), "timeout", &timeout,
172
- &error_list, false);
173
- // Return result.
174
- if (!error_list.empty()) {
175
- grpc_error_handle error =
176
- GRPC_ERROR_CREATE_FROM_VECTOR("Client channel parser", &error_list);
177
- absl::Status status = absl::InvalidArgumentError(
178
- absl::StrCat("error parsing client channel method parameters: ",
179
- grpc_error_std_string(error)));
180
- GRPC_ERROR_UNREF(error);
181
- return status;
182
- }
183
- return absl::make_unique<ClientChannelMethodParsedConfig>(timeout,
184
- wait_for_ready);
185
- }
186
-
187
- } // namespace internal
188
- } // namespace grpc_core