aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc
diff options
context:
space:
mode:
authorGravatar Alexander Polcyn <apolcyn@google.com>2017-10-18 00:20:33 -0700
committerGravatar Alexander Polcyn <apolcyn@google.com>2018-03-20 23:51:19 -0700
commit690dde672a877083e29ee5af0b8252697aa48fa0 (patch)
treea801580cf12ad6655cd45e695c11a45ded9b67b5 /src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc
parent8327acd9a23d80e979eb890b71a53966c3509a6d (diff)
Add address sorting submodule for use in c-ares wrapper
Diffstat (limited to 'src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc')
-rw-r--r--src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc b/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc
index c63de3c509..5d297df1af 100644
--- a/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc
+++ b/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc
@@ -28,6 +28,8 @@
#include <grpc/support/alloc.h>
#include <grpc/support/string_util.h>
+#include <address_sorting.h>
+
#include "src/core/ext/filters/client_channel/http_connect_handshaker.h"
#include "src/core/ext/filters/client_channel/lb_policy_registry.h"
#include "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h"
@@ -458,6 +460,7 @@ void grpc_resolver_dns_ares_init() {
/* TODO(zyc): Turn on c-ares based resolver by default after the address
sorter and the CNAME support are added. */
if (resolver_env != nullptr && gpr_stricmp(resolver_env, "ares") == 0) {
+ address_sorting_init();
grpc_error* error = grpc_ares_init();
if (error != GRPC_ERROR_NONE) {
GRPC_LOG_IF_ERROR("ares_library_init() failed", error);
@@ -475,6 +478,7 @@ void grpc_resolver_dns_ares_init() {
void grpc_resolver_dns_ares_shutdown() {
char* resolver_env = gpr_getenv("GRPC_DNS_RESOLVER");
if (resolver_env != nullptr && gpr_stricmp(resolver_env, "ares") == 0) {
+ address_sorting_shutdown();
grpc_ares_cleanup();
}
gpr_free(resolver_env);