grpc 1.49.1 → 1.50.0.pre1

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 (270) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +54 -153
  3. data/include/grpc/event_engine/endpoint_config.h +11 -5
  4. data/include/grpc/event_engine/event_engine.h +1 -1
  5. data/include/grpc/impl/codegen/atm_gcc_atomic.h +19 -28
  6. data/include/grpc/impl/codegen/atm_gcc_sync.h +0 -2
  7. data/include/grpc/impl/codegen/atm_windows.h +0 -2
  8. data/include/grpc/impl/codegen/grpc_types.h +6 -0
  9. data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +3 -3
  10. data/src/core/ext/filters/client_channel/backup_poller.cc +4 -6
  11. data/src/core/ext/filters/client_channel/client_channel.cc +33 -22
  12. data/src/core/ext/filters/client_channel/client_channel.h +1 -1
  13. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +0 -16
  14. data/src/core/ext/filters/client_channel/http_proxy.cc +12 -19
  15. data/src/core/ext/filters/client_channel/http_proxy.h +3 -2
  16. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +6 -4
  17. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h +5 -4
  18. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +0 -2
  19. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +112 -96
  20. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc +20 -11
  21. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +106 -108
  22. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +16 -0
  23. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +20 -13
  24. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +165 -257
  25. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +218 -231
  26. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +10 -6
  27. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +389 -444
  28. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +16 -16
  29. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +8 -13
  30. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +84 -96
  31. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +38 -37
  32. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +106 -186
  33. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +106 -93
  34. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +170 -218
  35. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +2 -2
  36. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +1 -1
  37. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +13 -15
  38. data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +84 -37
  39. data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +11 -0
  40. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +1 -0
  41. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +5 -3
  42. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +5 -4
  43. data/src/core/ext/filters/client_channel/retry_filter.cc +25 -29
  44. data/src/core/ext/filters/client_channel/subchannel.cc +38 -33
  45. data/src/core/ext/filters/client_channel/subchannel.h +12 -3
  46. data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +1 -2
  47. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +23 -16
  48. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +8 -0
  49. data/src/core/ext/filters/http/client/http_client_filter.cc +1 -2
  50. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +2 -4
  51. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +0 -2
  52. data/src/core/ext/filters/http/server/http_server_filter.cc +1 -2
  53. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +12 -8
  54. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +32 -26
  55. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +1 -1
  56. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +25 -130
  57. data/src/core/ext/transport/chttp2/transport/decode_huff.cc +287 -0
  58. data/src/core/ext/transport/chttp2/transport/decode_huff.h +1018 -0
  59. data/src/core/ext/transport/chttp2/transport/flow_control.cc +83 -51
  60. data/src/core/ext/transport/chttp2/transport/flow_control.h +11 -6
  61. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +1 -2
  62. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +2 -20
  63. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +28 -28
  64. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +1 -10
  65. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +11 -6
  66. data/src/core/ext/transport/chttp2/transport/internal.h +2 -0
  67. data/src/core/ext/transport/chttp2/transport/parsing.cc +44 -0
  68. data/src/core/ext/transport/chttp2/transport/writing.cc +3 -14
  69. data/src/core/ext/transport/inproc/inproc_transport.cc +1 -3
  70. data/src/core/ext/xds/certificate_provider_store.cc +63 -3
  71. data/src/core/ext/xds/certificate_provider_store.h +9 -1
  72. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +5 -5
  73. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +1 -1
  74. data/src/core/ext/xds/xds_api.cc +21 -17
  75. data/src/core/ext/xds/xds_api.h +7 -0
  76. data/src/core/ext/xds/xds_bootstrap.cc +5 -537
  77. data/src/core/ext/xds/xds_bootstrap.h +39 -111
  78. data/src/core/ext/xds/xds_bootstrap_grpc.cc +370 -0
  79. data/src/core/ext/xds/xds_bootstrap_grpc.h +169 -0
  80. data/src/core/ext/xds/xds_client.cc +219 -145
  81. data/src/core/ext/xds/xds_client.h +19 -17
  82. data/src/core/ext/xds/xds_client_grpc.cc +18 -80
  83. data/src/core/ext/xds/xds_client_grpc.h +2 -25
  84. data/src/core/ext/xds/xds_client_stats.cc +4 -4
  85. data/src/core/ext/xds/xds_cluster.cc +87 -79
  86. data/src/core/ext/xds/xds_cluster.h +5 -5
  87. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +3 -1
  88. data/src/core/ext/xds/xds_common_types.cc +13 -5
  89. data/src/core/ext/xds/xds_endpoint.cc +8 -6
  90. data/src/core/ext/xds/xds_endpoint.h +3 -4
  91. data/src/core/ext/xds/xds_lb_policy_registry.cc +4 -2
  92. data/src/core/ext/xds/xds_listener.cc +25 -20
  93. data/src/core/ext/xds/xds_listener.h +3 -4
  94. data/src/core/ext/xds/xds_resource_type.h +11 -8
  95. data/src/core/ext/xds/xds_route_config.cc +15 -16
  96. data/src/core/ext/xds/xds_route_config.h +3 -3
  97. data/src/core/ext/xds/xds_server_config_fetcher.cc +7 -5
  98. data/src/core/ext/xds/xds_transport_grpc.cc +15 -7
  99. data/src/core/lib/backoff/backoff.cc +2 -4
  100. data/src/core/lib/channel/call_finalization.h +1 -3
  101. data/src/core/lib/channel/channel_args.h +114 -14
  102. data/src/core/lib/channel/channel_trace.cc +3 -4
  103. data/src/core/lib/channel/promise_based_filter.cc +18 -19
  104. data/src/core/lib/channel/status_util.cc +27 -0
  105. data/src/core/lib/channel/status_util.h +10 -0
  106. data/src/core/lib/config/core_configuration.cc +5 -1
  107. data/src/core/lib/config/core_configuration.h +33 -0
  108. data/src/core/lib/debug/stats.cc +26 -30
  109. data/src/core/lib/debug/stats.h +2 -12
  110. data/src/core/lib/debug/stats_data.cc +118 -614
  111. data/src/core/lib/debug/stats_data.h +67 -465
  112. data/src/core/lib/debug/trace.cc +0 -2
  113. data/src/core/lib/event_engine/channel_args_endpoint_config.cc +12 -20
  114. data/src/core/lib/event_engine/channel_args_endpoint_config.h +13 -7
  115. data/src/core/lib/event_engine/forkable.cc +1 -1
  116. data/src/core/lib/event_engine/poller.h +14 -12
  117. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +53 -32
  118. data/src/core/lib/event_engine/posix_engine/timer_manager.h +23 -1
  119. data/src/core/lib/event_engine/thread_pool.cc +131 -94
  120. data/src/core/lib/event_engine/thread_pool.h +56 -23
  121. data/src/core/lib/event_engine/time_util.cc +30 -0
  122. data/src/core/lib/event_engine/time_util.h +32 -0
  123. data/src/core/lib/event_engine/utils.cc +0 -5
  124. data/src/core/lib/event_engine/utils.h +0 -4
  125. data/src/core/lib/event_engine/windows/iocp.cc +13 -7
  126. data/src/core/lib/event_engine/windows/iocp.h +2 -1
  127. data/src/core/lib/event_engine/windows/win_socket.cc +1 -1
  128. data/src/core/lib/experiments/config.cc +146 -0
  129. data/src/core/lib/experiments/config.h +43 -0
  130. data/src/core/lib/experiments/experiments.cc +75 -0
  131. data/src/core/lib/experiments/experiments.h +56 -0
  132. data/src/core/lib/gpr/alloc.cc +1 -9
  133. data/src/core/lib/gpr/log_windows.cc +0 -1
  134. data/src/core/lib/gpr/string_util_windows.cc +3 -30
  135. data/src/core/lib/gpr/sync_abseil.cc +0 -14
  136. data/src/core/lib/gpr/sync_posix.cc +0 -14
  137. data/src/core/lib/gpr/time_posix.cc +0 -6
  138. data/src/core/lib/gpr/time_precise.h +1 -1
  139. data/src/core/lib/gpr/tmpfile_windows.cc +5 -7
  140. data/src/core/lib/gpr/useful.h +11 -0
  141. data/src/core/lib/{gpr → gprpp}/env.h +25 -12
  142. data/src/core/lib/{gpr → gprpp}/env_linux.cc +20 -15
  143. data/src/core/lib/{gpr → gprpp}/env_posix.cc +11 -10
  144. data/src/core/lib/gprpp/env_windows.cc +56 -0
  145. data/src/core/lib/gprpp/fork.cc +14 -22
  146. data/src/core/lib/gprpp/fork.h +0 -8
  147. data/src/core/lib/gprpp/global_config_env.cc +7 -6
  148. data/src/core/lib/gprpp/notification.h +67 -0
  149. data/src/core/lib/gprpp/packed_table.h +40 -0
  150. data/src/core/lib/gprpp/ref_counted_ptr.h +20 -33
  151. data/src/core/lib/gprpp/sorted_pack.h +98 -0
  152. data/src/core/lib/gprpp/status_helper.h +6 -0
  153. data/src/core/lib/gprpp/table.h +9 -1
  154. data/src/core/lib/gprpp/tchar.cc +49 -0
  155. data/src/core/lib/gprpp/tchar.h +33 -0
  156. data/src/core/lib/gprpp/time.cc +21 -0
  157. data/src/core/lib/gprpp/time.h +55 -0
  158. data/src/core/lib/gprpp/validation_errors.cc +61 -0
  159. data/src/core/lib/gprpp/validation_errors.h +110 -0
  160. data/src/core/{ext/filters/client_channel → lib/handshaker}/proxy_mapper.h +3 -3
  161. data/src/core/{ext/filters/client_channel → lib/handshaker}/proxy_mapper_registry.cc +14 -36
  162. data/src/core/lib/handshaker/proxy_mapper_registry.h +75 -0
  163. data/src/core/lib/iomgr/call_combiner.cc +0 -8
  164. data/src/core/lib/iomgr/closure.h +0 -1
  165. data/src/core/lib/iomgr/endpoint_pair_posix.cc +14 -10
  166. data/src/core/lib/iomgr/endpoint_pair_windows.cc +2 -2
  167. data/src/core/lib/iomgr/ev_epoll1_linux.cc +1 -38
  168. data/src/core/lib/iomgr/ev_poll_posix.cc +2 -17
  169. data/src/core/lib/iomgr/exec_ctx.cc +0 -10
  170. data/src/core/lib/iomgr/exec_ctx.h +7 -31
  171. data/src/core/lib/iomgr/iocp_windows.cc +1 -2
  172. data/src/core/lib/iomgr/iomgr.cc +6 -8
  173. data/src/core/lib/iomgr/iomgr_fwd.h +1 -0
  174. data/src/core/lib/iomgr/pollset.h +1 -1
  175. data/src/core/lib/iomgr/pollset_set.h +0 -1
  176. data/src/core/lib/iomgr/resolve_address.h +1 -0
  177. data/src/core/lib/iomgr/resolve_address_impl.h +1 -0
  178. data/src/core/lib/iomgr/resolve_address_posix.cc +1 -0
  179. data/src/core/lib/iomgr/resolve_address_windows.cc +1 -0
  180. data/src/core/lib/iomgr/sockaddr_utils_posix.cc +2 -1
  181. data/src/core/lib/iomgr/socket_utils_common_posix.cc +12 -34
  182. data/src/core/lib/iomgr/socket_utils_posix.cc +83 -1
  183. data/src/core/lib/iomgr/socket_utils_posix.h +98 -6
  184. data/src/core/lib/iomgr/tcp_client.cc +6 -7
  185. data/src/core/lib/iomgr/tcp_client.h +11 -11
  186. data/src/core/lib/iomgr/tcp_client_cfstream.cc +6 -6
  187. data/src/core/lib/iomgr/tcp_client_posix.cc +33 -29
  188. data/src/core/lib/iomgr/tcp_client_posix.h +12 -9
  189. data/src/core/lib/iomgr/tcp_client_windows.cc +6 -6
  190. data/src/core/lib/iomgr/tcp_posix.cc +131 -114
  191. data/src/core/lib/iomgr/tcp_posix.h +3 -1
  192. data/src/core/lib/iomgr/tcp_server.cc +5 -4
  193. data/src/core/lib/iomgr/tcp_server.h +9 -6
  194. data/src/core/lib/iomgr/tcp_server_posix.cc +17 -28
  195. data/src/core/lib/iomgr/tcp_server_utils_posix.h +2 -2
  196. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +3 -3
  197. data/src/core/lib/iomgr/tcp_server_windows.cc +6 -7
  198. data/src/core/lib/iomgr/tcp_windows.cc +0 -1
  199. data/src/core/lib/iomgr/tcp_windows.h +0 -1
  200. data/src/core/lib/iomgr/timer_generic.cc +4 -4
  201. data/src/core/lib/iomgr/timer_manager.cc +1 -2
  202. data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +0 -2
  203. data/src/core/lib/json/json_object_loader.cc +21 -52
  204. data/src/core/lib/json/json_object_loader.h +56 -76
  205. data/src/core/lib/json/json_util.cc +2 -1
  206. data/src/core/lib/load_balancing/lb_policy.h +5 -5
  207. data/src/core/lib/load_balancing/lb_policy_registry.cc +29 -55
  208. data/src/core/lib/load_balancing/lb_policy_registry.h +23 -11
  209. data/src/core/lib/promise/activity.h +2 -3
  210. data/src/core/lib/promise/context.h +1 -1
  211. data/src/core/lib/promise/sleep.cc +16 -4
  212. data/src/core/lib/promise/sleep.h +8 -2
  213. data/src/core/lib/resolver/resolver.h +13 -3
  214. data/src/core/lib/resource_quota/api.cc +9 -0
  215. data/src/core/lib/resource_quota/api.h +6 -0
  216. data/src/core/lib/resource_quota/arena.cc +1 -3
  217. data/src/core/lib/resource_quota/memory_quota.cc +8 -24
  218. data/src/core/lib/resource_quota/memory_quota.h +6 -19
  219. data/src/core/lib/resource_quota/periodic_update.cc +2 -3
  220. data/src/core/{ext/xds → lib/security/certificate_provider}/certificate_provider_factory.h +3 -3
  221. data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +60 -0
  222. data/src/core/lib/security/certificate_provider/certificate_provider_registry.h +70 -0
  223. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +1 -0
  224. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +15 -16
  225. data/src/core/lib/security/credentials/external/external_account_credentials.cc +2 -1
  226. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +5 -8
  227. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +6 -6
  228. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +3 -2
  229. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +1 -1
  230. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +1 -2
  231. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +4 -3
  232. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +4 -2
  233. data/src/core/lib/security/credentials/tls/tls_utils.cc +3 -1
  234. data/src/core/lib/security/transport/client_auth_filter.cc +12 -1
  235. data/src/core/lib/security/transport/secure_endpoint.cc +0 -4
  236. data/src/core/lib/surface/call.cc +1 -11
  237. data/src/core/lib/surface/channel.cc +3 -2
  238. data/src/core/lib/surface/completion_queue.cc +16 -28
  239. data/src/core/lib/surface/completion_queue.h +1 -1
  240. data/src/core/lib/surface/completion_queue_factory.cc +5 -0
  241. data/src/core/lib/surface/init.cc +16 -11
  242. data/src/core/lib/surface/init_internally.cc +24 -0
  243. data/src/core/lib/surface/init_internally.h +28 -0
  244. data/src/core/lib/surface/server.cc +1 -7
  245. data/src/core/lib/surface/server.h +4 -6
  246. data/src/core/lib/surface/version.cc +2 -2
  247. data/src/core/lib/transport/bdp_estimator.cc +1 -3
  248. data/src/core/lib/transport/metadata_batch.cc +2 -3
  249. data/src/core/lib/transport/metadata_batch.h +9 -7
  250. data/src/core/lib/transport/parsed_metadata.h +4 -2
  251. data/src/core/lib/transport/status_conversion.cc +1 -3
  252. data/src/core/lib/transport/tcp_connect_handshaker.cc +9 -5
  253. data/src/core/lib/transport/transport.h +0 -1
  254. data/src/core/lib/transport/transport_impl.h +0 -1
  255. data/src/core/plugin_registry/grpc_plugin_registry.cc +23 -46
  256. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +13 -25
  257. data/src/ruby/lib/grpc/version.rb +1 -1
  258. data/src/ruby/spec/channel_spec.rb +5 -0
  259. data/src/ruby/spec/generic/server_interceptors_spec.rb +1 -1
  260. data/src/ruby/spec/user_agent_spec.rb +1 -1
  261. metadata +33 -19
  262. data/src/core/ext/filters/client_channel/proxy_mapper_registry.h +0 -56
  263. data/src/core/ext/xds/certificate_provider_registry.cc +0 -103
  264. data/src/core/ext/xds/certificate_provider_registry.h +0 -59
  265. data/src/core/lib/event_engine/promise.h +0 -78
  266. data/src/core/lib/gpr/env_windows.cc +0 -74
  267. data/src/core/lib/gpr/string_windows.h +0 -32
  268. data/src/core/lib/profiling/basic_timers.cc +0 -295
  269. data/src/core/lib/profiling/stap_timers.cc +0 -50
  270. data/src/core/lib/profiling/timers.h +0 -94
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 77badbf41d7178ac922baf03e49299a7abda2ff5b3030e52d11ea4479444626a
4
- data.tar.gz: 22fc4c38a468d74f21049da7c3e75edc64c99e0bd4aa13f6e27c9abeb88e525b
3
+ metadata.gz: ba0c60865844669d05877c699b8868994713eab7ea99e2fa5ea36e1f0e91caaa
4
+ data.tar.gz: b8f20bdce4259212c22872a19ee05675247fcbb77cfa4d203aaae0f4d3dafd16
5
5
  SHA512:
