grpc 1.38.0 → 1.39.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 (199) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +50 -19
  3. data/include/grpc/event_engine/endpoint_config.h +48 -0
  4. data/include/grpc/event_engine/event_engine.h +13 -15
  5. data/include/grpc/event_engine/port.h +2 -0
  6. data/include/grpc/event_engine/slice_allocator.h +17 -7
  7. data/include/grpc/grpc.h +9 -2
  8. data/include/grpc/grpc_security.h +32 -0
  9. data/include/grpc/grpc_security_constants.h +1 -0
  10. data/include/grpc/impl/codegen/grpc_types.h +17 -13
  11. data/include/grpc/impl/codegen/port_platform.h +17 -0
  12. data/src/core/ext/filters/client_channel/client_channel.cc +2 -2
  13. data/src/core/ext/filters/client_channel/health/health_check_client.cc +2 -0
  14. data/src/core/ext/filters/client_channel/health/health_check_client.h +3 -3
  15. data/src/core/ext/filters/client_channel/http_proxy.cc +16 -1
  16. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +755 -0
  17. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +10 -0
  18. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +10 -24
  19. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +63 -95
  20. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +1 -3
  21. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_event_engine.cc +31 -0
  22. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_event_engine.cc +28 -0
  23. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +1 -3
  24. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +7 -2
  25. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +15 -3
  26. data/src/core/ext/filters/client_channel/retry_filter.cc +665 -404
  27. data/src/core/ext/filters/client_channel/retry_service_config.cc +43 -24
  28. data/src/core/ext/filters/client_channel/retry_service_config.h +8 -2
  29. data/src/core/ext/filters/client_idle/client_idle_filter.cc +1 -1
  30. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +6 -0
  31. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +2 -1
  32. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +3 -2
  33. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +10 -4
  34. data/src/core/ext/transport/chttp2/transport/internal.h +1 -0
  35. data/src/core/ext/transport/chttp2/transport/parsing.cc +2 -2
  36. data/src/core/ext/transport/inproc/inproc_transport.cc +42 -31
  37. data/src/core/ext/xds/xds_api.cc +247 -106
  38. data/src/core/ext/xds/xds_api.h +15 -6
  39. data/src/core/lib/address_utils/sockaddr_utils.cc +13 -0
  40. data/src/core/lib/address_utils/sockaddr_utils.h +10 -0
  41. data/src/core/lib/channel/channelz.h +3 -0
  42. data/src/core/lib/event_engine/endpoint_config.cc +46 -0
  43. data/src/core/lib/event_engine/endpoint_config_internal.h +42 -0
  44. data/src/core/lib/event_engine/event_engine.cc +50 -0
  45. data/src/core/lib/event_engine/slice_allocator.cc +33 -3
  46. data/src/core/lib/event_engine/sockaddr.cc +14 -12
  47. data/src/core/lib/event_engine/sockaddr.h +44 -0
  48. data/src/core/lib/gpr/wrap_memcpy.cc +2 -1
  49. data/src/core/lib/gprpp/status_helper.h +3 -0
  50. data/src/core/lib/iomgr/endpoint_pair_event_engine.cc +33 -0
  51. data/src/core/lib/iomgr/error.cc +5 -4
  52. data/src/core/lib/iomgr/error.h +1 -1
  53. data/src/core/lib/iomgr/event_engine/closure.cc +54 -0
  54. data/src/core/lib/iomgr/event_engine/closure.h +33 -0
  55. data/src/core/lib/iomgr/event_engine/endpoint.cc +194 -0
  56. data/src/core/lib/iomgr/event_engine/endpoint.h +53 -0
  57. data/src/core/lib/iomgr/event_engine/iomgr.cc +105 -0
  58. data/src/core/lib/iomgr/event_engine/iomgr.h +24 -0
  59. data/src/core/lib/iomgr/event_engine/pollset.cc +87 -0
  60. data/{include/grpc/event_engine/channel_args.h → src/core/lib/iomgr/event_engine/pollset.h} +7 -10
  61. data/src/core/lib/iomgr/event_engine/promise.h +51 -0
  62. data/src/core/lib/iomgr/event_engine/resolved_address_internal.cc +41 -0
  63. data/src/core/lib/iomgr/event_engine/resolved_address_internal.h +35 -0
  64. data/src/core/lib/iomgr/event_engine/resolver.cc +110 -0
  65. data/src/core/lib/iomgr/event_engine/tcp.cc +243 -0
  66. data/src/core/lib/iomgr/event_engine/timer.cc +57 -0
  67. data/src/core/lib/iomgr/exec_ctx.cc +8 -0
  68. data/src/core/lib/iomgr/exec_ctx.h +3 -4
  69. data/src/core/lib/iomgr/executor/threadpool.cc +2 -3
  70. data/src/core/lib/iomgr/executor/threadpool.h +2 -2
  71. data/src/core/lib/iomgr/iomgr.cc +1 -1
  72. data/src/core/lib/iomgr/iomgr_posix.cc +2 -0
  73. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +40 -10
  74. data/src/core/lib/iomgr/pollset_custom.cc +2 -2
  75. data/src/core/lib/iomgr/pollset_custom.h +3 -1
  76. data/src/core/lib/iomgr/pollset_uv.cc +3 -1
  77. data/src/core/lib/iomgr/pollset_uv.h +5 -1
  78. data/src/core/lib/iomgr/port.h +7 -5
  79. data/src/core/lib/iomgr/resolve_address.cc +5 -1
  80. data/src/core/lib/iomgr/resolve_address.h +6 -0
  81. data/src/core/lib/iomgr/sockaddr.h +1 -0
  82. data/src/core/lib/iomgr/socket_mutator.cc +15 -2
  83. data/src/core/lib/iomgr/socket_mutator.h +26 -2
  84. data/src/core/lib/iomgr/socket_utils_common_posix.cc +4 -4
  85. data/src/core/lib/iomgr/socket_utils_posix.h +2 -2
  86. data/src/core/lib/iomgr/tcp_client_posix.cc +7 -2
  87. data/src/core/lib/iomgr/tcp_posix.cc +42 -39
  88. data/src/core/lib/iomgr/tcp_posix.h +8 -0
  89. data/src/core/lib/iomgr/tcp_server_custom.cc +3 -4
  90. data/src/core/lib/iomgr/tcp_server_posix.cc +6 -0
  91. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +2 -1
  92. data/src/core/lib/iomgr/timer.h +6 -1
  93. data/src/core/lib/security/authorization/authorization_engine.h +44 -0
  94. data/src/core/lib/security/authorization/authorization_policy_provider.h +32 -0
  95. data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +46 -0
  96. data/src/core/lib/security/authorization/evaluate_args.cc +209 -0
  97. data/src/core/lib/security/authorization/evaluate_args.h +91 -0
  98. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +3 -1
  99. data/src/core/lib/security/credentials/tls/tls_utils.cc +32 -0
  100. data/src/core/lib/security/credentials/tls/tls_utils.h +13 -0
  101. data/src/core/lib/security/security_connector/local/local_security_connector.cc +9 -6
  102. data/src/core/lib/security/security_connector/ssl_utils.cc +5 -0
  103. data/src/core/lib/surface/call.cc +21 -1
  104. data/src/core/lib/surface/call.h +11 -0
  105. data/src/core/lib/surface/completion_queue.cc +22 -22
  106. data/src/core/lib/surface/completion_queue.h +1 -1
  107. data/src/core/lib/surface/completion_queue_factory.cc +1 -2
  108. data/src/core/lib/surface/init.cc +1 -3
  109. data/src/core/lib/surface/init.h +10 -1
  110. data/src/core/lib/surface/version.cc +1 -1
  111. data/src/core/lib/transport/error_utils.cc +2 -2
  112. data/src/core/lib/transport/transport.h +2 -0
  113. data/src/core/lib/transport/transport_op_string.cc +1 -1
  114. data/src/core/plugin_registry/grpc_plugin_registry.cc +4 -0
  115. data/src/core/tsi/alts/crypt/gsec.h +2 -0
  116. data/src/ruby/ext/grpc/extconf.rb +2 -0
  117. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +6 -0
  118. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +10 -1
  119. data/src/ruby/lib/grpc/version.rb +1 -1
  120. data/third_party/boringssl-with-bazel/err_data.c +269 -263
  121. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +8 -6
  122. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/cipher_extra.c +4 -0
  123. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +1 -1
  124. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +1 -1
  125. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +9 -0
  126. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.c +0 -4
  127. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c +7 -0
  128. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +87 -121
  129. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +20 -30
  130. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +19 -30
  131. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +1 -4
  132. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +0 -13
  133. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +26 -24
  134. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +10 -7
  135. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +28 -39
  136. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +48 -66
  137. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +4 -5
  138. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +362 -371
  139. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +4 -2
  140. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c +2 -2
  141. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_asn1.c +1 -2
  142. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +101 -11
  143. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.c +3 -0
  144. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +2 -2
  145. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +3 -0
  146. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +1 -1
  147. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +2 -0
  148. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +14 -15
  149. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +53 -73
  150. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +31 -0
  151. data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.c +3 -0
  152. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c +3 -0
  153. data/third_party/boringssl-with-bazel/src/crypto/x509/x_req.c +5 -8
  154. data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c +5 -0
  155. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +3 -0
  156. data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +7 -0
  157. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +1 -1
  158. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +5 -8
  159. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +1 -1
  160. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +66 -1
  161. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +40 -9
  162. data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +1 -0
  163. data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +1 -1
  164. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +6 -2
  165. data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +14 -0
  166. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +19 -11
  167. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +325 -0
  168. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +23 -7
  169. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +99 -63
  170. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +139 -109
  171. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +12 -19
  172. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +48 -50
  173. data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +451 -435
  174. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +0 -1
  175. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +2 -2
  176. data/third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc +1 -1
  177. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +773 -84
  178. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +80 -47
  179. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +24 -19
  180. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +189 -86
  181. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +45 -56
  182. data/third_party/boringssl-with-bazel/src/ssl/internal.h +272 -167
  183. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +2 -2
  184. data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +2 -2
  185. data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +14 -19
  186. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +34 -102
  187. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +2 -0
  188. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +8 -31
  189. data/third_party/boringssl-with-bazel/src/ssl/ssl_stat.cc +3 -0
  190. data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +4 -3
  191. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +7 -3
  192. data/third_party/boringssl-with-bazel/src/ssl/t1_lib.cc +576 -648
  193. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +31 -3
  194. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +98 -39
  195. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +141 -94
  196. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +58 -68
  197. metadata +65 -40
  198. data/third_party/boringssl-with-bazel/src/crypto/hpke/internal.h +0 -267
  199. data/third_party/boringssl-with-bazel/src/crypto/x509/vpm_int.h +0 -71
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 898054e03ccfb8e60f317fed8d55a6e33a53dae1299bfcd175c175c2b4a696ab
4
- data.tar.gz: 132930f0731d00c24ffc6244e05ceeb06b3c16917be0e57d1d3ce67892968cd9
3
+ metadata.gz: 3b78801d737e2f52db73d02b62af50885ed00c600b5a3bfc19889de1d7a7a74f
4
+ data.tar.gz: 25e708b19730ede18d5c328f47780ac02ae3764231d211f38365311a2043e6f9
5
5
  SHA512:
