grpc 1.56.2 → 1.57.0.pre1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (383) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +29 -22
  3. data/include/grpc/event_engine/event_engine.h +22 -32
  4. data/include/grpc/impl/grpc_types.h +3 -0
  5. data/include/grpc/support/port_platform.h +29 -23
  6. data/src/core/ext/filters/client_channel/client_channel.cc +44 -8
  7. data/src/core/ext/filters/client_channel/dynamic_filters.h +3 -3
  8. data/src/core/ext/filters/client_channel/http_proxy.cc +5 -0
  9. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +21 -52
  10. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.h +19 -7
  11. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +25 -35
  12. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +78 -132
  13. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +2 -1
  14. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +4 -3
  15. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +3 -1
  16. data/src/core/ext/filters/client_channel/lb_policy/health_check_client.cc +38 -15
  17. data/src/core/ext/filters/client_channel/lb_policy/health_check_client.h +3 -5
  18. data/src/core/ext/filters/client_channel/lb_policy/health_check_client_internal.h +22 -6
  19. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric_internal.h +2 -0
  20. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +97 -71
  21. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +2 -16
  22. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +56 -11
  23. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.h +25 -0
  24. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +6 -32
  25. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +4 -6
  26. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +20 -79
  27. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +1 -1
  28. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +31 -19
  29. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc +1 -1
  30. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +7 -41
  31. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +3 -67
  32. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +8 -0
  33. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +31 -74
  34. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +7 -51
  35. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +16 -87
  36. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc +16 -50
  37. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc +12 -74
  38. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +1 -4
  39. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +69 -59
  40. data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +7 -2
  41. data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +1 -0
  42. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +25 -13
  43. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +366 -311
  44. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h +17 -1
  45. data/src/core/ext/filters/client_channel/retry_filter.cc +39 -2498
  46. data/src/core/ext/filters/client_channel/retry_filter.h +91 -1
  47. data/src/core/ext/filters/client_channel/retry_filter_legacy_call_data.cc +2052 -0
  48. data/src/core/ext/filters/client_channel/retry_filter_legacy_call_data.h +442 -0
  49. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +38 -58
  50. data/src/core/ext/filters/client_channel/subchannel.h +3 -3
  51. data/src/core/ext/filters/client_channel/subchannel_interface_internal.h +3 -0
  52. data/src/core/ext/filters/rbac/rbac_filter.cc +40 -111
  53. data/src/core/ext/filters/rbac/rbac_filter.h +12 -30
  54. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +162 -86
  55. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +0 -6
  56. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +7 -4
  57. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +131 -186
  58. data/src/core/ext/transport/chttp2/transport/decode_huff.cc +6569 -174
  59. data/src/core/ext/transport/chttp2/transport/decode_huff.h +2278 -441
  60. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +2 -3
  61. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +4 -3
  62. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +9 -8
  63. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +4 -4
  64. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +3 -2
  65. data/src/core/ext/transport/chttp2/transport/internal.h +8 -4
  66. data/src/core/ext/transport/chttp2/transport/parsing.cc +15 -3
  67. data/src/core/ext/transport/chttp2/transport/writing.cc +2 -3
  68. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +27 -6
  69. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +143 -0
  70. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +2 -9
  71. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +0 -39
  72. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +13 -8
  73. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +35 -6
  74. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +17 -13
  75. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +85 -20
  76. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +26 -7
  77. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +45 -3
  78. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +4 -3
  79. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +21 -0
  80. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +30 -6
  81. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +180 -0
  82. data/src/core/ext/upb-generated/envoy/data/accesslog/v3/accesslog.upb.c +558 -0
  83. data/src/core/ext/upb-generated/envoy/data/accesslog/v3/accesslog.upb.h +2710 -0
  84. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +30 -11
  85. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +53 -24
  86. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +30 -5
  87. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +110 -0
  88. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +41 -15
  89. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +150 -27
  90. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.c +1 -0
  91. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.c +47 -0
  92. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.h +93 -0
  93. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +88 -76
  94. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +5 -0
  95. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +11 -12
  96. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +0 -5
  97. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +162 -160
  98. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +129 -118
  99. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +141 -135
  100. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c +19 -12
  101. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +38 -30
  102. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +5 -0
  103. data/src/core/ext/upbdefs-generated/envoy/data/accesslog/v3/accesslog.upbdefs.c +402 -0
  104. data/src/core/ext/upbdefs-generated/envoy/data/accesslog/v3/accesslog.upbdefs.h +111 -0
  105. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +80 -74
  106. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +63 -47
  107. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +5 -0
  108. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +315 -293
  109. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +5 -0
  110. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +29 -29
  111. data/src/core/ext/xds/xds_bootstrap_grpc.cc +33 -30
  112. data/src/core/ext/xds/xds_bootstrap_grpc.h +5 -13
  113. data/src/core/ext/xds/xds_client_grpc.cc +11 -6
  114. data/src/core/ext/xds/xds_client_grpc.h +16 -2
  115. data/src/core/ext/xds/xds_client_stats.h +10 -0
  116. data/src/core/ext/xds/xds_cluster.cc +26 -16
  117. data/src/core/ext/xds/xds_endpoint.cc +4 -7
  118. data/src/core/ext/xds/xds_health_status.cc +0 -17
  119. data/src/core/ext/xds/xds_health_status.h +5 -25
  120. data/src/core/ext/xds/xds_lb_policy_registry.cc +39 -0
  121. data/src/core/ext/xds/xds_route_config.cc +4 -0
  122. data/src/core/ext/xds/xds_transport_grpc.cc +1 -3
  123. data/src/core/lib/address_utils/parse_address.cc +63 -1
  124. data/src/core/lib/address_utils/parse_address.h +8 -0
  125. data/src/core/lib/address_utils/sockaddr_utils.cc +46 -1
  126. data/src/core/lib/address_utils/sockaddr_utils.h +2 -2
  127. data/src/core/lib/channel/channel_args.cc +21 -10
  128. data/src/core/lib/channel/channel_args.h +3 -0
  129. data/src/core/lib/channel/connected_channel.cc +4 -1
  130. data/src/core/lib/channel/promise_based_filter.h +1 -0
  131. data/src/core/lib/debug/trace.cc +1 -4
  132. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +2 -1
  133. data/src/core/lib/event_engine/cf_engine/cf_engine.h +1 -1
  134. data/src/core/lib/event_engine/event_engine.cc +0 -12
  135. data/src/core/lib/event_engine/forkable.cc +47 -42
  136. data/src/core/lib/event_engine/handle_containers.h +0 -4
  137. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +4 -6
  138. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +4 -6
  139. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +25 -11
  140. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +3 -1
  141. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +2 -1
  142. data/src/core/lib/event_engine/posix_engine/posix_engine.h +8 -12
  143. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +37 -27
  144. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +2 -0
  145. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +4 -2
  146. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +42 -2
  147. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +6 -0
  148. data/src/core/lib/event_engine/posix_engine/timer.h +10 -37
  149. data/src/core/lib/event_engine/tcp_socket_utils.cc +67 -7
  150. data/src/core/lib/event_engine/tcp_socket_utils.h +3 -0
  151. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +90 -37
  152. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +32 -12
  153. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +12 -21
  154. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +8 -12
  155. data/src/core/lib/event_engine/windows/windows_endpoint.cc +55 -54
  156. data/src/core/lib/event_engine/windows/windows_endpoint.h +15 -12
  157. data/src/core/lib/event_engine/windows/windows_engine.cc +2 -1
  158. data/src/core/lib/event_engine/windows/windows_engine.h +8 -12
  159. data/src/core/lib/experiments/config.cc +60 -22
  160. data/src/core/lib/experiments/config.h +20 -8
  161. data/src/core/lib/experiments/experiments.cc +278 -0
  162. data/src/core/lib/experiments/experiments.h +59 -1
  163. data/src/core/lib/gprpp/dual_ref_counted.h +9 -9
  164. data/src/core/lib/gprpp/fork.cc +8 -9
  165. data/src/core/lib/gprpp/fork.h +6 -5
  166. data/src/core/lib/gprpp/if_list.h +4530 -0
  167. data/src/core/lib/gprpp/orphanable.h +3 -3
  168. data/src/core/lib/gprpp/ref_counted.h +6 -6
  169. data/src/core/lib/gprpp/sorted_pack.h +3 -12
  170. data/src/core/lib/gprpp/status_helper.h +16 -15
  171. data/src/core/lib/gprpp/time.h +12 -0
  172. data/src/core/lib/gprpp/type_list.h +32 -0
  173. data/src/core/lib/http/httpcli.h +6 -9
  174. data/src/core/lib/iomgr/error.cc +32 -2
  175. data/src/core/lib/iomgr/error.h +9 -10
  176. data/src/core/lib/iomgr/ev_epoll1_linux.cc +5 -7
  177. data/src/core/lib/iomgr/ev_poll_posix.cc +6 -5
  178. data/src/core/lib/iomgr/exec_ctx.h +11 -0
  179. data/src/core/lib/iomgr/pollset.h +4 -5
  180. data/src/core/lib/iomgr/port.h +10 -0
  181. data/src/core/lib/iomgr/resolve_address.cc +13 -1
  182. data/src/core/lib/iomgr/resolve_address.h +17 -3
  183. data/src/core/lib/iomgr/sockaddr_posix.h +7 -0
  184. data/src/core/lib/iomgr/socket_utils_common_posix.cc +29 -0
  185. data/src/core/lib/iomgr/socket_utils_posix.cc +2 -0
  186. data/src/core/lib/iomgr/socket_utils_posix.h +6 -0
  187. data/src/core/lib/iomgr/tcp_client_posix.cc +4 -1
  188. data/src/core/lib/iomgr/tcp_posix.cc +21 -4
  189. data/src/core/lib/iomgr/tcp_server_posix.cc +3 -2
  190. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +5 -2
  191. data/src/core/lib/iomgr/tcp_windows.cc +1 -3
  192. data/src/core/lib/iomgr/vsock.cc +59 -0
  193. data/src/core/lib/iomgr/vsock.h +38 -0
  194. data/src/core/lib/iomgr/wakeup_fd_posix.h +3 -6
  195. data/src/core/lib/load_balancing/delegating_helper.h +115 -0
  196. data/src/core/lib/load_balancing/lb_policy.h +20 -0
  197. data/src/core/lib/load_balancing/subchannel_interface.h +6 -0
  198. data/src/core/lib/promise/party.h +1 -1
  199. data/src/core/lib/resolver/resolver_factory.h +3 -2
  200. data/src/core/lib/resolver/server_address.cc +9 -94
  201. data/src/core/lib/resolver/server_address.h +10 -64
  202. data/src/core/lib/resource_quota/memory_quota.h +1 -1
  203. data/src/core/lib/security/credentials/channel_creds_registry.h +51 -27
  204. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +169 -9
  205. data/src/core/lib/security/credentials/composite/composite_credentials.cc +1 -1
  206. data/src/core/lib/security/credentials/composite/composite_credentials.h +3 -1
  207. data/src/core/lib/security/credentials/external/external_account_credentials.cc +40 -1
  208. data/src/core/lib/security/credentials/external/external_account_credentials.h +6 -0
  209. data/src/core/lib/security/credentials/fake/fake_credentials.cc +30 -38
  210. data/src/core/lib/security/credentials/fake/fake_credentials.h +28 -0
  211. data/src/core/lib/security/credentials/tls/tls_credentials.cc +1 -1
  212. data/src/core/lib/security/credentials/tls/tls_credentials.h +3 -1
  213. data/src/core/lib/service_config/service_config_call_data.h +5 -0
  214. data/src/core/lib/slice/slice.h +16 -0
  215. data/src/core/lib/surface/call.cc +31 -29
  216. data/src/core/lib/surface/server.h +2 -2
  217. data/src/core/lib/surface/version.cc +2 -2
  218. data/src/core/lib/transport/metadata_batch.cc +7 -7
  219. data/src/core/lib/transport/metadata_batch.h +86 -48
  220. data/src/core/lib/transport/parsed_metadata.h +34 -20
  221. data/src/core/lib/transport/simple_slice_based_metadata.h +9 -2
  222. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +4 -6
  223. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +1 -2
  224. data/src/core/tsi/ssl_transport_security.cc +28 -7
  225. data/src/ruby/bin/math_pb.rb +24 -18
  226. data/src/ruby/ext/grpc/extconf.rb +19 -18
  227. data/src/ruby/ext/grpc/rb_call.c +62 -39
  228. data/src/ruby/ext/grpc/rb_call_credentials.c +0 -1
  229. data/src/ruby/ext/grpc/rb_channel.c +126 -49
  230. data/src/ruby/ext/grpc/rb_channel.h +1 -0
  231. data/src/ruby/ext/grpc/rb_channel_args.c +16 -2
  232. data/src/ruby/ext/grpc/rb_channel_args.h +4 -0
  233. data/src/ruby/ext/grpc/rb_channel_credentials.c +0 -1
  234. data/src/ruby/ext/grpc/rb_compression_options.c +0 -1
  235. data/src/ruby/ext/grpc/rb_event_thread.c +22 -6
  236. data/src/ruby/ext/grpc/rb_event_thread.h +1 -0
  237. data/src/ruby/ext/grpc/rb_grpc.c +192 -30
  238. data/src/ruby/ext/grpc/rb_grpc.h +8 -2
  239. data/src/ruby/ext/grpc/rb_server.c +62 -45
  240. data/src/ruby/ext/grpc/rb_server_credentials.c +0 -1
  241. data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +0 -1
  242. data/src/ruby/ext/grpc/rb_xds_server_credentials.c +0 -1
  243. data/src/ruby/lib/grpc/generic/bidi_call.rb +2 -0
  244. data/src/ruby/lib/grpc/version.rb +1 -1
  245. data/src/ruby/pb/grpc/health/v1/health_pb.rb +24 -13
  246. data/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb +24 -3
  247. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +25 -111
  248. data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +25 -2
  249. data/third_party/boringssl-with-bazel/err_data.c +552 -552
  250. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +5 -5
  251. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +34 -1
  252. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +4 -1
  253. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +3 -3
  254. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +7 -8
  255. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.c +2 -2
  256. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +2 -2
  257. data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +8 -8
  258. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.c +2 -2
  259. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +2 -2
  260. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +19 -1
  261. data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +8 -1
  262. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +28 -185
  263. data/third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h +3 -7
  264. data/third_party/boringssl-with-bazel/src/crypto/conf/internal.h +8 -0
  265. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.c +3 -0
  266. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +49 -46
  267. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_64_adx.c +18 -0
  268. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +2809 -7417
  269. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +27 -5
  270. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +20 -0
  271. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +110 -72
  272. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_derive.c +4 -3
  273. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +15 -14
  274. data/third_party/boringssl-with-bazel/src/crypto/err/err.c +13 -10
  275. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +35 -12
  276. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c +2 -4
  277. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c +3 -7
  278. data/third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.c +3 -3
  279. data/third_party/boringssl-with-bazel/src/crypto/evp/print.c +7 -6
  280. data/third_party/boringssl-with-bazel/src/crypto/ex_data.c +34 -72
  281. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +1 -1
  282. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +12 -5
  283. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.c +5 -6
  284. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +12 -6
  285. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.c +17 -18
  286. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.c +51 -15
  287. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.c +7 -7
  288. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h +5 -6
  289. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/internal.h +2 -0
  290. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/builtin_curves.h +277 -0
  291. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +180 -404
  292. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +3 -3
  293. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c +24 -57
  294. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.c +17 -13
  295. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +33 -71
  296. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c +18 -17
  297. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +5 -7
  298. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.c +15 -18
  299. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +9 -11
  300. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c +24 -24
  301. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.c +11 -27
  302. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +8 -8
  303. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c +4 -4
  304. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +9 -3
  305. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/hkdf.c +1 -1
  306. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.c +40 -26
  307. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +21 -7
  308. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +38 -19
  309. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +2 -29
  310. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +55 -0
  311. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +33 -52
  312. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +3 -8
  313. data/third_party/boringssl-with-bazel/src/crypto/internal.h +198 -79
  314. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +5 -4
  315. data/third_party/boringssl-with-bazel/src/crypto/mem.c +7 -8
  316. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +19 -23
  317. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +3 -3
  318. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.c +3 -3
  319. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +7 -7
  320. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +8 -5
  321. data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +1 -0
  322. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c +7 -6
  323. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c +6 -12
  324. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/getentropy.c +48 -0
  325. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{fuchsia.c → ios.c} +8 -8
  326. data/third_party/boringssl-with-bazel/src/crypto/{refcount_no_threads.c → rand_extra/trusty.c} +15 -19
  327. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c +41 -19
  328. data/third_party/boringssl-with-bazel/src/crypto/{refcount_c11.c → refcount.c} +11 -17
  329. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +147 -72
  330. data/third_party/boringssl-with-bazel/src/crypto/thread_none.c +0 -8
  331. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +6 -35
  332. data/third_party/boringssl-with-bazel/src/crypto/thread_win.c +5 -26
  333. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +14 -18
  334. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +54 -143
  335. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +7 -13
  336. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +1 -1
  337. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +1 -1
  338. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +2 -4
  339. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +2 -2
  340. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +1 -1
  341. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +8 -12
  342. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +19 -20
  343. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +11 -15
  344. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +5 -5
  345. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +1 -1
  346. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +7 -7
  347. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +2 -3
  348. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +4 -6
  349. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +4 -119
  350. data/third_party/boringssl-with-bazel/src/include/openssl/asm_base.h +207 -0
  351. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +5 -0
  352. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +2 -116
  353. data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +0 -2
  354. data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +6 -0
  355. data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +5 -1
  356. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +0 -21
  357. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +21 -2
  358. data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +19 -6
  359. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +11 -7
  360. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +13 -14
  361. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +0 -61
  362. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +127 -81
  363. data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +224 -209
  364. data/third_party/boringssl-with-bazel/src/include/openssl/target.h +154 -0
  365. data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +1 -29
  366. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +4 -4
  367. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +3 -2
  368. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +9 -65
  369. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +20 -20
  370. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +1 -1
  371. data/third_party/boringssl-with-bazel/src/ssl/internal.h +4 -11
  372. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +24 -18
  373. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +37 -30
  374. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +125 -26
  375. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +2 -3
  376. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_adx.h +691 -0
  377. data/third_party/upb/upb/collections/map.c +3 -3
  378. metadata +27 -12
  379. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.cc +0 -42
  380. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.h +0 -64
  381. data/src/core/ext/transport/chttp2/transport/stream_map.cc +0 -177
  382. data/src/core/ext/transport/chttp2/transport/stream_map.h +0 -68
  383. data/third_party/boringssl-with-bazel/src/crypto/refcount_win.c +0 -89
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3481eedf57501bb8ae2f09cd0c0a3ad03300047a9e47bee671a6899f1794e4ba
4
- data.tar.gz: 62506671a0935ef989fe57777830f658c70e0d9393f01c9a4a2d572448d0f975
3
+ metadata.gz: '08fb6122fd3a0cedeeeef0d9e249b31a35957422c6944c061337a6bbc54cfa48'
4
+ data.tar.gz: 647ab8f344deb4c96097d1346ea4cf4c69d1e03f37438ffaee1eea0e54c46d87
5
5
  SHA512:
6
- metadata.gz: d349ee4daea9488acb1467cb2decc7acbf9d0944a264d1ccb1418fbe2f76e68a5dfbc6f5b38617aa89254a11650fed7988ccbbdf08617c1d491ab5bd2b7756a3
7
- data.tar.gz: 985dce4d0fa51fa2a2b38449185bdb4959cd43f3dacb70deeab16615974fabb09330288ca71837372978a3a6131c3bebaf7ab1a3d4c6f0a2da9d9dfef61c2fa0
6
+ metadata.gz: 88ff16fc87008c4d121060821589bc61bb13a00d9d42a5b9c8a5193c9b4f5e6b5732040b763c6d561bdc473886ec95b4be4a960765fdca35d721469ae7e6ba74
7
+ data.tar.gz: 512f24969af0ad0bf2d9e5c65eacc5ea512e9e798a022b00d61437cafb93208db05994ee9bc619c23d5503d2a7f913e9c1c8a47ba2f9ca90f923e6569caaebf3
data/Makefile CHANGED
@@ -410,9 +410,9 @@ E = @echo
410
410
  Q = @
411
411
  endif
412
412
 
413
- CORE_VERSION = 33.0.0
414
- CPP_VERSION = 1.56.2
415
- CSHARP_VERSION = 2.56.2
413
+ CORE_VERSION = 34.0.0
414
+ CPP_VERSION = 1.57.0-pre1
415
+ CSHARP_VERSION = 2.57.0-pre1
416
416
 