6
- metadata.gz: fa67e6b0ffa46e81eab1dc24b1c12dd9df27759429c09b3f3c3da436232172c9c5e2455dbabcb2a34bdf5e4b2c9f40b98838d4d12da307e49170d370bb54d4fc
7
- data.tar.gz: 4c569deee6b977c215b7e36a17730a011114cc0d9556c8c38d778ec913ac33e95e75b36e2574d3dffcc6a3e1b13dc50229a025d6f15408eb74b702dadc0fb21a
6
+ metadata.gz: f6d1dc315aab42174ed93636220643b620c6c1243b57a0cb5c07560882dc9747e1d1e3c0a2d0e6bce1b8f8b2a759c18d7bc2d2cb767e3e7ff8caef85853712ba
7
+ data.tar.gz: 7411a50b101b5f4887cb796b605121d003e849be6b5e586d5fda33cd3f13719cfc3a3423ac3c95a9f802a55e5cbde74fb1915d6c040c53078cbb6cffec481c7e
data/Makefile CHANGED
@@ -98,14 +98,6 @@ LDXX_asan-trace-cmp = clang++
98
98
  CPPFLAGS_asan-trace-cmp = -O0 -fsanitize-coverage=edge,trace-pc-guard -fsanitize-coverage=trace-cmp -fsanitize=address -fno-omit-frame-pointer -Wno-unused-command-line-argument -DGPR_NO_DIRECT_SYSCALLS