6
- metadata.gz: 4faa5aeb881a7135b350b473a1ed0a41125030bfdea67fa0489a209c9890d22fff4de3898bf9086f198dad8c6dbc57c701780ce35788bd8747409ca7eefb6ca9
7
- data.tar.gz: 79a144f6ef1e58185f29a303deafd1936ff5a10222c209f390f6b3cb144498110bb7c740185028afbdee4b8aa4d12f2a0702c5d84d444244e20fdd68f2740850
6
+ metadata.gz: 57279b2ba95cb213d1140b7089a8cc321bab1bda261ed5d86d8cf7d19b6463093c564fb14c805d2b1a50604ca4dd41297c9e76b388a4eadb21776d133e8b0cae
7
+ data.tar.gz: dfeb8e191366b77a29760f93e70f3c5082d63e2629ce57a3771298373d9ef028061c6347575babe5ad8fe932a27cedd59616b2a06e32dad421f0006ff5c30e8b
data/Makefile CHANGED
@@ -454,9 +454,9 @@ E = @echo
454
454
  Q = @
455
455
  endif
456
456
 
457
- CORE_VERSION = 16.0.0
458
- CPP_VERSION = 1.38.0
459
- CSHARP_VERSION = 2.38.0
457
+ CORE_VERSION = 17.0.0
458
+ CPP_VERSION = 1.39.0-pre1
459
+ CSHARP_VERSION = 2.39.0-pre1
460
460
 