417
417
  CPPFLAGS_NO_ARCH += $(addprefix -I, $(INCLUDES)) $(addprefix -D, $(DEFINES))
418
418
  CPPFLAGS += $(CPPFLAGS_NO_ARCH) $(ARCH_FLAGS)
@@ -448,7 +448,7 @@ SHARED_EXT_CORE = dll
448
448
  SHARED_EXT_CPP = dll
449
449
  SHARED_EXT_CSHARP = dll
450
450
  SHARED_PREFIX =
451
- SHARED_VERSION_CORE = -33
451
+ SHARED_VERSION_CORE = -34
452
452
  SHARED_VERSION_CPP = -1
453
453
  SHARED_VERSION_CSHARP = -2
454
454
  else ifeq ($(SYSTEM),Darwin)
@@ -826,8 +826,8 @@ $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE):
826
826
  ifeq ($(SYSTEM),Darwin)
827
827
  $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBADDRESS_SORTING_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
828
828
  else
829
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libaddress_sorting.so.33 -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.33
829
+ $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libaddress_sorting.so.34 -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.34
831
831
  $(Q) ln -sf $(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE).so
832
832
  endif
833
833
  endif
@@ -948,8 +948,8 @@ $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGPR_OB
948
948
  ifeq ($(SYSTEM),Darwin)
