public async Task <string> Reverse(IP4Addr server) { await Task.Delay(100); // simulate some async work if (!knownDomains.ContainsKey(server.Value)) { throw new DNSClientException("Server " + server.ToString() + " not found."); } return(knownDomains[server.Value].Domain); }
public async Task <IP4Addr> Resolve(IP4Addr server, string subDomain) { await Task.Delay(500); // simulate some async work if (!knownDomains.ContainsKey(server.Value)) { throw new DNSClientException("Server " + server.ToString() + " not found."); } var node = knownDomains[server.Value]; if (!node.Subdomains.ContainsKey(subDomain)) { throw new DNSClientException("Subdomain " + subDomain + " not found on server " + server.ToString() + "."); } return(node.Subdomains[subDomain].Address); }