461
461
  CPPFLAGS_NO_ARCH += $(addprefix -I, $(INCLUDES)) $(addprefix -D, $(DEFINES))
462
462
  CPPFLAGS += $(CPPFLAGS_NO_ARCH) $(ARCH_FLAGS)
@@ -492,7 +492,7 @@ SHARED_EXT_CORE = dll
492
492
  SHARED_EXT_CPP = dll
493
493
  SHARED_EXT_CSHARP = dll
494
494
  SHARED_PREFIX =
495
- SHARED_VERSION_CORE = -16
495
+ SHARED_VERSION_CORE = -17
496
496
  SHARED_VERSION_CPP = -1
497
497
  SHARED_VERSION_CSHARP = -2
498
498
  else ifeq ($(SYSTEM),Darwin)
@@ -891,8 +891,8 @@ $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE):
891
891
  ifeq ($(SYSTEM),Darwin)
892
892
  $(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)
893
893
  else
894
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libaddress_sorting.so.16 -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)
895
- $(Q) ln -sf $(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE).so.16
894
+ $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libaddress_sorting.so.17 -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)
895
+ $(Q) ln -sf $(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE).so.17
896
896
  $(Q) ln -sf $(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE).so
897
897
  endif
898
898
  endif
@@ -1032,8 +1032,8 @@ $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGPR_OB
1032
1032
  ifeq ($(SYSTEM),Darwin)
1033
1033
  $(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) $(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)
1034
1034
  else
1035
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgpr.so.16 -o $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGPR_OBJS) $(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)
1036
- $(Q) ln -sf $(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).so.16
1035
+ $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgpr.so.17 -o $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGPR_OBJS) $(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)
1036
+ $(Q) ln -sf $(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).so.17
1037
1037
  $(Q) ln -sf $(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).so
1038
1038
  endif
