org.xbill.DNS
Class SimpleResolver

java.lang.Object
  |
  +--org.xbill.DNS.SimpleResolver

public class SimpleResolver
extends Object
implements Resolver

An implementation of Resolver that sends one query to one server. SimpleResolver handles TCP retries, transaction security (TSIG), and EDNS0.

See Also:
Resolver, TSIG, OPTRecord

Field Summary
static int PORT
          The default port to send queries to
 
Constructor Summary
SimpleResolver()
          Creates a SimpleResolver.
SimpleResolver(String hostname)
          Creates a SimpleResolver that will query the specified host
 
Method Summary
 Message send(Message query)
          Sends a message, and waits for a response.
 Object sendAsync(Message query, ResolverListener listener)
          Asynchronously sends a message, registering a listener to receive a callback.
static void setDefaultResolver(String hostname)
          Sets the default host (initially localhost) to query
 void setEDNS(int level)
          Sets the EDNS version used on outgoing messages (only 0 is meaningful)
 void setIgnoreTruncation(boolean flag)
          Sets whether truncated responses will be returned
 void setPort(int port)
          Sets the port to communicate with on the server
 void setTCP(boolean flag)
          Sets whether TCP connections will be sent by default
 void setTimeout(int secs)
          Sets the amount of time to wait for a response before giving up
 void setTSIGKey(Name name, byte[] key)
          Specifies the TSIG key that messages will be signed with
 void setTSIGKey(String key)
          Specifies the TSIG key (with the same name as the local host) that messages will be signed with
 void setTSIGKey(String name, String key)
          Specifies the TSIG key that messages will be signed with
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PORT

public static final int PORT
The default port to send queries to
Constructor Detail

SimpleResolver

public SimpleResolver(String hostname)
               throws UnknownHostException
Creates a SimpleResolver that will query the specified host
Throws:
UnknownHostException - Failure occurred while finding the host

SimpleResolver

public SimpleResolver()
               throws UnknownHostException
Creates a SimpleResolver. The host to query is either found by FindServer, or the default host is used.
Throws:
UnknownHostException - Failure occurred while finding the host
See Also:
FindServer
Method Detail

setDefaultResolver

public static void setDefaultResolver(String hostname)
Sets the default host (initially localhost) to query

setPort

public void setPort(int port)
Sets the port to communicate with on the server
Specified by:
setPort in interface Resolver

setTCP

public void setTCP(boolean flag)
Sets whether TCP connections will be sent by default
Specified by:
setTCP in interface Resolver

setIgnoreTruncation

public void setIgnoreTruncation(boolean flag)
Sets whether truncated responses will be returned
Specified by:
setIgnoreTruncation in interface Resolver

setEDNS

public void setEDNS(int level)
Sets the EDNS version used on outgoing messages (only 0 is meaningful)
Specified by:
setEDNS in interface Resolver

setTSIGKey

public void setTSIGKey(Name name,
                       byte[] key)
Specifies the TSIG key that messages will be signed with
Specified by:
setTSIGKey in interface Resolver

setTSIGKey

public void setTSIGKey(String name,
                       String key)
Specifies the TSIG key that messages will be signed with
Specified by:
setTSIGKey in interface Resolver

setTSIGKey

public void setTSIGKey(String key)
Specifies the TSIG key (with the same name as the local host) that messages will be signed with
Specified by:
setTSIGKey in interface Resolver

setTimeout

public void setTimeout(int secs)
Sets the amount of time to wait for a response before giving up
Specified by:
setTimeout in interface Resolver

send

public Message send(Message query)
             throws IOException
Sends a message, and waits for a response. The exact behavior depends on the options that have been set.
Specified by:
send in interface Resolver
Returns:
The response

sendAsync

public Object sendAsync(Message query,
                        ResolverListener listener)
Asynchronously sends a message, registering a listener to receive a callback. Multiple asynchronous lookups can be performed in parallel.
Specified by:
sendAsync in interface Resolver
Returns:
An identifier, which is also a parameter in the callback