949
949
  $(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)
950
950
  else
951
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgpr.so.33 -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)
952
- $(Q) ln -sf $(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).so.33
951
+ $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgpr.so.34 -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)
952
+ $(Q) ln -sf $(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).so.34
953
953
  $(Q) ln -sf $(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).so
954
954
  endif
955
955
  endif
@@ -997,7 +997,6 @@ LIBGRPC_SRC = \
997
997
  src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc \
998
998
  src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc \
999
999
  src/core/ext/filters/client_channel/lb_policy/xds/cds.cc \
1000
- src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.cc \
1001
1000
  src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc \
1002
1001
  src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc \
1003
1002
  src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc \
@@ -1021,6 +1020,7 @@ LIBGRPC_SRC = \
1021
1020
  src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc \
1022
1021
  src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc \
1023
1022
  src/core/ext/filters/client_channel/retry_filter.cc \
1023
+ src/core/ext/filters/client_channel/retry_filter_legacy_call_data.cc \
1024
1024
  src/core/ext/filters/client_channel/retry_service_config.cc \
1025
1025
  src/core/ext/filters/client_channel/retry_throttle.cc \
1026
1026
  src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc \
@@ -1066,7 +1066,6 @@ LIBGRPC_SRC = \
1066
1066
  src/core/ext/transport/chttp2/transport/huffsyms.cc \
1067
1067
  src/core/ext/transport/chttp2/transport/parsing.cc \
1068
1068
  src/core/ext/transport/chttp2/transport/stream_lists.cc \
1069
- src/core/ext/transport/chttp2/transport/stream_map.cc \
1070
1069
  src/core/ext/transport/chttp2/transport/varint.cc \
1071
1070
  src/core/ext/transport/chttp2/transport/writing.cc \
1072
1071
  src/core/ext/transport/inproc/inproc_plugin.cc \
@@ -1134,6 +1133,7 @@ LIBGRPC_SRC = \
1134
1133
  src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c \
1135
1134
  src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c \
1136
1135
  src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c \
1136
+ src/core/ext/upb-generated/envoy/data/accesslog/v3/accesslog.upb.c \
1137
1137
  src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c \
1138
1138
  src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c \
1139
1139
  src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c \
@@ -1144,6 +1144,7 @@ LIBGRPC_SRC = \
1144
1144
  src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c \
1145
1145
  src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.c \
1146
1146
  src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.c \
1147
+ src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.c \
1147
1148
  src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c \
1148
1149
  src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c \
1149
1150
  src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c \
@@ -1295,6 +1296,7 @@ LIBGRPC_SRC = \
1295
1296
  src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c \
1296
1297
  src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.c \
1297
1298
  src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c \
1299
+ src/core/ext/upbdefs-generated/envoy/data/accesslog/v3/accesslog.upbdefs.c \
1298
1300
  src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c \
1299
1301
  src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c \
1300
1302
  src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c \
@@ -1563,6 +1565,7 @@ LIBGRPC_SRC = \
1563
1565
  src/core/lib/iomgr/timer_manager.cc \
1564
1566
  src/core/lib/iomgr/unix_sockets_posix.cc \
1565
1567
  src/core/lib/iomgr/unix_sockets_posix_noop.cc \
1568
+ src/core/lib/iomgr/vsock.cc \
1566
1569
  src/core/lib/iomgr/wakeup_fd_eventfd.cc \
1567
1570
  src/core/lib/iomgr/wakeup_fd_nospecial.cc \
1568
1571
  src/core/lib/iomgr/wakeup_fd_pipe.cc \
@@ -1835,8 +1838,8 @@ $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGRPC_
1835
1838
  ifeq ($(SYSTEM),Darwin)
1836
1839
  $(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)
1837
1840
  else
1838
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.33 -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)
1839
- $(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so.33
1841
+ $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.34 -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)
1842
+ $(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so.34
1840
1843
  $(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so
1841
1844
  endif
1842
1845
  endif
@@ -1902,6 +1905,7 @@ LIBGRPC_UNSECURE_SRC = \
1902
1905
  src/core/ext/filters/client_channel/resolver/polling_resolver.cc \
1903
1906
  src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc \
1904
1907
  src/core/ext/filters/client_channel/retry_filter.cc \
1908
+ src/core/ext/filters/client_channel/retry_filter_legacy_call_data.cc \
1905
1909
  src/core/ext/filters/client_channel/retry_service_config.cc \
1906
1910
  src/core/ext/filters/client_channel/retry_throttle.cc \
1907
1911
  src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc \
@@ -1940,7 +1944,6 @@ LIBGRPC_UNSECURE_SRC = \
1940
1944
  src/core/ext/transport/chttp2/transport/huffsyms.cc \
1941
1945
  src/core/ext/transport/chttp2/transport/parsing.cc \
1942
1946
  src/core/ext/transport/chttp2/transport/stream_lists.cc \
1943
- src/core/ext/transport/chttp2/transport/stream_map.cc \
1944
1947
  src/core/ext/transport/chttp2/transport/varint.cc \
1945
1948
  src/core/ext/transport/chttp2/transport/writing.cc \
1946
1949
  src/core/ext/transport/inproc/inproc_plugin.cc \
@@ -2119,6 +2122,7 @@ LIBGRPC_UNSECURE_SRC = \
2119
2122
  src/core/lib/iomgr/timer_manager.cc \
2120
2123
  src/core/lib/iomgr/unix_sockets_posix.cc \
2121
2124
  src/core/lib/iomgr/unix_sockets_posix_noop.cc \
2125
+ src/core/lib/iomgr/vsock.cc \
2122
2126
  src/core/lib/iomgr/wakeup_fd_eventfd.cc \
2123
2127
  src/core/lib/iomgr/wakeup_fd_nospecial.cc \
2124
2128
  src/core/lib/iomgr/wakeup_fd_pipe.cc \
@@ -2323,8 +2327,8 @@ $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $
2323
2327
  ifeq ($(SYSTEM),Darwin)
2324
2328
  $(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)
2325
2329
  else
2326
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc_unsecure.so.33 -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)
2327
- $(Q) ln -sf $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).so.33
2330
+ $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc_unsecure.so.34 -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)
2331
+ $(Q) ln -sf $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).so.34
2328
2332
  $(Q) ln -sf $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).so