1039
1039
  endif
@@ -1083,10 +1083,12 @@ LIBGRPC_SRC = \
1083
1083
  src/core/ext/filters/client_channel/proxy_mapper_registry.cc \
1084
1084
  src/core/ext/filters/client_channel/resolver.cc \
1085
1085
  src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc \
1086
+ src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_event_engine.cc \
1086
1087
  src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc \
1087
1088
  src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc \
1088
1089
  src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc \
1089
1090
  src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc \
1091
+ src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_event_engine.cc \
1090
1092
  src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc \
1091
1093
  src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc \
1092
1094
  src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc \
@@ -1367,6 +1369,8 @@ LIBGRPC_SRC = \
1367
1369
  src/core/lib/debug/stats.cc \
1368
1370
  src/core/lib/debug/stats_data.cc \
1369
1371
  src/core/lib/debug/trace.cc \
1372
+ src/core/lib/event_engine/endpoint_config.cc \
1373
+ src/core/lib/event_engine/event_engine.cc \
1370
1374
  src/core/lib/event_engine/slice_allocator.cc \
1371
1375
  src/core/lib/event_engine/sockaddr.cc \
1372
1376
  src/core/lib/http/format_request.cc \
@@ -1380,6 +1384,7 @@ LIBGRPC_SRC = \
1380
1384
  src/core/lib/iomgr/dualstack_socket_posix.cc \
1381
1385
  src/core/lib/iomgr/endpoint.cc \
1382
1386
  src/core/lib/iomgr/endpoint_cfstream.cc \
1387
+ src/core/lib/iomgr/endpoint_pair_event_engine.cc \
1383
1388
  src/core/lib/iomgr/endpoint_pair_posix.cc \
1384
1389
  src/core/lib/iomgr/endpoint_pair_uv.cc \
1385
1390
  src/core/lib/iomgr/endpoint_pair_windows.cc \
@@ -1391,6 +1396,14 @@ LIBGRPC_SRC = \
1391
1396
  src/core/lib/iomgr/ev_poll_posix.cc \
1392
1397
  src/core/lib/iomgr/ev_posix.cc \
1393
1398
  src/core/lib/iomgr/ev_windows.cc \
1399
+ src/core/lib/iomgr/event_engine/closure.cc \
1400
+ src/core/lib/iomgr/event_engine/endpoint.cc \
1401
+ src/core/lib/iomgr/event_engine/iomgr.cc \
1402
+ src/core/lib/iomgr/event_engine/pollset.cc \
1403
+ src/core/lib/iomgr/event_engine/resolved_address_internal.cc \
1404
+ src/core/lib/iomgr/event_engine/resolver.cc \
1405
+ src/core/lib/iomgr/event_engine/tcp.cc \
1406
+ src/core/lib/iomgr/event_engine/timer.cc \
1394
1407
  src/core/lib/iomgr/exec_ctx.cc \
1395
1408
  src/core/lib/iomgr/executor.cc \
1396
1409
  src/core/lib/iomgr/executor/mpmcqueue.cc \
@@ -1470,6 +1483,8 @@ LIBGRPC_SRC = \
1470
1483
  src/core/lib/json/json_util.cc \
1471
1484
  src/core/lib/json/json_writer.cc \
1472
1485
  src/core/lib/matchers/matchers.cc \
1486
+ src/core/lib/security/authorization/authorization_policy_provider_vtable.cc \
1487
+ src/core/lib/security/authorization/evaluate_args.cc \
1473
1488
  src/core/lib/security/context/security_context.cc \
1474
1489
  src/core/lib/security/credentials/alts/alts_credentials.cc \
1475
1490
  src/core/lib/security/credentials/alts/check_gcp_environment.cc \
@@ -1597,7 +1612,7 @@ PUBLIC_HEADERS_C += \
1597
1612
  include/grpc/byte_buffer_reader.h \
1598
1613
  include/grpc/census.h \
1599
1614
  include/grpc/compression.h \
1600
- include/grpc/event_engine/channel_args.h \
1615
+ include/grpc/event_engine/endpoint_config.h \
1601
1616
  include/grpc/event_engine/event_engine.h \
1602
1617
  include/grpc/event_engine/port.h \
1603
1618
  include/grpc/event_engine/slice_allocator.h \
@@ -1648,8 +1663,8 @@ $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGRPC_
1648
1663
  ifeq ($(SYSTEM),Darwin)