99
99
  LDFLAGS_asan-trace-cmp = -fsanitize=address
100
100
 
101
- VALID_CONFIG_basicprof = 1
102
- CC_basicprof = $(DEFAULT_CC)
103
- CXX_basicprof = $(DEFAULT_CXX)
104
- LD_basicprof = $(DEFAULT_CC)
105
- LDXX_basicprof = $(DEFAULT_CXX)
106
- CPPFLAGS_basicprof = -O2 -DGRPC_BASIC_PROFILER -DGRPC_TIMERS_RDTSC
107
- DEFINES_basicprof = NDEBUG
108
-
109
101
  VALID_CONFIG_c++-compat = 1
110
102
  CC_c++-compat = $(DEFAULT_CC)
111
103
  CXX_c++-compat = $(DEFAULT_CXX)
@@ -115,23 +107,6 @@ CFLAGS_c++-compat = -Wc++-compat
115
107
  CPPFLAGS_c++-compat = -O0
116
108
  DEFINES_c++-compat = _DEBUG DEBUG
117
109
 
118
- VALID_CONFIG_counters = 1
119
- CC_counters = $(DEFAULT_CC)
120
- CXX_counters = $(DEFAULT_CXX)
121
- LD_counters = $(DEFAULT_CC)
122
- LDXX_counters = $(DEFAULT_CXX)
123
- CPPFLAGS_counters = -O2 -DGPR_LOW_LEVEL_COUNTERS
124
- DEFINES_counters = NDEBUG
125
-
126
- VALID_CONFIG_counters_with_memory_counter = 1
127
- CC_counters_with_memory_counter = $(DEFAULT_CC)
128
- CXX_counters_with_memory_counter = $(DEFAULT_CXX)
129
- LD_counters_with_memory_counter = $(DEFAULT_CC)
130
- LDXX_counters_with_memory_counter = $(DEFAULT_CXX)
131
- CPPFLAGS_counters_with_memory_counter = -O2 -DGPR_LOW_LEVEL_COUNTERS -DGPR_WRAP_MEMORY_COUNTER
132
- LDFLAGS_counters_with_memory_counter = -Wl,--wrap=malloc -Wl,--wrap=calloc -Wl,--wrap=realloc -Wl,--wrap=free
133
- DEFINES_counters_with_memory_counter = NDEBUG
134
-
135
110
  VALID_CONFIG_dbg = 1
