NE: Simplify DNS resolution

Signed-off-by: Roopesh Chander <roop@roopc.net>
This commit is contained in:
Roopesh Chander
2018-12-21 19:24:22 +05:30
parent 0552d75aa1
commit a21c569e9f
2 changed files with 6 additions and 23 deletions
@@ -4,10 +4,6 @@
import Network
import Foundation
enum DNSResolverError: Error {
case dnsResolutionFailed(hostnames: [String])
}
class DNSResolver {
static func isAllEndpointsAlreadyResolved(endpoints: [Endpoint?]) -> Bool {
@@ -20,7 +16,7 @@ class DNSResolver {
return true
}
static func resolveSync(endpoints: [Endpoint?]) throws -> [Endpoint?] {
static func resolveSync(endpoints: [Endpoint?]) -> [Endpoint?]? {
let dispatchGroup = DispatchGroup()
if isAllEndpointsAlreadyResolved(endpoints: endpoints) {
@@ -56,7 +52,8 @@ class DNSResolver {
}
}
if !hostnamesWithDnsResolutionFailure.isEmpty {
throw DNSResolverError.dnsResolutionFailed(hostnames: hostnamesWithDnsResolutionFailure)
wg_log(.error, message: "DNS resolution failed for the following hostnames: \(hostnamesWithDnsResolutionFailure.joined(separator: ", "))")
return nil
}
return resolvedEndpoints
}