1649
1664
  $(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 $(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)
1650
1665
  else
1651
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.16 -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.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)
1652
- $(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so.16
1666
+ $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.17 -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.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)
1667
+ $(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so.17
1653
1668
  $(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so
1654
1669
  endif
1655
1670
  endif
@@ -1696,8 +1711,8 @@ $(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE):
1696
1711
  ifeq ($(SYSTEM),Darwin)
1697
1712
  $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_CSHARP_EXT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
1698
1713
  else
1699
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc_csharp_ext.so.16 -o $(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_CSHARP_EXT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
1700
- $(Q) ln -sf $(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CORE).so.16
1714
+ $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc_csharp_ext.so.17 -o $(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_CSHARP_EXT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
1715
+ $(Q) ln -sf $(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CORE).so.17
1701
1716
  $(Q) ln -sf $(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CORE).so
1702
1717
  endif
1703
1718
  endif
@@ -1735,6 +1750,7 @@ LIBGRPC_UNSECURE_SRC = \
1735
1750
  src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc \
1736
1751
  src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc \
1737
1752
  src/core/ext/filters/client_channel/lb_policy/priority/priority.cc \
1753
+ src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc \
1738
1754
  src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc \
1739
1755
  src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc \
1740
1756
  src/core/ext/filters/client_channel/lb_policy_registry.cc \
@@ -1742,10 +1758,12 @@ LIBGRPC_UNSECURE_SRC = \
1742
1758
  src/core/ext/filters/client_channel/proxy_mapper_registry.cc \
1743
1759
  src/core/ext/filters/client_channel/resolver.cc \
1744
1760
  src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc \
1761
+ src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_event_engine.cc \
1745
1762
  src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc \
1746
1763
  src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc \
1747
1764
  src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc \
1748
1765
  src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc \
1766
+ src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_event_engine.cc \
1749
1767
  src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc \
1750
1768
  src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc \
1751
1769
  src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc \
@@ -1839,6 +1857,8 @@ LIBGRPC_UNSECURE_SRC = \
1839
1857
  src/core/lib/debug/stats.cc \
1840
1858
  src/core/lib/debug/stats_data.cc \
1841
1859
  src/core/lib/debug/trace.cc \
1860
+ src/core/lib/event_engine/endpoint_config.cc \
1861
+ src/core/lib/event_engine/event_engine.cc \
1842
1862
  src/core/lib/event_engine/slice_allocator.cc \
1843
1863
  src/core/lib/event_engine/sockaddr.cc \
1844
1864
  src/core/lib/http/format_request.cc \
@@ -1851,6 +1871,7 @@ LIBGRPC_UNSECURE_SRC = \
1851
1871
  src/core/lib/iomgr/dualstack_socket_posix.cc \
1852
1872
  src/core/lib/iomgr/endpoint.cc \
1853
1873
  src/core/lib/iomgr/endpoint_cfstream.cc \
1874
+ src/core/lib/iomgr/endpoint_pair_event_engine.cc \
1854
1875
  src/core/lib/iomgr/endpoint_pair_posix.cc \
1855
1876
  src/core/lib/iomgr/endpoint_pair_uv.cc \
1856
1877
  src/core/lib/iomgr/endpoint_pair_windows.cc \
@@ -1862,6 +1883,14 @@ LIBGRPC_UNSECURE_SRC = \
1862
1883
  src/core/lib/iomgr/ev_poll_posix.cc \
1863
1884
  src/core/lib/iomgr/ev_posix.cc \
1864
1885
  src/core/lib/iomgr/ev_windows.cc \
1886
+ src/core/lib/iomgr/event_engine/closure.cc \
1887
+ src/core/lib/iomgr/event_engine/endpoint.cc \
1888
+ src/core/lib/iomgr/event_engine/iomgr.cc \
1889
+ src/core/lib/iomgr/event_engine/pollset.cc \
1890
+ src/core/lib/iomgr/event_engine/resolved_address_internal.cc \
1891
+ src/core/lib/iomgr/event_engine/resolver.cc \
1892
+ src/core/lib/iomgr/event_engine/tcp.cc \
1893
+ src/core/lib/iomgr/event_engine/timer.cc \
1865
1894
  src/core/lib/iomgr/exec_ctx.cc \
1866
1895
  src/core/lib/iomgr/executor.cc \
1867
1896
  src/core/lib/iomgr/executor/mpmcqueue.cc \
@@ -1940,6 +1969,7 @@ LIBGRPC_UNSECURE_SRC = \
1940
1969
  src/core/lib/json/json_reader.cc \
1941
1970
  src/core/lib/json/json_util.cc \
1942
1971
  src/core/lib/json/json_writer.cc \
1972
+ src/core/lib/security/authorization/authorization_policy_provider_null_vtable.cc \
1943
1973
  src/core/lib/slice/b64.cc \
1944
1974
  src/core/lib/slice/percent_encoding.cc \
1945
1975
  src/core/lib/slice/slice.cc \
@@ -1988,7 +2018,7 @@ PUBLIC_HEADERS_C += \
1988
2018
  include/grpc/byte_buffer_reader.h \
1989
2019
  include/grpc/census.h \
1990
2020
  include/grpc/compression.h \
1991
- include/grpc/event_engine/channel_args.h \
2021
+ include/grpc/event_engine/endpoint_config.h \
1992
2022
  include/grpc/event_engine/event_engine.h \
1993
2023
  include/grpc/event_engine/port.h \
1994
2024
  include/grpc/event_engine/slice_allocator.h \
@@ -2028,8 +2058,8 @@ $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $
2028
2058
  ifeq ($(SYSTEM),Darwin)
2029
2059
  $(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 $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
2030
2060
  else
2031
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc_unsecure.so.16 -o $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_UNSECURE_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
2032
- $(Q) ln -sf $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).so.16
2061
+ $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc_unsecure.so.17 -o $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_UNSECURE_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
2062
+ $(Q) ln -sf $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).so.17
2033
2063
  $(Q) ln -sf $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).so
2034
2064
  endif
2035
2065
  endif
@@ -2424,8 +2454,8 @@ $(LIBDIR)/$(CONFIG)/libupb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBUPB_OB
2424
2454
  ifeq ($(SYSTEM),Darwin)
2425
2455
  $(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)
2426
2456
  else
2427
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libupb.so.16 -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)
2428
- $(Q) ln -sf $(SHARED_PREFIX)upb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libupb$(SHARED_VERSION_CORE).so.16
2457
+ $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libupb.so.17 -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)
2458
+ $(Q) ln -sf $(SHARED_PREFIX)upb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libupb$(SHARED_VERSION_CORE).so.17
2429
2459
  $(Q) ln -sf $(SHARED_PREFIX)upb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libupb$(SHARED_VERSION_CORE).so