136
111
  CC_dbg = $(DEFAULT_CC)
137
112
  CXX_dbg = $(DEFAULT_CXX)
@@ -185,15 +160,6 @@ CPPFLAGS_msan = -O0 -stdlib=libc++ -fsanitize-coverage=edge,trace-pc-guard -fsan
185
160
  LDFLAGS_msan = -stdlib=libc++ -fsanitize=memory -DGTEST_HAS_TR1_TUPLE=0 -DGTEST_USE_OWN_TR1_TUPLE=1 -fPIE -pie $(if $(JENKINS_BUILD),-Wl$(comma)-Ttext-segment=0x7e0000000000,)
186
161
  DEFINES_msan = NDEBUG
187
162
 
188
- VALID_CONFIG_mutrace = 1
189
- CC_mutrace = $(DEFAULT_CC)
190
- CXX_mutrace = $(DEFAULT_CXX)
191
- LD_mutrace = $(DEFAULT_CC)
192
- LDXX_mutrace = $(DEFAULT_CXX)
193
- CPPFLAGS_mutrace = -O3 -fno-omit-frame-pointer
194
- LDFLAGS_mutrace = -rdynamic
195
- DEFINES_mutrace = NDEBUG
196
-
197
163
  VALID_CONFIG_noexcept = 1
198
164
  CC_noexcept = $(DEFAULT_CC)
199
165
  CXX_noexcept = $(DEFAULT_CXX)
@@ -211,14 +177,6 @@ LDXX_opt = $(DEFAULT_CXX)
211
177
  CPPFLAGS_opt = -O2 -Wframe-larger-than=16384
212
178
  DEFINES_opt = NDEBUG
213
179
 
214
- VALID_CONFIG_stapprof = 1
215
- CC_stapprof = $(DEFAULT_CC)
216
- CXX_stapprof = $(DEFAULT_CXX)
217
- LD_stapprof = $(DEFAULT_CC)
218
- LDXX_stapprof = $(DEFAULT_CXX)
219
- CPPFLAGS_stapprof = -O2 -DGRPC_STAP_PROFILER
220
- DEFINES_stapprof = NDEBUG
221
-
222
180
  VALID_CONFIG_tsan = 1
223
181
  REQUIRE_CUSTOM_LIBRARIES_tsan = 1
224
182
  CC_tsan = clang
@@ -431,7 +389,6 @@ endif
431
389
  # Also set PROTOBUF_CONFIG_OPTS to indicate cross-compilation to protobuf (e.g.,
432
390
  # PROTOBUF_CONFIG_OPTS="--host=arm-linux --with-protoc=/usr/local/bin/protoc" )
433
391
  # Set HAS_PKG_CONFIG=false
434
- # To build tests, go to third_party/gflags and follow its ccmake instructions
435
392
  # Make sure that you enable building shared libraries and set your prefix to
436
393
  # something useful like /usr/local/cross
437
394
  # You will also need to set GRPC_CROSS_LDOPTS and GRPC_CROSS_AROPTS to hold
@@ -453,9 +410,9 @@ E = @echo
453
410
  Q = @
454
411
  endif
455
412
 
456
- CORE_VERSION = 27.0.0
457
- CPP_VERSION = 1.49.1
458
- CSHARP_VERSION = 2.49.1
413
+ CORE_VERSION = 28.0.0
414
+ CPP_VERSION = 1.50.0-pre1
415
+ CSHARP_VERSION = 2.50.0-pre1
459
416
 
460
417
  CPPFLAGS_NO_ARCH += $(addprefix -I, $(INCLUDES)) $(addprefix -D, $(DEFINES))
461
418
  CPPFLAGS += $(CPPFLAGS_NO_ARCH) $(ARCH_FLAGS)
@@ -491,7 +448,7 @@ SHARED_EXT_CORE = dll
491
448
  SHARED_EXT_CPP = dll
492
449
  SHARED_EXT_CSHARP = dll
493
450
  SHARED_PREFIX =
494
- SHARED_VERSION_CORE = -27
451
+ SHARED_VERSION_CORE = -28
495
452
  SHARED_VERSION_CPP = -1
496
453
  SHARED_VERSION_CSHARP = -2
497
454
  else ifeq ($(SYSTEM),Darwin)
@@ -780,18 +737,6 @@ cache.mk::
780
737
  $(E) "[MAKE] Generating $@"
781
738
  $(Q) echo "$(CACHE_MK)" | tr , '\n' >$@
782
739
 
783
- ifeq ($(CONFIG),stapprof)
784
- src/core/profiling/stap_timers.c: $(GENDIR)/src/core/profiling/stap_probes.h
785
- ifeq ($(HAS_SYSTEMTAP),true)
786
- $(GENDIR)/src/core/profiling/stap_probes.h: src/core/profiling/stap_probes.d
787
- $(E) "[DTRACE] Compiling $<"
788
- $(Q) mkdir -p `dirname $@`
789
- $(Q) $(DTRACE) -C -h -s $< -o $@
790
- else
791
- $(GENDIR)/src/core/profiling/stap_probes.h: systemtap_dep_error stop
792
- endif
793
- endif
794
-
795
740
  $(OBJDIR)/$(CONFIG)/%.o : %.c
796
741
  $(E) "[C] Compiling $<"
797
742
  $(Q) mkdir -p `dirname $@`
@@ -881,8 +826,8 @@ $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE):
881
826
  ifeq ($(SYSTEM),Darwin)
882
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)
883
828
  else
884
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libaddress_sorting.so.27 -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)
885
- $(Q) ln -sf $(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE).so.27
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
886
831
  $(Q) ln -sf $(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE).so
887
832
  endif
888
833
  endif
@@ -901,15 +846,11 @@ LIBGPR_SRC = \
901
846
  src/core/lib/gpr/cpu_linux.cc \
902
847
  src/core/lib/gpr/cpu_posix.cc \
903
848
  src/core/lib/gpr/cpu_windows.cc \
904
- src/core/lib/gpr/env_linux.cc \
905
- src/core/lib/gpr/env_posix.cc \
906
- src/core/lib/gpr/env_windows.cc \
907
849
  src/core/lib/gpr/log.cc \
908
850
  src/core/lib/gpr/log_android.cc \
909
851
  src/core/lib/gpr/log_linux.cc \
910
852
  src/core/lib/gpr/log_posix.cc \
911
853
  src/core/lib/gpr/log_windows.cc \
912
- src/core/lib/gpr/murmur_hash.cc \
913
854
  src/core/lib/gpr/string.cc \
914
855
  src/core/lib/gpr/string_posix.cc \
915
856
  src/core/lib/gpr/string_util_windows.cc \
@@ -926,6 +867,9 @@ LIBGPR_SRC = \
926
867
  src/core/lib/gpr/tmpfile_posix.cc \
927
868
  src/core/lib/gpr/tmpfile_windows.cc \
928
869
  src/core/lib/gpr/wrap_memcpy.cc \
