diff --git a/BUILD b/BUILD index 3e6b0e2cbe2cca51056b9fa8f98906b6c81c4757..2652f40b595a543a03922f06f80920e833f75474 100644 --- a/BUILD +++ b/BUILD @@ -521,6 +521,7 @@ cc_library( "src/core/ext/lb_policy/pick_first/pick_first.c", "src/core/ext/lb_policy/round_robin/round_robin.c", "src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c", + "src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c", "src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c", "src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c", "src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c", @@ -1273,6 +1274,7 @@ cc_library( "src/core/ext/client_channel/subchannel_index.c", "src/core/ext/client_channel/uri_parser.c", "src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c", + "src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c", "src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c", "src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c", "src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c", @@ -2195,6 +2197,7 @@ objc_library( "src/core/ext/lb_policy/pick_first/pick_first.c", "src/core/ext/lb_policy/round_robin/round_robin.c", "src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c", + "src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c", "src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c", "src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c", "src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c", diff --git a/CMakeLists.txt b/CMakeLists.txt index 6e6db36f60a543e8e6a92949b67628f457e5c7f9..4ec7b20ebda7ffc9d5d0808432e6959409dfacc5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -505,6 +505,7 @@ add_library(grpc src/core/ext/lb_policy/pick_first/pick_first.c src/core/ext/lb_policy/round_robin/round_robin.c src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c + src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c @@ -993,6 +994,7 @@ add_library(grpc_unsecure src/core/ext/client_channel/subchannel_index.c src/core/ext/client_channel/uri_parser.c src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c + src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c diff --git a/Makefile b/Makefile index a811e10e6ac53ae48899918d773b652eb1e86993..c0e7648e0f10e20f02291444974a5fbb8997cf97 100644 --- a/Makefile +++ b/Makefile @@ -2823,6 +2823,7 @@ LIBGRPC_SRC = \ src/core/ext/lb_policy/pick_first/pick_first.c \ src/core/ext/lb_policy/round_robin/round_robin.c \ src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c \ + src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c \ src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c \ src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c \ src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c \ @@ -3571,6 +3572,7 @@ LIBGRPC_UNSECURE_SRC = \ src/core/ext/client_channel/subchannel_index.c \ src/core/ext/client_channel/uri_parser.c \ src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c \ + src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c \ src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c \ src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c \ src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c \ diff --git a/binding.gyp b/binding.gyp index 9dcd2e36400d8c75c24d69984c24b3f24812869c..5d707cd6041b354021b658d03857afc8822b1796 100644 --- a/binding.gyp +++ b/binding.gyp @@ -761,6 +761,7 @@ 'src/core/ext/lb_policy/pick_first/pick_first.c', 'src/core/ext/lb_policy/round_robin/round_robin.c', 'src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c', + 'src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c', 'src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c', 'src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c', 'src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c', diff --git a/build.yaml b/build.yaml index 02caafc0c091efc6f14d26b6ded9aededa2f38b9..99fb2d87bc9aa1bdee599495d489d4a9bc820914 100644 --- a/build.yaml +++ b/build.yaml @@ -465,6 +465,7 @@ filegroups: - src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.h src: - src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c + - src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c - src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c - src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c - src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c diff --git a/config.m4 b/config.m4 index a7effbf06f8d57071fe5fc3b66f28670cf50d7a5..45d30a7ef0af7754efd2022427bd88bb16071026 100644 --- a/config.m4 +++ b/config.m4 @@ -273,6 +273,7 @@ if test "$PHP_GRPC" != "no"; then src/core/ext/lb_policy/pick_first/pick_first.c \ src/core/ext/lb_policy/round_robin/round_robin.c \ src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c \ + src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c \ src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c \ src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c \ src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c \ diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index ad4d985063352b66d87d2563ccc39f47b053db8b..7e08f9170f4ea507a12dad98d31b1ade5e059560 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -616,6 +616,7 @@ Pod::Spec.new do |s| 'src/core/ext/lb_policy/pick_first/pick_first.c', 'src/core/ext/lb_policy/round_robin/round_robin.c', 'src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c', + 'src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c', 'src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c', 'src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c', 'src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c', diff --git a/grpc.gemspec b/grpc.gemspec index f8793e0e5073a2961d6aa6139c5a7a4ab0197478..860f42bbc1abde02e12728729c31d74f4abd22f6 100755 --- a/grpc.gemspec +++ b/grpc.gemspec @@ -535,6 +535,7 @@ Gem::Specification.new do |s| s.files += %w( src/core/ext/lb_policy/pick_first/pick_first.c ) s.files += %w( src/core/ext/lb_policy/round_robin/round_robin.c ) s.files += %w( src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c ) + s.files += %w( src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c ) s.files += %w( src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c ) s.files += %w( src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c ) s.files += %w( src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c ) diff --git a/package.xml b/package.xml index 15310d751be72e7f4a4a9e5a217ef4f0eddda4b3..c485dfbf938785a973ad329edd45566cb988c353 100644 --- a/package.xml +++ b/package.xml @@ -542,6 +542,7 @@ <file baseinstalldir="/" name="src/core/ext/lb_policy/pick_first/pick_first.c" role="src" /> <file baseinstalldir="/" name="src/core/ext/lb_policy/round_robin/round_robin.c" role="src" /> <file baseinstalldir="/" name="src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c" role="src" /> <file baseinstalldir="/" name="src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c" role="src" /> <file baseinstalldir="/" name="src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c" role="src" /> <file baseinstalldir="/" name="src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c" role="src" /> diff --git a/src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver.h b/src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver.h index 4d2b451321b11c2d823a726f2284d2bc82521490..f31d9580a1ddbdaa4f412a47cab38597621e6cb0 100644 --- a/src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver.h +++ b/src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver.h @@ -34,9 +34,6 @@ #ifndef GRPC_CORE_EXT_RESOLVER_DNS_C_ARES_GRPC_ARES_EV_DRIVER_H #define GRPC_CORE_EXT_RESOLVER_DNS_C_ARES_GRPC_ARES_EV_DRIVER_H -#include <grpc/support/port_platform.h> -#ifndef GRPC_NATIVE_ADDRESS_RESOLVE - #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/iomgr/pollset_set.h" @@ -64,6 +61,4 @@ grpc_error *grpc_ares_ev_driver_create(grpc_ares_ev_driver **ev_driver, void grpc_ares_ev_driver_destroy(grpc_exec_ctx *exec_ctx, grpc_ares_ev_driver *ev_driver); -#endif /* GRPC_NATIVE_ADDRESS_RESOLVE */ - #endif /* GRPC_CORE_EXT_RESOLVER_DNS_C_ARES_GRPC_ARES_EV_DRIVER_H */ diff --git a/src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_windows.c b/src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c similarity index 72% rename from src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_windows.c rename to src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c index 4c055d90d92a6cdfed84ca8b2761742dddc5cfe7..2b5fd44f05abbb04b665971867925e934413dbfa 100644 --- a/src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_windows.c +++ b/src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c @@ -30,8 +30,27 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ + #include <grpc/support/port_platform.h> -#ifdef GPR_WINSOCK_SOCKET +#ifdef GRPC_NATIVE_ADDRESS_RESOLVE + #include "src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver.h" -#endif /* GPR_WINSOCK_SOCKET */ +struct grpc_ares_ev_driver {}; + +void grpc_ares_ev_driver_start(grpc_exec_ctx *exec_ctx, + grpc_ares_ev_driver *ev_driver) {} + +void *grpc_ares_ev_driver_get_channel(grpc_ares_ev_driver *ev_driver) { + return NULL; +} + +grpc_error *grpc_ares_ev_driver_create(grpc_ares_ev_driver **ev_driver, + grpc_pollset_set *pollset_set) { + return GRPC_ERROR_NONE; +} + +void grpc_ares_ev_driver_destroy(grpc_exec_ctx *exec_ctx, + grpc_ares_ev_driver *ev_driver) {} + +#endif /* GRPC_NATIVE_ADDRESS_RESOLVE */ diff --git a/src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c b/src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c index 6c1053a5550e71384de11fe429827e546615af24..05eae51d0d7bb5557b0c4b6c0ff90724a67b42ea 100644 --- a/src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c +++ b/src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c @@ -40,7 +40,7 @@ void grpc_resolve_address_ares_impl(grpc_exec_ctx *exec_ctx, const char *name, const char *default_port, - grpc_pollset_set *pollset_set, + grpc_ares_ev_driver *ev_driver, grpc_closure *on_done, grpc_resolved_addresses **addrs) { grpc_resolve_address(exec_ctx, name, default_port, on_done, addrs); @@ -48,7 +48,7 @@ void grpc_resolve_address_ares_impl(grpc_exec_ctx *exec_ctx, const char *name, void (*grpc_resolve_address_ares)( grpc_exec_ctx *exec_ctx, const char *name, const char *default_port, - grpc_pollset_set *pollset_set, grpc_closure *on_done, + grpc_ares_ev_driver *ev_driver, grpc_closure *on_done, grpc_resolved_addresses **addrs) = grpc_resolve_address_ares_impl; grpc_error *grpc_ares_init(void) { return GRPC_ERROR_NONE; } diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py index ab3fe9cfbb0a014ac27e72dc8535ed1b63cbd55b..7aeb491b045faf18a21af32d3a577a44bd32c90d 100644 --- a/src/python/grpcio/grpc_core_dependencies.py +++ b/src/python/grpcio/grpc_core_dependencies.py @@ -267,6 +267,7 @@ CORE_SOURCE_FILES = [ 'src/core/ext/lb_policy/pick_first/pick_first.c', 'src/core/ext/lb_policy/round_robin/round_robin.c', 'src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c', + 'src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c', 'src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c', 'src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c', 'src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c', diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index 5d6d6f2c1602f7f0dffca210ad23e1c60ae433d9..bd30636c752ebd44f06e9419bb695561e8e591f1 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -1152,6 +1152,7 @@ third_party/nanopb/pb_encode.c \ src/core/ext/lb_policy/pick_first/pick_first.c \ src/core/ext/lb_policy/round_robin/round_robin.c \ src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c \ +src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c \ src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c \ src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c \ src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c \ diff --git a/tools/run_tests/sources_and_headers.json b/tools/run_tests/sources_and_headers.json index aa8b1b9c82ff4480ae5ac023344c5e41733bd5f9..f294eb1e18c55651f921b5ab1c912b507b5984c0 100644 --- a/tools/run_tests/sources_and_headers.json +++ b/tools/run_tests/sources_and_headers.json @@ -7087,6 +7087,7 @@ "src": [ "src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c", "src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver.h", + "src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c", "src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c", "src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c", "src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.h", diff --git a/vsprojects/vcxproj/grpc/grpc.vcxproj b/vsprojects/vcxproj/grpc/grpc.vcxproj index d39a8241dff51b43cc06eb63e6f8f71b30a38268..e217f4cc05a00a60bd799cbc2699e7f9d85d970a 100644 --- a/vsprojects/vcxproj/grpc/grpc.vcxproj +++ b/vsprojects/vcxproj/grpc/grpc.vcxproj @@ -853,6 +853,8 @@ </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\c_ares\dns_resolver_ares.c"> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\c_ares\grpc_ares_ev_driver_fallback.c"> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\c_ares\grpc_ares_ev_driver_posix.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\c_ares\grpc_ares_wrapper.c"> diff --git a/vsprojects/vcxproj/grpc/grpc.vcxproj.filters b/vsprojects/vcxproj/grpc/grpc.vcxproj.filters index 41954f22e62e5f9db4a24c7356a9804ef0c49702..65c42292d191515f836f9679e476f202def48c0d 100644 --- a/vsprojects/vcxproj/grpc/grpc.vcxproj.filters +++ b/vsprojects/vcxproj/grpc/grpc.vcxproj.filters @@ -571,6 +571,9 @@ <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\c_ares\dns_resolver_ares.c"> <Filter>src\core\ext\resolver\dns\c_ares</Filter> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\c_ares\grpc_ares_ev_driver_fallback.c"> + <Filter>src\core\ext\resolver\dns\c_ares</Filter> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\c_ares\grpc_ares_ev_driver_posix.c"> <Filter>src\core\ext\resolver\dns\c_ares</Filter> </ClCompile> diff --git a/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj b/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj index 7c4b4d6cbb25ddb2f3e4d4fc53d8b98890f5b37b..258efdf7c38d96d843cd20080e7ce929aada34fa 100644 --- a/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj +++ b/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj @@ -747,6 +747,8 @@ </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\c_ares\dns_resolver_ares.c"> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\c_ares\grpc_ares_ev_driver_fallback.c"> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\c_ares\grpc_ares_ev_driver_posix.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\c_ares\grpc_ares_wrapper.c"> diff --git a/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters b/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters index 3d3a2e767eaf0b173bbbe708f670fed4c17eeda3..f2528bfcbf21fd27a602a05c580f9b462c75fab9 100644 --- a/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters +++ b/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters @@ -463,6 +463,9 @@ <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\c_ares\dns_resolver_ares.c"> <Filter>src\core\ext\resolver\dns\c_ares</Filter> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\c_ares\grpc_ares_ev_driver_fallback.c"> + <Filter>src\core\ext\resolver\dns\c_ares</Filter> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\c_ares\grpc_ares_ev_driver_posix.c"> <Filter>src\core\ext\resolver\dns\c_ares</Filter> </ClCompile>