2430
2460
  endif
2431
2461
  endif
@@ -2669,7 +2699,6 @@ ifneq ($(OPENSSL_DEP),)
2669
2699
  # installing headers to their final destination on the drive. We need this
2670
2700
  # otherwise parallel compilation will fail if a source is compiled first.
2671
2701
  src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc: $(OPENSSL_DEP)
2672
- src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc: $(OPENSSL_DEP)
2673
2702
  src/core/ext/filters/client_channel/lb_policy/xds/cds.cc: $(OPENSSL_DEP)
2674
2703
  src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc: $(OPENSSL_DEP)
2675
2704
  src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc: $(OPENSSL_DEP)
@@ -2863,6 +2892,8 @@ src/core/ext/xds/xds_http_filters.cc: $(OPENSSL_DEP)
2863
2892
  src/core/ext/xds/xds_server_config_fetcher.cc: $(OPENSSL_DEP)
2864
2893
  src/core/lib/http/httpcli_security_connector.cc: $(OPENSSL_DEP)
2865
2894
  src/core/lib/matchers/matchers.cc: $(OPENSSL_DEP)
2895
+ src/core/lib/security/authorization/authorization_policy_provider_vtable.cc: $(OPENSSL_DEP)
2896
+ src/core/lib/security/authorization/evaluate_args.cc: $(OPENSSL_DEP)
2866
2897
  src/core/lib/security/context/security_context.cc: $(OPENSSL_DEP)
2867
2898
  src/core/lib/security/credentials/alts/alts_credentials.cc: $(OPENSSL_DEP)
2868
2899
  src/core/lib/security/credentials/alts/check_gcp_environment.cc: $(OPENSSL_DEP)
@@ -0,0 +1,48 @@
1
+ // Copyright 2021 The gRPC Authors
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ #ifndef GRPC_EVENT_ENGINE_ENDPOINT_CONFIG_H
15
+ #define GRPC_EVENT_ENGINE_ENDPOINT_CONFIG_H
16
+
17
+ #include <grpc/support/port_platform.h>
18
+
19
+ #include <string>
20
+
21
+ #include "absl/strings/string_view.h"
22
+ #include "absl/types/variant.h"
23
+
24
+ namespace grpc_event_engine {
25
+ namespace experimental {
26
+
27
+ /// A set of parameters used to configure an endpoint, either when initiating a
28
+ /// new connection on the client side or when listening for incoming connections
29
+ /// on the server side. An EndpointConfig contains a set of zero or more
30
+ /// Settings. Each setting has a unique name, which can be used to fetch that
31
+ /// Setting via the Get() method. Each Setting has a value, which can be an
32
+ /// integer, string, or void pointer. Each EE impl should define the set of
33
+ /// Settings that it supports being passed into it, along with the corresponding
34
+ /// type.
35
+ class EndpointConfig {
36
+ public:
37
+ virtual ~EndpointConfig() = default;
38
+ using Setting = absl::variant<absl::monostate, int, absl::string_view, void*>;
39
+ /// Returns an EndpointConfig Setting. If there is no Setting associated with
40
+ /// \a key in the EndpointConfig, an \a absl::monostate type will be
41
+ /// returned. Caller does not take ownership of resulting value.
42
+ virtual Setting Get(absl::string_view key) const = 0;
43
+ };
44
+
45
+ } // namespace experimental
46
+ } // namespace grpc_event_engine
47
+
48
+ #endif // GRPC_EVENT_ENGINE_ENDPOINT_CONFIG_H
@@ -23,13 +23,11 @@
23
23
  #include "absl/status/statusor.h"