870
+ src/core/lib/gprpp/env_linux.cc \
871
+ src/core/lib/gprpp/env_posix.cc \
872
+ src/core/lib/gprpp/env_windows.cc \
929
873
  src/core/lib/gprpp/examine_stack.cc \
930
874
  src/core/lib/gprpp/fork.cc \
931
875
  src/core/lib/gprpp/global_config_env.cc \
@@ -933,30 +877,21 @@ LIBGPR_SRC = \
933
877
  src/core/lib/gprpp/mpscq.cc \
934
878
  src/core/lib/gprpp/stat_posix.cc \
935
879
  src/core/lib/gprpp/stat_windows.cc \
880
+ src/core/lib/gprpp/tchar.cc \
936
881
  src/core/lib/gprpp/thd_posix.cc \
937
882
  src/core/lib/gprpp/thd_windows.cc \
938
883
  src/core/lib/gprpp/time_util.cc \
939
- src/core/lib/profiling/basic_timers.cc \
940
- src/core/lib/profiling/stap_timers.cc \
941
884
 
942
885
  PUBLIC_HEADERS_C += \
943
886
  include/grpc/impl/codegen/atm.h \
944
887
  include/grpc/impl/codegen/atm_gcc_atomic.h \
945
888
  include/grpc/impl/codegen/atm_gcc_sync.h \
946
889
  include/grpc/impl/codegen/atm_windows.h \
947
- include/grpc/impl/codegen/byte_buffer.h \
948
- include/grpc/impl/codegen/byte_buffer_reader.h \
949
- include/grpc/impl/codegen/compression_types.h \
950
- include/grpc/impl/codegen/connectivity_state.h \
951
890
  include/grpc/impl/codegen/fork.h \
952
891
  include/grpc/impl/codegen/gpr_slice.h \
953
892
  include/grpc/impl/codegen/gpr_types.h \
954
- include/grpc/impl/codegen/grpc_types.h \
955
893
  include/grpc/impl/codegen/log.h \
956
894
  include/grpc/impl/codegen/port_platform.h \
957
- include/grpc/impl/codegen/propagation_bits.h \
958
- include/grpc/impl/codegen/slice.h \
959
- include/grpc/impl/codegen/status.h \
960
895
  include/grpc/impl/codegen/sync.h \
961
896
  include/grpc/impl/codegen/sync_abseil.h \
962
897
  include/grpc/impl/codegen/sync_custom.h \
@@ -1008,8 +943,8 @@ $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGPR_OB
1008
943
  ifeq ($(SYSTEM),Darwin)
1009
944
  $(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)
1010
945
  else
1011
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgpr.so.27 -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)
1012
- $(Q) ln -sf $(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).so.27
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
1013
948
  $(Q) ln -sf $(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).so
1014
949
  endif
1015
950
  endif
@@ -1057,7 +992,6 @@ LIBGRPC_SRC = \
1057
992
  src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc \
1058
993
  src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc \
1059
994
  src/core/ext/filters/client_channel/local_subchannel_pool.cc \
1060
- src/core/ext/filters/client_channel/proxy_mapper_registry.cc \
1061
995
  src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc \
1062
996
  src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc \
1063
997
  src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc \
@@ -1101,6 +1035,7 @@ LIBGRPC_SRC = \
1101
1035
  src/core/ext/transport/chttp2/transport/bin_encoder.cc \
1102
1036
  src/core/ext/transport/chttp2/transport/chttp2_transport.cc \
1103
1037
  src/core/ext/transport/chttp2/transport/context_list.cc \
1038
+ src/core/ext/transport/chttp2/transport/decode_huff.cc \
1104
1039
  src/core/ext/transport/chttp2/transport/flow_control.cc \
1105
1040
  src/core/ext/transport/chttp2/transport/frame_data.cc \
1106
1041
  src/core/ext/transport/chttp2/transport/frame_goaway.cc \
@@ -1405,11 +1340,11 @@ LIBGRPC_SRC = \
1405
1340
  src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.c \
1406
1341
  src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.c \
1407
1342
  src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c \
1408
- src/core/ext/xds/certificate_provider_registry.cc \
1409
1343
  src/core/ext/xds/certificate_provider_store.cc \
1410
1344
  src/core/ext/xds/file_watcher_certificate_provider_factory.cc \
1411
1345
  src/core/ext/xds/xds_api.cc \
1412
1346
  src/core/ext/xds/xds_bootstrap.cc \
1347
+ src/core/ext/xds/xds_bootstrap_grpc.cc \
1413
1348
  src/core/ext/xds/xds_certificate_provider.cc \
1414
1349
  src/core/ext/xds/xds_channel_stack_modifier.cc \
1415
1350
  src/core/ext/xds/xds_client.cc \
@@ -1464,15 +1399,21 @@ LIBGRPC_SRC = \
1464
1399
  src/core/lib/event_engine/slice.cc \
1465
1400
  src/core/lib/event_engine/slice_buffer.cc \
1466
1401
  src/core/lib/event_engine/thread_pool.cc \
1402
+ src/core/lib/event_engine/time_util.cc \
1467
1403
  src/core/lib/event_engine/trace.cc \
1468
1404
  src/core/lib/event_engine/utils.cc \
1469
1405
  src/core/lib/event_engine/windows/iocp.cc \
1470
1406
  src/core/lib/event_engine/windows/win_socket.cc \
1471
1407
  src/core/lib/event_engine/windows/windows_engine.cc \
1408
+ src/core/lib/experiments/config.cc \
1409
+ src/core/lib/experiments/experiments.cc \
1410
+ src/core/lib/gpr/murmur_hash.cc \
1472
1411
  src/core/lib/gprpp/status_helper.cc \
1473
1412
  src/core/lib/gprpp/time.cc \
1474
1413
  src/core/lib/gprpp/time_averaged_stats.cc \
1414
+ src/core/lib/gprpp/validation_errors.cc \
1475
1415
  src/core/lib/gprpp/work_serializer.cc \
1416
+ src/core/lib/handshaker/proxy_mapper_registry.cc \
1476
1417
  src/core/lib/http/format_request.cc \
1477
1418
  src/core/lib/http/httpcli.cc \
1478
1419
  src/core/lib/http/httpcli_security_connector.cc \
@@ -1574,6 +1515,7 @@ LIBGRPC_SRC = \
1574
1515
  src/core/lib/security/authorization/grpc_server_authz_filter.cc \
1575
1516
  src/core/lib/security/authorization/matchers.cc \
1576
1517
  src/core/lib/security/authorization/rbac_policy.cc \
1518
+ src/core/lib/security/certificate_provider/certificate_provider_registry.cc \
1577
1519
  src/core/lib/security/context/security_context.cc \
1578
1520
  src/core/lib/security/credentials/alts/alts_credentials.cc \
1579
1521
  src/core/lib/security/credentials/alts/check_gcp_environment.cc \
@@ -1653,6 +1595,7 @@ LIBGRPC_SRC = \
1653
1595
  src/core/lib/surface/completion_queue_factory.cc \
1654
1596
  src/core/lib/surface/event_string.cc \
1655
1597
  src/core/lib/surface/init.cc \
