diff options
author | 2017-05-15 15:27:11 -0700 | |
---|---|---|
committer | 2017-05-15 15:27:11 -0700 | |
commit | 94ab1b55bfb29e19f5972d58b5cb7c194b9ae070 (patch) | |
tree | 7bd1fcf208033b37ccfbe88ac58c5d9e1371938c /src | |
parent | 746f21ade866d92efdab3e633fa63429bda20813 (diff) |
Make ServerBuilder accept (dns:///) URIs instead of just dns names
Diffstat (limited to 'src')
-rw-r--r-- | src/cpp/server/server_builder.cc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/cpp/server/server_builder.cc b/src/cpp/server/server_builder.cc index 2ead048a1f..87fa1dfb60 100644 --- a/src/cpp/server/server_builder.cc +++ b/src/cpp/server/server_builder.cc @@ -172,8 +172,15 @@ ServerBuilder& ServerBuilder::SetResourceQuota( } ServerBuilder& ServerBuilder::AddListeningPort( - const grpc::string& addr, std::shared_ptr<ServerCredentials> creds, + const grpc::string& addr_uri, std::shared_ptr<ServerCredentials> creds, int* selected_port) { + const grpc::string uri_scheme = "dns:"; + grpc::string addr = addr_uri; + if (addr_uri.compare(0, uri_scheme.size(), uri_scheme) == 0) { + size_t pos = uri_scheme.size(); + while (addr_uri[pos] == '/') ++pos; // Skip slashes. + addr = addr_uri.substr(pos); + } Port port = {addr, creds, selected_port}; ports_.push_back(port); return *this; |