24
24
  #include "absl/time/time.h"
25
25
 
26
- #include "grpc/event_engine/channel_args.h"
26
+ #include "grpc/event_engine/endpoint_config.h"
27
27
  #include "grpc/event_engine/port.h"
28
28
  #include "grpc/event_engine/slice_allocator.h"
29
29
 
30
- // TODO(hork): explicitly define lifetimes and ownership of all objects.
31
30
  // TODO(hork): Define the Endpoint::Write metrics collection system
32
-
33
31
  namespace grpc_event_engine {
34
32
  namespace experimental {
35
33
 
@@ -96,12 +94,14 @@ class EventEngine {
96
94
  static constexpr socklen_t MAX_SIZE_BYTES = 128;
97
95
 
98
96
  ResolvedAddress(const sockaddr* address, socklen_t size);
97
+ ResolvedAddress() = default;
98
+ ResolvedAddress(const ResolvedAddress&) = default;
99
99
  const struct sockaddr* address() const;
100
100
  socklen_t size() const;
101
101
 
102
102
  private:
103
103
  char address_[MAX_SIZE_BYTES];
104
- socklen_t size_;
104
+ socklen_t size_ = 0;
105
105
  };
106
106
 
107
107
  /// An Endpoint represents one end of a connection between a gRPC client and
@@ -144,9 +144,6 @@ class EventEngine {
144
144
  /// on endpoint shutdown.
145
145
  virtual void Write(Callback on_writable, SliceBuffer* data,
146
146
  absl::Time deadline) = 0;
147
- // TODO(hork): define status codes for the callback
148
- // TODO(hork): define cleanup operations, lifetimes, responsibilities.
149
- virtual void Close(Callback on_close) = 0;
150
147
  /// These methods return an address in the format described in DNSResolver.
151
148
  /// The returned values are owned by the Endpoint and are expected to remain
152
149
  /// valid for the life of the Endpoint.
@@ -199,7 +196,7 @@ class EventEngine {
199
196
  /// for Endpoint construction.
200
197
  virtual absl::StatusOr<std::unique_ptr<Listener>> CreateListener(
201
198
  Listener::AcceptCallback on_accept, Callback on_shutdown,
202
- const ChannelArgs& args,
199
+ const EndpointConfig& args,
203
200
  SliceAllocatorFactory slice_allocator_factory) = 0;
204
201
  /// Creates a client network connection to a remote network listener.
205
202
  ///
@@ -216,7 +213,7 @@ class EventEngine {
216
213
  /// SliceAllocator API for more information.
217
214
  virtual absl::Status Connect(OnConnectCallback on_connect,
218
215
  const ResolvedAddress& addr,
219
- const ChannelArgs& args,
216
+ const EndpointConfig& args,
220
217
  SliceAllocator slice_allocator,
221
218
  absl::Time deadline) = 0;
222
219
 
@@ -280,13 +277,16 @@ class EventEngine {
280
277
 
281
278
  virtual ~EventEngine() = default;
282
279
 
280
+ // TODO(nnoble): consider whether we can remove this method before we
281
+ // de-experimentalize this API.
282
+ virtual bool IsWorkerThread() = 0;
283
+
283
284
  // TODO(hork): define return status codes
284
285
  /// Retrieves an instance of a DNSResolver.
285
286
  virtual absl::StatusOr<std::unique_ptr<DNSResolver>> GetDNSResolver() = 0;
286
287
 
287
288
  /// Intended for future expansion of Task run functionality.
288
289
  struct RunOptions {};
289
- // TODO(hork): consider recommendation to make TaskHandle an output arg
290
290
  /// Run a callback as soon as possible.
291
291
  ///
292
292
  /// The \a fn callback's \a status argument is used to indicate whether it was
@@ -324,11 +324,9 @@ class EventEngine {
324
324
  virtual void Shutdown(Callback on_shutdown_complete) = 0;
325
325
  };
326
326
 
327
- /// Lazily instantiate and return a default global EventEngine instance if no
328
- /// custom instance is provided. If a custom EventEngine is provided for every
329
- /// channel/server via ChannelArgs, this method should never be called, and the
330
- /// default instance will never be instantiated.
331
- std::shared_ptr<EventEngine> GetDefaultEventEngine();
327
+ // TODO(hork): finalize the API and document it. We need to firm up the story
328
+ // around user-provided EventEngines.
329
+ std::shared_ptr<EventEngine> DefaultEventEngineFactory();
332
330
 
333
331
  } // namespace experimental
334
332
  } // namespace grpc_event_engine
@@ -24,9 +24,11 @@
24
24
  defined(GPR_AIX) || defined(GPR_NACL) || defined(GPR_FUCHSIA) || \
25
25
  defined(GRPC_POSIX_SOCKET)
26
26
  #define GRPC_EVENT_ENGINE_POSIX
27
+ #include <arpa/inet.h>
27
28
  #include <netdb.h>
28
29
  #include <netinet/in.h>
29
30
  #include <sys/socket.h>
31
+ #include <unistd.h>
30
32
  #elif defined(GPR_WINDOWS)
31
33
  #include <winsock2.h>
32
34
  #include <ws2tcpip.h>
@@ -23,12 +23,17 @@
23
23
  // forward-declaring an internal struct, not used publicly.
24
24
  struct grpc_resource_quota;
25
25
  struct grpc_resource_user;
26
+ struct grpc_slice_buffer;
26
27
 
27
28
  namespace grpc_event_engine {
28
29
  namespace experimental {
29
30
 
30
- // TODO(nnoble): forward declared here, needs definition.
31
- class SliceBuffer;
31
+ // TODO(hork): stubbed out here, to be replaced with a real version in next PR.
32
+ class SliceBuffer {
33
+ public:
34
+ SliceBuffer() { abort(); }
35
+ explicit SliceBuffer(grpc_slice_buffer*) { abort(); }
36
+ };
32
37
 
33
38
  class SliceAllocator {
34
39
  public:
@@ -38,15 +43,20 @@ class SliceAllocator {
38
43
  SliceAllocator(SliceAllocator& other) = delete;
39
44
  SliceAllocator& operator=(const SliceAllocator& other) = delete;
40
45
  // Moveable
41
- SliceAllocator(SliceAllocator&& other) = default;
42
- SliceAllocator& operator=(SliceAllocator&& other) = default;
46
+ SliceAllocator(SliceAllocator&& other) noexcept;
47
+ SliceAllocator& operator=(SliceAllocator&& other) noexcept;
43
48
  ~SliceAllocator();
44
49
 
45
50
  using AllocateCallback =
46
51
  std::function<void(absl::Status, SliceBuffer* buffer)>;
47
- // TODO(hork): explain what happens under resource exhaustion.
48
52
  /// Requests \a size bytes from gRPC, and populates \a dest with the allocated
49
53
  /// slices. Ownership of the \a SliceBuffer is not transferred.
54
+ ///
55
+ /// gRPC provides a ResourceQuota system to cap the amount of memory used by
56
+ /// the library. When a memory limit has been reached, slice allocation is
57
+ /// interrupted to attempt to reclaim memory from participating gRPC
58
+ /// internals. When there is sufficient memory available, slice allocation
59
+ /// proceeds as normal.
50
60
  absl::Status Allocate(size_t size, SliceBuffer* dest,
51
61
  SliceAllocator::AllocateCallback cb);
52
62
 
@@ -62,8 +72,8 @@ class SliceAllocatorFactory {
62
72
  SliceAllocatorFactory(SliceAllocatorFactory& other) = delete;
63
73
  SliceAllocatorFactory& operator=(const SliceAllocatorFactory& other) = delete;
64
74
  // Moveable
65
- SliceAllocatorFactory(SliceAllocatorFactory&& other) = default;
66
- SliceAllocatorFactory& operator=(SliceAllocatorFactory&& other) = default;
75
+ SliceAllocatorFactory(SliceAllocatorFactory&& other) noexcept;
76
+ SliceAllocatorFactory& operator=(SliceAllocatorFactory&& other) noexcept;
67
77
  ~SliceAllocatorFactory();
68
78
 
69
79
  /// On Endpoint creation, call \a CreateSliceAllocator with the name of the
data/include/grpc/grpc.h CHANGED
@@ -115,8 +115,7 @@ GRPCAPI grpc_completion_queue* grpc_completion_queue_create_for_pluck(
115
115
  of GRPC_CQ_CALLBACK and grpc_cq_polling_type of GRPC_CQ_DEFAULT_POLLING.
116
116
  This function is experimental. */
117
117
  GRPCAPI grpc_completion_queue* grpc_completion_queue_create_for_callback(
118
- grpc_experimental_completion_queue_functor* shutdown_callback,
119
- void* reserved);
118
+ grpc_completion_queue_functor* shutdown_callback, void* reserved);
120
119
 
121
120
  /** Create a completion queue */
122
121
  GRPCAPI grpc_completion_queue* grpc_completion_queue_create(
@@ -555,6 +554,14 @@ GRPCAPI char* grpc_channelz_get_subchannel(intptr_t subchannel_id);
555
554
  is allocated and must be freed by the application. */
556
555
  GRPCAPI char* grpc_channelz_get_socket(intptr_t socket_id);
557
556
 
557
+ /**
558
+ * EXPERIMENTAL - Subject to change.
559
+ * Fetch a vtable for grpc_channel_arg that points to
560
+ * grpc_authorization_policy_provider.
561
+ */
562
+ GRPCAPI const grpc_arg_pointer_vtable*
563
+ grpc_authorization_policy_provider_arg_vtable(void);
564
+
558
565
  #ifdef __cplusplus
559
566
  }
560
567
  #endif