1598
+ src/core/lib/surface/init_internally.cc \
1656
1599
  src/core/lib/surface/lame_client.cc \
1657
1600
  src/core/lib/surface/metadata_array.cc \
1658
1601
  src/core/lib/surface/server.cc \
@@ -1722,43 +1665,18 @@ PUBLIC_HEADERS_C += \
1722
1665
  include/grpc/grpc_posix.h \
1723
1666
  include/grpc/grpc_security.h \
1724
1667
  include/grpc/grpc_security_constants.h \
1725
- include/grpc/impl/codegen/atm.h \
1726
- include/grpc/impl/codegen/atm_gcc_atomic.h \
1727
- include/grpc/impl/codegen/atm_gcc_sync.h \
1728
- include/grpc/impl/codegen/atm_windows.h \
1729
- include/grpc/impl/codegen/fork.h \
1730
- include/grpc/impl/codegen/gpr_slice.h \
1731
- include/grpc/impl/codegen/gpr_types.h \
1732
- include/grpc/impl/codegen/log.h \
1733
- include/grpc/impl/codegen/port_platform.h \
1734
- include/grpc/impl/codegen/sync.h \
1735
- include/grpc/impl/codegen/sync_abseil.h \
1736
- include/grpc/impl/codegen/sync_custom.h \
1737
- include/grpc/impl/codegen/sync_generic.h \
1738
- include/grpc/impl/codegen/sync_posix.h \
1739
- include/grpc/impl/codegen/sync_windows.h \
1668
+ include/grpc/impl/codegen/byte_buffer.h \
1669
+ include/grpc/impl/codegen/byte_buffer_reader.h \
1670
+ include/grpc/impl/codegen/compression_types.h \
1671
+ include/grpc/impl/codegen/connectivity_state.h \
1672
+ include/grpc/impl/codegen/grpc_types.h \
1673
+ include/grpc/impl/codegen/propagation_bits.h \
1674
+ include/grpc/impl/codegen/slice.h \
1675
+ include/grpc/impl/codegen/status.h \
1740
1676
  include/grpc/load_reporting.h \
1741
1677
  include/grpc/slice.h \
1742
1678
  include/grpc/slice_buffer.h \
1743
1679
  include/grpc/status.h \
1744
- include/grpc/support/alloc.h \
1745
- include/grpc/support/atm.h \
1746
- include/grpc/support/atm_gcc_atomic.h \
1747
- include/grpc/support/atm_gcc_sync.h \
1748
- include/grpc/support/atm_windows.h \
1749
- include/grpc/support/cpu.h \
1750
- include/grpc/support/log.h \
1751
- include/grpc/support/log_windows.h \
1752
- include/grpc/support/port_platform.h \
1753
- include/grpc/support/string_util.h \
1754
- include/grpc/support/sync.h \
1755
- include/grpc/support/sync_abseil.h \
1756
- include/grpc/support/sync_custom.h \
1757
- include/grpc/support/sync_generic.h \
1758
- include/grpc/support/sync_posix.h \
1759
- include/grpc/support/sync_windows.h \
1760
- include/grpc/support/thd_id.h \
1761
- include/grpc/support/time.h \
1762
1680
  include/grpc/support/workaround_list.h \
1763
1681
 
1764
1682
  LIBGRPC_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_SRC))))
@@ -1797,8 +1715,8 @@ $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGRPC_
1797
1715
  ifeq ($(SYSTEM),Darwin)
1798
1716
  $(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)
1799
1717
  else
1800
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.27 -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)
1801
- $(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so.27
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
1802
1720
  $(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so
1803
1721
  endif
1804
1722
  endif
@@ -1846,7 +1764,6 @@ LIBGRPC_UNSECURE_SRC = \
1846
1764
  src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc \
1847
1765
  src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc \
1848
1766
  src/core/ext/filters/client_channel/local_subchannel_pool.cc \
1849
- src/core/ext/filters/client_channel/proxy_mapper_registry.cc \
1850
1767
  src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc \
1851
1768
  src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc \
1852
1769
  src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc \
@@ -1883,6 +1800,7 @@ LIBGRPC_UNSECURE_SRC = \
1883
1800
  src/core/ext/transport/chttp2/transport/bin_encoder.cc \
1884
1801
  src/core/ext/transport/chttp2/transport/chttp2_transport.cc \
1885
1802
  src/core/ext/transport/chttp2/transport/context_list.cc \
1803
+ src/core/ext/transport/chttp2/transport/decode_huff.cc \
1886
1804
  src/core/ext/transport/chttp2/transport/flow_control.cc \
1887
1805
  src/core/ext/transport/chttp2/transport/frame_data.cc \
1888
1806
  src/core/ext/transport/chttp2/transport/frame_goaway.cc \
@@ -1954,15 +1872,21 @@ LIBGRPC_UNSECURE_SRC = \
1954
1872
  src/core/lib/event_engine/slice.cc \
1955
1873
  src/core/lib/event_engine/slice_buffer.cc \
1956
1874
  src/core/lib/event_engine/thread_pool.cc \
1875
+ src/core/lib/event_engine/time_util.cc \
1957
1876
  src/core/lib/event_engine/trace.cc \
1958
1877
  src/core/lib/event_engine/utils.cc \
1959
1878
  src/core/lib/event_engine/windows/iocp.cc \
1960
1879
  src/core/lib/event_engine/windows/win_socket.cc \
1961
1880
  src/core/lib/event_engine/windows/windows_engine.cc \
1881
+ src/core/lib/experiments/config.cc \
1882
+ src/core/lib/experiments/experiments.cc \
1883
+ src/core/lib/gpr/murmur_hash.cc \
1962
1884
  src/core/lib/gprpp/status_helper.cc \
1963
1885
  src/core/lib/gprpp/time.cc \
1964
1886
  src/core/lib/gprpp/time_averaged_stats.cc \
1887
+ src/core/lib/gprpp/validation_errors.cc \
1965
1888
  src/core/lib/gprpp/work_serializer.cc \
1889
+ src/core/lib/handshaker/proxy_mapper_registry.cc \
1966
1890
  src/core/lib/http/format_request.cc \
1967
1891
  src/core/lib/http/httpcli.cc \
1968
1892
  src/core/lib/http/parser.cc \
@@ -2059,6 +1983,7 @@ LIBGRPC_UNSECURE_SRC = \
2059
1983
  src/core/lib/security/authorization/authorization_policy_provider_vtable.cc \
2060
1984
  src/core/lib/security/authorization/evaluate_args.cc \
2061
1985
  src/core/lib/security/authorization/grpc_server_authz_filter.cc \
1986
+ src/core/lib/security/certificate_provider/certificate_provider_registry.cc \
2062
1987
  src/core/lib/security/context/security_context.cc \
2063
1988
  src/core/lib/security/credentials/call_creds_util.cc \
2064
1989
  src/core/lib/security/credentials/composite/composite_credentials.cc \
@@ -2103,6 +2028,7 @@ LIBGRPC_UNSECURE_SRC = \
2103
2028
  src/core/lib/surface/completion_queue_factory.cc \
2104
2029
  src/core/lib/surface/event_string.cc \
2105
2030
  src/core/lib/surface/init.cc \
2031
+ src/core/lib/surface/init_internally.cc \
2106
2032
  src/core/lib/surface/lame_client.cc \
2107
2033
  src/core/lib/surface/metadata_array.cc \
2108
2034
  src/core/lib/surface/server.cc \
@@ -2148,43 +2074,18 @@ PUBLIC_HEADERS_C += \
2148
2074
  include/grpc/grpc_posix.h \
2149
2075
  include/grpc/grpc_security.h \
2150
2076
  include/grpc/grpc_security_constants.h \
2151
- include/grpc/impl/codegen/atm.h \
2152
- include/grpc/impl/codegen/atm_gcc_atomic.h \
2153
- include/grpc/impl/codegen/atm_gcc_sync.h \
2154
- include/grpc/impl/codegen/atm_windows.h \
2155
- include/grpc/impl/codegen/fork.h \
2156
- include/grpc/impl/codegen/gpr_slice.h \
2157
- include/grpc/impl/codegen/gpr_types.h \
2158
- include/grpc/impl/codegen/log.h \
2159
- include/grpc/impl/codegen/port_platform.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 \
2077
+ include/grpc/impl/codegen/byte_buffer.h \
2078
+ include/grpc/impl/codegen/byte_buffer_reader.h \
2079
+ include/grpc/impl/codegen/compression_types.h \
2080
+ include/grpc/impl/codegen/connectivity_state.h \
2081
+ include/grpc/impl/codegen/grpc_types.h \
2082
+ include/grpc/impl/codegen/propagation_bits.h \
2083
+ include/grpc/impl/codegen/slice.h \
2084
+ include/grpc/impl/codegen/status.h \
2166
2085
  include/grpc/load_reporting.h \
2167
2086
  include/grpc/slice.h \
2168
2087
  include/grpc/slice_buffer.h \
2169
2088
  include/grpc/status.h \
2170
- include/grpc/support/alloc.h \
2171
- include/grpc/support/atm.h \
2172
- include/grpc/support/atm_gcc_atomic.h \
2173
- include/grpc/support/atm_gcc_sync.h \
2174
- include/grpc/support/atm_windows.h \
2175
- include/grpc/support/cpu.h \
2176
- include/grpc/support/log.h \
2177
- include/grpc/support/log_windows.h \
2178
- include/grpc/support/port_platform.h \
2179
- include/grpc/support/string_util.h \
2180
- include/grpc/support/sync.h \
2181
- include/grpc/support/sync_abseil.h \
2182
- include/grpc/support/sync_custom.h \
2183
- include/grpc/support/sync_generic.h \
2184
- include/grpc/support/sync_posix.h \
2185
- include/grpc/support/sync_windows.h \
2186
- include/grpc/support/thd_id.h \
2187
- include/grpc/support/time.h \
2188
2089
  include/grpc/support/workaround_list.h \
2189
2090
 
2190
2091
  LIBGRPC_UNSECURE_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_UNSECURE_SRC))))
