Package org.minidns.iterative
Class IterativeDnsClient
java.lang.Object
org.minidns.AbstractDnsClient
org.minidns.iterative.IterativeDnsClient
public class IterativeDnsClient
extends org.minidns.AbstractDnsClient
-
Nested Class Summary
Nested classes/interfaces inherited from class org.minidns.AbstractDnsClient
org.minidns.AbstractDnsClient.IpVersionSetting -
Field Summary
Fields inherited from class org.minidns.AbstractDnsClient
cache, dataSource, DEFAULT_CACHE, DEFAULT_IP_VERSION_SETTING, insecureRandom, ipVersionSetting, LOGGER, random -
Constructor Summary
ConstructorsConstructorDescriptionCreate a new recursive DNS client using the global default cache.IterativeDnsClient(org.minidns.DnsCache cache) Create a new recursive DNS client with the given DNS cache. -
Method Summary
Modifier and TypeMethodDescriptionprotected static voidabortIfFatal(IOException ioException) static List<InetAddress> getRootServer(char rootServerId) static List<InetAddress> getRootServer(char rootServerId, org.minidns.AbstractDnsClient.IpVersionSetting setting) protected booleanisResponseCacheable(org.minidns.dnsmessage.Question q, org.minidns.dnsqueryresult.DnsQueryResult result) protected org.minidns.dnsmessage.DnsMessage.BuildernewQuestion(org.minidns.dnsmessage.DnsMessage.Builder message) protected org.minidns.dnsqueryresult.DnsQueryResultquery(org.minidns.dnsmessage.DnsMessage.Builder queryBuilder) Recursively query the DNS system for one entry.Methods inherited from class org.minidns.AbstractDnsClient
getCache, getCachedIPv4AddressesFor, getCachedIPv4NameserverAddressesFor, getCachedIPv6AddressesFor, getCachedIPv6NameserverAddressesFor, getCachedNameserverRecordsFor, getDataSource, getPreferedIpVersion, getQueryFor, query, query, query, query, query, query, query, query, query, query, query, queryAsync, queryAsync, queryAsync, queryAsync, queryAsync, setDataSource, setDefaultIpVersion, setPreferedIpVersion
-
Constructor Details
-
IterativeDnsClient
public IterativeDnsClient()Create a new recursive DNS client using the global default cache. -
IterativeDnsClient
public IterativeDnsClient(org.minidns.DnsCache cache) Create a new recursive DNS client with the given DNS cache.- Parameters:
cache- The backend DNS cache.
-
-
Method Details
-
query
protected org.minidns.dnsqueryresult.DnsQueryResult query(org.minidns.dnsmessage.DnsMessage.Builder queryBuilder) throws IOException Recursively query the DNS system for one entry.- Specified by:
queryin classorg.minidns.AbstractDnsClient- Parameters:
queryBuilder- The query DNS message builder.- Returns:
- The response (or null on timeout/error).
- Throws:
IOException- if an IO error occurs.
-
getRootServer
-
getRootServer
public static List<InetAddress> getRootServer(char rootServerId, org.minidns.AbstractDnsClient.IpVersionSetting setting) -
isResponseCacheable
protected boolean isResponseCacheable(org.minidns.dnsmessage.Question q, org.minidns.dnsqueryresult.DnsQueryResult result) - Overrides:
isResponseCacheablein classorg.minidns.AbstractDnsClient
-
newQuestion
protected org.minidns.dnsmessage.DnsMessage.Builder newQuestion(org.minidns.dnsmessage.DnsMessage.Builder message) - Specified by:
newQuestionin classorg.minidns.AbstractDnsClient
-
abortIfFatal
- Throws:
IOException
-