2329
2333
  endif
2330
2334
  endif
@@ -2411,6 +2415,7 @@ LIBBORINGSSL_SRC = \
2411
2415
  third_party/boringssl-with-bazel/src/crypto/cpu_intel.c \
2412
2416
  third_party/boringssl-with-bazel/src/crypto/crypto.c \
2413
2417
  third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c \
2418
+ third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_64_adx.c \
2414
2419
  third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c \
2415
2420
  third_party/boringssl-with-bazel/src/crypto/des/des.c \
2416
2421
  third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c \
@@ -2472,14 +2477,14 @@ LIBBORINGSSL_SRC = \
2472
2477
  third_party/boringssl-with-bazel/src/crypto/pool/pool.c \
2473
2478
  third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c \
2474
2479
  third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c \
2475
- third_party/boringssl-with-bazel/src/crypto/rand_extra/fuchsia.c \
2480
+ third_party/boringssl-with-bazel/src/crypto/rand_extra/getentropy.c \
2481
+ third_party/boringssl-with-bazel/src/crypto/rand_extra/ios.c \
2476
2482
  third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c \
2477
2483
  third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c \
2484
+ third_party/boringssl-with-bazel/src/crypto/rand_extra/trusty.c \
2478
2485
  third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c \
2479
2486
  third_party/boringssl-with-bazel/src/crypto/rc4/rc4.c \
2480
- third_party/boringssl-with-bazel/src/crypto/refcount_c11.c \
2481
- third_party/boringssl-with-bazel/src/crypto/refcount_no_threads.c \
2482
- third_party/boringssl-with-bazel/src/crypto/refcount_win.c \
2487
+ third_party/boringssl-with-bazel/src/crypto/refcount.c \
2483
2488
  third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_asn1.c \
2484
2489
  third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_crypt.c \
2485
2490
  third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_print.c \
@@ -2751,8 +2756,8 @@ $(LIBDIR)/$(CONFIG)/libupb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBUPB_OB
2751
2756
  ifeq ($(SYSTEM),Darwin)
2752
2757
  $(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)
2753
2758
  else
2754
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libupb.so.33 -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)
2755
- $(Q) ln -sf $(SHARED_PREFIX)upb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libupb$(SHARED_VERSION_CORE).so.33
2759
+ $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libupb.so.34 -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)
2760
+ $(Q) ln -sf $(SHARED_PREFIX)upb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libupb$(SHARED_VERSION_CORE).so.34
2756
2761
  $(Q) ln -sf $(SHARED_PREFIX)upb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libupb$(SHARED_VERSION_CORE).so
2757
2762
  endif
2758
2763
  endif
@@ -3048,7 +3053,6 @@ ifneq ($(OPENSSL_DEP),)
3048
3053
  # otherwise parallel compilation will fail if a source is compiled first.
3049
3054
  src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc: $(OPENSSL_DEP)
3050
3055
  src/core/ext/filters/client_channel/lb_policy/xds/cds.cc: $(OPENSSL_DEP)
3051
- src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.cc: $(OPENSSL_DEP)
3052
3056
  src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc: $(OPENSSL_DEP)
3053
3057
  src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc: $(OPENSSL_DEP)
3054
3058
  src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc: $(OPENSSL_DEP)