@@ -2213,8 +2114,8 @@ $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $
2213
2114
  ifeq ($(SYSTEM),Darwin)
2214
2115
  $(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)
2215
2116
  else
2216
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc_unsecure.so.27 -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)
2217
- $(Q) ln -sf $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).so.27
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
2218
2119
  $(Q) ln -sf $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).so
2219
2120
  endif
2220
2121
  endif
@@ -2620,8 +2521,8 @@ $(LIBDIR)/$(CONFIG)/libupb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBUPB_OB
2620
2521
  ifeq ($(SYSTEM),Darwin)
2621
2522
  $(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)
2622
2523
  else
2623
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libupb.so.27 -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)
2624
- $(Q) ln -sf $(SHARED_PREFIX)upb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libupb$(SHARED_VERSION_CORE).so.27
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
2625
2526
  $(Q) ln -sf $(SHARED_PREFIX)upb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libupb$(SHARED_VERSION_CORE).so
2626
2527
  endif
2627
2528
  endif
@@ -3170,11 +3071,11 @@ src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c: $(OPENSSL_
3170
3071
  src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.c: $(OPENSSL_DEP)
3171
3072
  src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.c: $(OPENSSL_DEP)
3172
3073
  src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c: $(OPENSSL_DEP)
3173
- src/core/ext/xds/certificate_provider_registry.cc: $(OPENSSL_DEP)
3174
3074
  src/core/ext/xds/certificate_provider_store.cc: $(OPENSSL_DEP)
3175
3075
  src/core/ext/xds/file_watcher_certificate_provider_factory.cc: $(OPENSSL_DEP)
3176
3076
  src/core/ext/xds/xds_api.cc: $(OPENSSL_DEP)
3177
3077
  src/core/ext/xds/xds_bootstrap.cc: $(OPENSSL_DEP)
3078
+ src/core/ext/xds/xds_bootstrap_grpc.cc: $(OPENSSL_DEP)
3178
3079
  src/core/ext/xds/xds_certificate_provider.cc: $(OPENSSL_DEP)
3179
3080
  src/core/ext/xds/xds_channel_stack_modifier.cc: $(OPENSSL_DEP)
3180
3081
  src/core/ext/xds/xds_client.cc: $(OPENSSL_DEP)
@@ -19,7 +19,7 @@
19
19
  #include <string>
20
20
 
21
21
  #include "absl/strings/string_view.h"
22
- #include "absl/types/variant.h"
22
+ #include "absl/types/optional.h"
23
23
 
24
24
  namespace grpc_event_engine {
25
25
  namespace experimental {
@@ -31,10 +31,16 @@ namespace experimental {
31
31
  class EndpointConfig {
32
32
  public:
33
33
  virtual ~EndpointConfig() = default;
34
- using Setting = absl::variant<absl::monostate, int, absl::string_view, void*>;
35
- /// Returns the Setting for a specified key, or \a absl::monostate if there is
36
- /// no such entry. Caller does not take ownership of the resulting value.
37
- virtual Setting Get(absl::string_view key) const = 0;
34
+ // If the key points to an integer config, an integer value gets returned.
35
+ // Otherwise it returns an absl::nullopt_t
36
+ virtual absl::optional<int> GetInt(absl::string_view key) const = 0;
37
+ // If the key points to an string config, an string value gets returned.
38
+ // Otherwise it returns an absl::nullopt_t
39
+ virtual absl::optional<absl::string_view> GetString(
40
+ absl::string_view key) const = 0;
41
+ // If the key points to an void* config, a void* pointer value gets returned.
42
+ // Otherwise it returns nullptr
43
+ virtual void* GetVoidPointer(absl::string_view key) const = 0;
38
44
  };
39
45
 
40
46
  } // namespace experimental
@@ -72,7 +72,7 @@ namespace experimental {
72
72
  /// server->Wait();
73
73
  ///
74
74
  ////////////////////////////////////////////////////////////////////////////////
75
- class EventEngine {
75
+ class EventEngine : public std::enable_shared_from_this<EventEngine> {
76
76
  public:
77
77
  /// A duration between two events.
78
78
  ///
@@ -33,20 +33,6 @@ typedef intptr_t gpr_atm;
33
33
  #define GPR_ATM_MAX INTPTR_MAX
34
34
  #define GPR_ATM_MIN INTPTR_MIN
35
35
 
36
- #ifdef GPR_LOW_LEVEL_COUNTERS
37
- extern gpr_atm gpr_counter_atm_cas;
38
- extern gpr_atm gpr_counter_atm_add;
39
- #define GPR_ATM_INC_COUNTER(counter) \
40
- __atomic_fetch_add(&counter, 1, __ATOMIC_RELAXED)
41
- #define GPR_ATM_INC_CAS_THEN(blah) \
42
- (GPR_ATM_INC_COUNTER(gpr_counter_atm_cas), blah)
43
- #define GPR_ATM_INC_ADD_THEN(blah) \
44
- (GPR_ATM_INC_COUNTER(gpr_counter_atm_add), blah)
45
- #else
46
- #define GPR_ATM_INC_CAS_THEN(blah) blah
47
- #define GPR_ATM_INC_ADD_THEN(blah) blah
48
- #endif
49
-
50
36
  #define gpr_atm_full_barrier() (__atomic_thread_fence(__ATOMIC_SEQ_CST))
51
37
 
52
38
  #define gpr_atm_acq_load(p) (__atomic_load_n((p), __ATOMIC_ACQUIRE))
@@ -57,34 +43,39 @@ extern gpr_atm gpr_counter_atm_add;
57
43
  (__atomic_store_n((p), (intptr_t)(value), __ATOMIC_RELAXED))
58
44
 
59
45
  #define gpr_atm_no_barrier_fetch_add(p, delta) \
60
- GPR_ATM_INC_ADD_THEN( \
61
- __atomic_fetch_add((p), (intptr_t)(delta), __ATOMIC_RELAXED))
46
+ __atomic_fetch_add((p), (intptr_t)(delta), __ATOMIC_RELAXED)
62
47
  #define gpr_atm_full_fetch_add(p, delta) \
63
- GPR_ATM_INC_ADD_THEN( \
64
- __atomic_fetch_add((p), (intptr_t)(delta), __ATOMIC_ACQ_REL))
48
+ __atomic_fetch_add((p), (intptr_t)(delta), __ATOMIC_ACQ_REL)
65
49
 
66
50
  static __inline int gpr_atm_no_barrier_cas(gpr_atm* p, gpr_atm o, gpr_atm n) {
67
- return GPR_ATM_INC_CAS_THEN(__atomic_compare_exchange_n(
68
- p, &o, n, 0, __ATOMIC_RELAXED, __ATOMIC_RELAXED));
51
+ // Need to be c89 compatible, so we can't use false for the fourth argument.
52
+ // NOLINTNEXTLINE(modernize-use-bool-literals)
53
+ return __atomic_compare_exchange_n(p, &o, n, 0, __ATOMIC_RELAXED,
54
+ __ATOMIC_RELAXED);
69
55
  }
70
56
 
71
57
  static __inline int gpr_atm_acq_cas(gpr_atm* p, gpr_atm o, gpr_atm n) {
72
- return GPR_ATM_INC_CAS_THEN(__atomic_compare_exchange_n(
73
- p, &o, n, 0, __ATOMIC_ACQUIRE, __ATOMIC_RELAXED));
58
+ // Need to be c89 compatible, so we can't use false for the fourth argument.
59
+ // NOLINTNEXTLINE(modernize-use-bool-literals)
60
+ return __atomic_compare_exchange_n(p, &o, n, 0, __ATOMIC_ACQUIRE,
61
+ __ATOMIC_RELAXED);
74
62
  }
75
63
 
76
64
  static __inline int gpr_atm_rel_cas(gpr_atm* p, gpr_atm o, gpr_atm n) {
77
- return GPR_ATM_INC_CAS_THEN(__atomic_compare_exchange_n(
78
- p, &o, n, 0, __ATOMIC_RELEASE, __ATOMIC_RELAXED));
65
+ // Need to be c89 compatible, so we can't use false for the fourth argument.
66
+ // NOLINTNEXTLINE(modernize-use-bool-literals)
67
+ return __atomic_compare_exchange_n(p, &o, n, 0, __ATOMIC_RELEASE,
68
+ __ATOMIC_RELAXED);
79
69
  }
80
70
 
81
71
  static __inline int gpr_atm_full_cas(gpr_atm* p, gpr_atm o, gpr_atm n) {
82
- return GPR_ATM_INC_CAS_THEN(__atomic_compare_exchange_n(
83
- p, &o, n, 0, __ATOMIC_ACQ_REL, __ATOMIC_RELAXED));
72
+ // Need to be c89 compatible, so we can't use false for the fourth argument.
73
+ // NOLINTNEXTLINE(modernize-use-bool-literals)
74
+ return __atomic_compare_exchange_n(p, &o, n, 0, __ATOMIC_ACQ_REL,
75
+ __ATOMIC_RELAXED);
84
76
  }
85
77
 
86
- #define gpr_atm_full_xchg(p, n) \
87
- GPR_ATM_INC_CAS_THEN(__atomic_exchange_n((p), (n), __ATOMIC_ACQ_REL))
78
+ #define gpr_atm_full_xchg(p, n) __atomic_exchange_n((p), (n), __ATOMIC_ACQ_REL)
88
79
 
89
80
  #ifdef __cplusplus
90
81
  }
@@ -28,8 +28,6 @@
28
28
  typedef intptr_t gpr_atm;
29
29
  #define GPR_ATM_MAX INTPTR_MAX
30
30
  #define GPR_ATM_MIN INTPTR_MIN
31
- #define GPR_ATM_INC_CAS_THEN(blah) blah
32
- #define GPR_ATM_INC_ADD_THEN(blah) blah
33
31
 
34
32
  #define GPR_ATM_COMPILE_BARRIER_() __asm__ __volatile__("" : : : "memory")
35
33
 
@@ -29,8 +29,6 @@
29
29
  typedef intptr_t gpr_atm;
30
30
  #define GPR_ATM_MAX INTPTR_MAX
31
31
  #define GPR_ATM_MIN INTPTR_MIN
32
- #define GPR_ATM_INC_CAS_THEN(blah) blah
33
- #define GPR_ATM_INC_ADD_THEN(blah) blah
34
32
 
35
33
  #define gpr_atm_full_barrier MemoryBarrier
36
34
 
@@ -368,6 +368,12 @@ typedef struct {
368
368
  balancer before using fallback backend addresses from the resolver.
369
369
  If 0, enter fallback mode immediately. Default value is 10000. */
370
370
  #define GRPC_ARG_GRPCLB_FALLBACK_TIMEOUT_MS "grpc.grpclb_fallback_timeout_ms"
371
+ /* Experimental Arg. Channel args to be used for the control-plane channel
372
+ * created to the grpclb load balancers. This is a pointer arg whose value is a
373
+ * grpc_channel_args object. If unset, most channel args from the parent channel
374
+ * will be propagated to the grpclb channel. */
375
+ #define GRPC_ARG_EXPERIMENTAL_GRPCLB_CHANNEL_ARGS \
376
+ "grpc.experimental.grpclb_channel_args"
371
377
  /* Timeout in milliseconds to wait for the child of a specific priority to
372
378
  complete its initial connection attempt before the priority LB policy fails
373
379
  over to the next priority. Default value is 10 seconds. */