if(DOMLocation.equals("parent"))
{
proxy = containerProxyURL;
}
// else cannot find the porxy url ...
dnsCallback.onResolved(new ProxyDNSEntry(domainName,DOMLocation,proxy));
}
else
{
DNSEntry dnsEntry = (DNSEntry) DNSTable.get(domainName);
if(dnsEntry!=null)
{
dnsCallback.onResolved(dnsEntry);
}
else // query the parent DNS server(port 1)
{
final Socket socketToParentDNSServer = new Socket(".parent",1);
socketToParentDNSServer.setSocketCallback( new SocketCallback()
{
// data = "DOMLocation;proxy"
public void onDataReceived(String data)
{
String[] elems = data.split(";");
if(elems.length == 2)
{
dnsCallback.onResolved(new ProxyDNSEntry(domainName,"parent."+elems[0],elems[1]));
}
else
{
dnsCallback.onError("Wrong response format (DOMLOcation;proxy):" + data ) ;
}