@@ -3126,6 +3130,7 @@ src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c: $(OPENSSL_DEP
3126
3130
  src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c: $(OPENSSL_DEP)
3127
3131
  src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c: $(OPENSSL_DEP)
3128
3132
  src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c: $(OPENSSL_DEP)
3133
+ src/core/ext/upb-generated/envoy/data/accesslog/v3/accesslog.upb.c: $(OPENSSL_DEP)
3129
3134
  src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c: $(OPENSSL_DEP)
3130
3135
  src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c: $(OPENSSL_DEP)
3131
3136
  src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c: $(OPENSSL_DEP)
@@ -3136,6 +3141,7 @@ src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_mana
3136
3141
  src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c: $(OPENSSL_DEP)
3137
3142
  src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.c: $(OPENSSL_DEP)
3138
3143
  src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.c: $(OPENSSL_DEP)
3144
+ src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.c: $(OPENSSL_DEP)
3139
3145
  src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c: $(OPENSSL_DEP)
3140
3146
  src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c: $(OPENSSL_DEP)
3141
3147
  src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c: $(OPENSSL_DEP)
@@ -3268,6 +3274,7 @@ src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.c: $(OPE
3268
3274
  src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c: $(OPENSSL_DEP)
3269
3275
  src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.c: $(OPENSSL_DEP)
3270
3276
  src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c: $(OPENSSL_DEP)
3277
+ src/core/ext/upbdefs-generated/envoy/data/accesslog/v3/accesslog.upbdefs.c: $(OPENSSL_DEP)
3271
3278
  src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c: $(OPENSSL_DEP)
3272
3279
  src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c: $(OPENSSL_DEP)
3273
3280
  src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c: $(OPENSSL_DEP)
@@ -321,17 +321,14 @@ class EventEngine : public std::enable_shared_from_this<EventEngine> {
321
321
  /// called.
322
322
  virtual bool CancelConnect(ConnectionHandle handle) = 0;
323
323
  /// Provides asynchronous resolution.
324
+ ///
325
+ /// This object has a destruction-is-cancellation semantic.
326
+ /// Implementations should make sure that all pending requests are cancelled
327
+ /// when the object is destroyed and all pending callbacks will be called
328
+ /// shortly. If cancellation races with request completion, implementations
329
+ /// may choose to either cancel or satisfy the request.
324
330
  class DNSResolver {
325
331
  public:
326
- /// Task handle for DNS Resolution requests.
327
- struct LookupTaskHandle {
328
- intptr_t keys[2];
329
- static const LookupTaskHandle kInvalid;
330
- friend bool operator==(const LookupTaskHandle& lhs,
331
- const LookupTaskHandle& rhs);
332
- friend bool operator!=(const LookupTaskHandle& lhs,
333
- const LookupTaskHandle& rhs);
334
- };
335
332
  /// Optional configuration for DNSResolvers.
336
333
  struct ResolverOptions {
337
334
  /// If empty, default DNS servers will be used.
@@ -363,37 +360,27 @@ class EventEngine : public std::enable_shared_from_this<EventEngine> {
363
360
  /// \a default_port may be a non-numeric named service port, and will only
364
361
  /// be used if \a address does not already contain a port component.
365
362
  ///
366
- /// When the lookup is complete, the \a on_resolve callback will be invoked
367
- /// with a status indicating the success or failure of the lookup.
368
- /// Implementations should pass the appropriate statuses to the callback.
369
- /// For example, callbacks might expect to receive DEADLINE_EXCEEDED or
363
+ /// When the lookup is complete or cancelled, the \a on_resolve callback
364
+ /// will be invoked with a status indicating the success or failure of the
365
+ /// lookup. Implementations should pass the appropriate statuses to the
366
+ /// callback. For example, callbacks might expect to receive CANCELLED or
370
367
  /// NOT_FOUND.
371
368
  ///
372
- /// If cancelled, \a on_resolve will not be executed.
373
- virtual LookupTaskHandle LookupHostname(LookupHostnameCallback on_resolve,
374
- absl::string_view name,
375
- absl::string_view default_port,
376
- Duration timeout) = 0;
369
+ virtual void LookupHostname(LookupHostnameCallback on_resolve,
370
+ absl::string_view name,
371
+ absl::string_view default_port) = 0;
377
372
  /// Asynchronously perform an SRV record lookup.
378
373
  ///
379
374
  /// \a on_resolve has the same meaning and expectations as \a
380
375
  /// LookupHostname's \a on_resolve callback.
381
- virtual LookupTaskHandle LookupSRV(LookupSRVCallback on_resolve,
382
- absl::string_view name,
383
- Duration timeout) = 0;
376
+ virtual void LookupSRV(LookupSRVCallback on_resolve,
377
+ absl::string_view name) = 0;
384
378
  /// Asynchronously perform a TXT record lookup.
385
379
  ///
386
380
  /// \a on_resolve has the same meaning and expectations as \a
387
381
  /// LookupHostname's \a on_resolve callback.
388
- virtual LookupTaskHandle LookupTXT(LookupTXTCallback on_resolve,
389
- absl::string_view name,
390
- Duration timeout) = 0;
391
- /// Cancel an asynchronous lookup operation.
392
- ///
393
- /// This shares the same semantics with \a EventEngine::Cancel: successfully
394
- /// cancelled lookups will not have their callbacks executed, and this
395
- /// method returns true.
396
- virtual bool CancelLookup(LookupTaskHandle handle) = 0;
382
+ virtual void LookupTXT(LookupTXTCallback on_resolve,
383
+ absl::string_view name) = 0;
397
384
  };
398
385
 
399
386
  /// At time of destruction, the EventEngine must have no active
@@ -410,8 +397,11 @@ class EventEngine : public std::enable_shared_from_this<EventEngine> {
410
397
  virtual bool IsWorkerThread() = 0;
411
398
 
412
399
  /// Creates and returns an instance of a DNSResolver, optionally configured by
413
- /// the \a options struct.
414
- virtual std::unique_ptr<DNSResolver> GetDNSResolver(
400
+ /// the \a options struct. This method may return a non-OK status if an error
401
+ /// occurred when creating the DNSResolver. If the caller requests a custom
402
+ /// DNS server, and the EventEngine implementation does not support it, this
403
+ /// must return an error.
404
+ virtual absl::StatusOr<std::unique_ptr<DNSResolver>> GetDNSResolver(
415
405
  const DNSResolver::ResolverOptions& options) = 0;
416
406
 
417
407
  /// Asynchronously executes a task as soon as possible.
@@ -481,6 +481,9 @@ typedef struct {
481
481
  * channel arg. Int valued, milliseconds. Defaults to 10 minutes.*/
482
482
  #define GRPC_ARG_SERVER_CONFIG_CHANGE_DRAIN_GRACE_TIME_MS \
483
483
  "grpc.experimental.server_config_change_drain_grace_time_ms"
484
+ /** Configure the Differentiated Services Code Point used on outgoing packets.
485
+ * Integer value ranging from 0 to 63. */
486
+ #define GRPC_ARG_DSCP "grpc.dscp"
484
487
  /** \} */
485
488
 
486
489
  /** Result of a grpc call. If the caller satisfies the prerequisites of a
@@ -563,29 +563,6 @@ typedef unsigned __int64 uint64_t;
563
563
  #define GRPC_IF_NAMETOINDEX 1
564
564
  #endif
565
565
 
566
- #ifndef GRPC_MUST_USE_RESULT
567
- #if defined(__GNUC__) && !defined(__MINGW32__)
568
- #define GRPC_MUST_USE_RESULT __attribute__((warn_unused_result))
569
- #define GPR_ALIGN_STRUCT(n) __attribute__((aligned(n)))
570
- #else
571
- #define GRPC_MUST_USE_RESULT
572
- #define GPR_ALIGN_STRUCT(n)
573
- #endif
574
- #ifdef USE_STRICT_WARNING
575
- /* When building with USE_STRICT_WARNING (which -Werror), types with this
576
- attribute will be treated as annotated with warn_unused_result, enforcing
577
- returned values of this type should be used.
578
- This is added in grpc::Status in mind to address the issue where it always
579
- has this annotation internally but OSS doesn't, sometimes causing internal
580
- build failure. To prevent this, this is added while not introducing
581
- a breaking change to existing user code which may not use returned values
582
- of grpc::Status. */
583
- #define GRPC_MUST_USE_RESULT_WHEN_USE_STRICT_WARNING GRPC_MUST_USE_RESULT
584
- #else
585
- #define GRPC_MUST_USE_RESULT_WHEN_USE_STRICT_WARNING
586
- #endif
587
- #endif
588
-
589
566
  #ifndef GRPC_UNUSED
590
567
  #if defined(__GNUC__) && !defined(__MINGW32__)
591
568
  #define GRPC_UNUSED __attribute__((unused))
@@ -611,6 +588,35 @@ typedef unsigned __int64 uint64_t;
611
588
  #endif
612
589
  #endif /* GPR_HAS_CPP_ATTRIBUTE */
613
590
 
591
+ #if defined(__GNUC__) && !defined(__MINGW32__)
592
+ #define GPR_ALIGN_STRUCT(n) __attribute__((aligned(n)))
593
+ #else
594
+ #define GPR_ALIGN_STRUCT(n)
595
+ #endif
596
+
597
+ #ifndef GRPC_MUST_USE_RESULT
598
+ #if GPR_HAS_CPP_ATTRIBUTE(nodiscard)
599
+ #define GRPC_MUST_USE_RESULT [[nodiscard]]
600
+ #elif defined(__GNUC__) && !defined(__MINGW32__)
601
+ #define GRPC_MUST_USE_RESULT __attribute__((warn_unused_result))
602
+ #else
603
+ #define GRPC_MUST_USE_RESULT
604
+ #endif
605
+ #ifdef USE_STRICT_WARNING
606
+ /* When building with USE_STRICT_WARNING (which -Werror), types with this
607
+ attribute will be treated as annotated with warn_unused_result, enforcing
608
+ returned values of this type should be used.
609
+ This is added in grpc::Status in mind to address the issue where it always
610
+ has this annotation internally but OSS doesn't, sometimes causing internal
611
+ build failure. To prevent this, this is added while not introducing
612
+ a breaking change to existing user code which may not use returned values
613
+ of grpc::Status. */
614
+ #define GRPC_MUST_USE_RESULT_WHEN_USE_STRICT_WARNING GRPC_MUST_USE_RESULT
615
+ #else
616
+ #define GRPC_MUST_USE_RESULT_WHEN_USE_STRICT_WARNING
617
+ #endif
618
+ #endif
619
+
614
620
  #ifndef GPR_HAS_ATTRIBUTE
615
621
  #ifdef __has_attribute
616
622
  #define GPR_HAS_ATTRIBUTE(a) __has_attribute(a)
@@ -24,6 +24,7 @@
24
24
  #include <algorithm>
25
25
  #include <functional>
26
26
  #include <new>
27
+ #include <set>
27
28
  #include <type_traits>
28
29
  #include <utility>
29
30
  #include <vector>
@@ -82,6 +83,7 @@
82
83
  #include "src/core/lib/load_balancing/subchannel_interface.h"
83
84
  #include "src/core/lib/resolver/resolver_registry.h"
84
85
  #include "src/core/lib/resolver/server_address.h"
86
+ #include "src/core/lib/security/credentials/credentials.h"
85
87
  #include "src/core/lib/service_config/service_config_call_data.h"
86
88
  #include "src/core/lib/service_config/service_config_impl.h"
87
89
  #include "src/core/lib/slice/slice.h"
@@ -566,11 +568,15 @@ class ClientChannel::SubchannelWrapper : public SubchannelInterface {
566
568
 
567
569
  void AddDataWatcher(std::unique_ptr<DataWatcherInterface> watcher) override
568
570
  ABSL_EXCLUSIVE_LOCKS_REQUIRED(*chand_->work_serializer_) {
569
- std::unique_ptr<InternalSubchannelDataWatcherInterface> internal_watcher(
570
- static_cast<InternalSubchannelDataWatcherInterface*>(
571
- watcher.release()));
572
- internal_watcher->SetSubchannel(subchannel_.get());
573
- data_watchers_.push_back(std::move(internal_watcher));
571
+ static_cast<InternalSubchannelDataWatcherInterface*>(watcher.get())
572
+ ->SetSubchannel(subchannel_.get());
573
+ GPR_ASSERT(data_watchers_.insert(std::move(watcher)).second);
574
+ }
575
+
576
+ void CancelDataWatcher(DataWatcherInterface* watcher) override
577
+ ABSL_EXCLUSIVE_LOCKS_REQUIRED(*chand_->work_serializer_) {
578
+ auto it = data_watchers_.find(watcher);
579
+ if (it != data_watchers_.end()) data_watchers_.erase(it);
574
580
  }
575
581
 
576
582
  void ThrottleKeepaliveTime(int new_keepalive_time) {
@@ -683,6 +689,24 @@ class ClientChannel::SubchannelWrapper : public SubchannelInterface {
683
689
  RefCountedPtr<SubchannelWrapper> parent_;
684
690
  };
685
691
 
692
+ // A heterogenous lookup comparator for data watchers that allows
693
+ // unique_ptr keys to be looked up as raw pointers.
694
+ struct DataWatcherLessThan {
695
+ using is_transparent = void;
696
+ bool operator()(const std::unique_ptr<DataWatcherInterface>& p1,
697
+ const std::unique_ptr<DataWatcherInterface>& p2) const {
698
+ return p1 < p2;
699
+ }
700
+ bool operator()(const std::unique_ptr<DataWatcherInterface>& p1,
701
+ const DataWatcherInterface* p2) const {
702
+ return p1.get() < p2;
703
+ }
704
+ bool operator()(const DataWatcherInterface* p1,
705
+ const std::unique_ptr<DataWatcherInterface>& p2) const {
706
+ return p1 < p2.get();
707
+ }
708
+ };
709
+
686
710
  ClientChannel* chand_;
687
711
  RefCountedPtr<Subchannel> subchannel_;
688
712
  // Maps from the address of the watcher passed to us by the LB policy
@@ -692,7 +716,7 @@ class ClientChannel::SubchannelWrapper : public SubchannelInterface {
692
716
  // corresponding WrapperWatcher to cancel on the underlying subchannel.
693
717
  std::map<ConnectivityStateWatcherInterface*, WatcherWrapper*> watcher_map_
694
718
  ABSL_GUARDED_BY(*chand_->work_serializer_);
695
- std::vector<std::unique_ptr<InternalSubchannelDataWatcherInterface>>
719
+ std::set<std::unique_ptr<DataWatcherInterface>, DataWatcherLessThan>
696
720
  data_watchers_ ABSL_GUARDED_BY(*chand_->work_serializer_);
697
721
  };
698
722
 
@@ -943,6 +967,16 @@ class ClientChannel::ClientChannelControlHelper
943
967
  return chand_->default_authority_;
944
968
  }
945
969
 
970
+ RefCountedPtr<grpc_channel_credentials> GetChannelCredentials() override {
971
+ return chand_->channel_args_.GetObject<grpc_channel_credentials>()
972
+ ->duplicate_without_call_credentials();
973
+ }
974
+
975
+ RefCountedPtr<grpc_channel_credentials> GetUnsafeChannelCredentials()
976
+ override {
977
+ return chand_->channel_args_.GetObject<grpc_channel_credentials>()->Ref();
978
+ }
979
+
946
980
  grpc_event_engine::experimental::EventEngine* GetEventEngine() override {
947
981
  return chand_->owning_stack_->EventEngine();
948
982
  }
@@ -1129,7 +1163,9 @@ ChannelArgs ClientChannel::MakeSubchannelArgs(
1129
1163
  // uniqueness.
1130
1164
  .Remove(GRPC_ARG_HEALTH_CHECK_SERVICE_NAME)
1131
1165
  .Remove(GRPC_ARG_INHIBIT_HEALTH_CHECKING)
1132
- .Remove(GRPC_ARG_CHANNELZ_CHANNEL_NODE);
1166
+ .Remove(GRPC_ARG_CHANNELZ_CHANNEL_NODE)
1167
+ // Remove all keys with the no-subchannel prefix.
1168
+ .RemoveAllKeysWithPrefix(GRPC_ARG_NO_SUBCHANNEL_PREFIX);
1133
1169
  }
1134
1170
 
1135
1171
  void ClientChannel::ReprocessQueuedResolverCalls() {
@@ -1463,7 +1499,7 @@ void ClientChannel::UpdateServiceConfigInDataPlaneLocked() {
1463
1499
  std::vector<const grpc_channel_filter*> filters =
1464
1500
  config_selector->GetFilters();
1465
1501
  if (enable_retries) {
1466
- filters.push_back(&kRetryFilterVtable);
1502
+ filters.push_back(&RetryFilter::kVtable);
1467
1503
  } else {
1468
1504
  filters.push_back(&DynamicTerminationFilter::kFilterVtable);
1469
1505
  }
@@ -68,9 +68,9 @@ class DynamicFilters : public RefCounted<DynamicFilters> {
68
68
  void SetAfterCallStackDestroy(grpc_closure* closure);
69
69
 
70
70
  // Interface of RefCounted<>.
71
- RefCountedPtr<Call> Ref() GRPC_MUST_USE_RESULT;
72
- RefCountedPtr<Call> Ref(const DebugLocation& location,
73
- const char* reason) GRPC_MUST_USE_RESULT;
71
+ GRPC_MUST_USE_RESULT RefCountedPtr<Call> Ref();
72
+ GRPC_MUST_USE_RESULT RefCountedPtr<Call> Ref(const DebugLocation& location,
73
+ const char* reason);
74
74
  // When refcount drops to 0, destroys itself and the associated call stack,
75
75
  // but does NOT free the memory because it's in the call arena.
76
76
  void Unref();
@@ -180,6 +180,11 @@ absl::optional<std::string> HttpProxyMapper::MapName(
180
180
  std::string(server_uri).c_str());
181
181
  return absl::nullopt;
182
182
  }
183
+ if (uri->scheme() == "vsock") {
184
+ gpr_log(GPR_INFO, "not using proxy for VSock '%s'",
185
+ std::string(server_uri).c_str());
186
+ return absl::nullopt;
187
+ }
183
188
  // Prefer using 'no_grpc_proxy'. Fallback on 'no_proxy' if it is not set.
184
189
  auto no_proxy_str = GetEnv("no_grpc_proxy");
185
190
  if (!no_proxy_str.has_value()) {
@@ -23,53 +23,24 @@
23
23
  #include <algorithm>
24
24
  #include <utility>
25
25
 
26
- #include "absl/strings/str_cat.h"
27
- #include "absl/strings/str_join.h"
28
-
29
- #define GRPC_ARG_HIERARCHICAL_PATH "grpc.internal.address.hierarchical_path"
26
+ #include "src/core/lib/channel/channel_args.h"
27
+ #include "src/core/lib/gprpp/ref_counted_ptr.h"
30
28
 
31
29
  namespace grpc_core {
32
30
 
33
- const char* kHierarchicalPathAttributeKey = "hierarchical_path";
34
-
35
- namespace {
36
-
37
- class HierarchicalPathAttribute : public ServerAddress::AttributeInterface {
38
- public:
39
- explicit HierarchicalPathAttribute(std::vector<std::string> path)
40
- : path_(std::move(path)) {}
41
-
42
- std::unique_ptr<AttributeInterface> Copy() const override {
43
- return std::make_unique<HierarchicalPathAttribute>(path_);
44
- }
45
-
46
- int Cmp(const AttributeInterface* other) const override {
47
- const std::vector<std::string>& other_path =
48
- static_cast<const HierarchicalPathAttribute*>(other)->path_;
49
- for (size_t i = 0; i < path_.size(); ++i) {
50
- if (other_path.size() == i) return 1;
51
- int r = path_[i].compare(other_path[i]);
52
- if (r != 0) return r;
53
- }
54
- if (other_path.size() > path_.size()) return -1;
55
- return 0;
56
- }
31
+ absl::string_view HierarchicalPathArg::ChannelArgName() {
32
+ return GRPC_ARG_NO_SUBCHANNEL_PREFIX "address.hierarchical_path";
33
+ }
57
34
 
58
- std::string ToString() const override {
59
- return absl::StrCat("[", absl::StrJoin(path_, ", "), "]");
35
+ int HierarchicalPathArg::ChannelArgsCompare(const HierarchicalPathArg* a,
36
+ const HierarchicalPathArg* b) {
37
+ for (size_t i = 0; i < a->path_.size(); ++i) {
38
+ if (b->path_.size() == i) return 1;
39
+ int r = a->path_[i].compare(b->path_[i]);
40
+ if (r != 0) return r;
60
41
  }
61
-
62
- const std::vector<std::string>& path() const { return path_; }
63
-
64
- private:
65
- std::vector<std::string> path_;
66
- };
67
-
68
- } // namespace
69
-
70
- std::unique_ptr<ServerAddress::AttributeInterface>
71
- MakeHierarchicalPathAttribute(std::vector<std::string> path) {
72
- return std::make_unique<HierarchicalPathAttribute>(std::move(path));
42
+ if (b->path_.size() > a->path_.size()) return -1;
43
+ return 0;
73
44
  }
74
45
 
75
46
  absl::StatusOr<HierarchicalAddressMap> MakeHierarchicalAddressMap(
@@ -77,22 +48,20 @@ absl::StatusOr<HierarchicalAddressMap> MakeHierarchicalAddressMap(
77
48
  if (!addresses.ok()) return addresses.status();
78
49
  HierarchicalAddressMap result;
79
50
  for (const ServerAddress& address : *addresses) {
80
- const HierarchicalPathAttribute* path_attribute =
81
- static_cast<const HierarchicalPathAttribute*>(
82
- address.GetAttribute(kHierarchicalPathAttributeKey));
83
- if (path_attribute == nullptr) continue;
84
- const std::vector<std::string>& path = path_attribute->path();
51
+ const auto* path_arg = address.args().GetObject<HierarchicalPathArg>();
52
+ if (path_arg == nullptr) continue;
53
+ const std::vector<std::string>& path = path_arg->path();
85
54
  auto it = path.begin();
55
+ if (it == path.end()) continue;
86
56
  ServerAddressList& target_list = result[*it];
87
- std::unique_ptr<HierarchicalPathAttribute> new_attribute;
57
+ ChannelArgs args = address.args();
88
58
  ++it;
89
59
  if (it != path.end()) {
90
60
  std::vector<std::string> remaining_path(it, path.end());
91
- new_attribute = std::make_unique<HierarchicalPathAttribute>(
92
- std::move(remaining_path));
61
+ args = args.SetObject(
62
+ MakeRefCounted<HierarchicalPathArg>(std::move(remaining_path)));
93
63
  }
94
- target_list.emplace_back(address.WithAttribute(
95
- kHierarchicalPathAttributeKey, std::move(new_attribute)));
64
+ target_list.emplace_back(address.address(), args);
96
65
  }
97
66
  return result;
98
67
  }