org.xbill.DNS
Interface Resolver

All Known Implementing Classes:
ExtendedResolver, SimpleResolver

public interface Resolver

Interface describing a resolver.

Author:
Brian Wellington

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 on success or exception.
 void setEDNS(int level)
          Sets the EDNS version used on outgoing messages.
 void setIgnoreTruncation(boolean flag)
          Sets whether truncated responses will be ignored.
 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
 void setTSIGKey(TSIG key)
          Specifies the TSIG key that messages will be signed with
 

Method Detail

setPort

public void setPort(int port)
Sets the port to communicate with on the server

Parameters:
port - The port to send messages to

setTCP

public void setTCP(boolean flag)
Sets whether TCP connections will be sent by default

Parameters:
flag - Indicates whether TCP connections are made

setIgnoreTruncation

public void setIgnoreTruncation(boolean flag)
Sets whether truncated responses will be ignored. If not, a truncated response over UDP will cause a retransmission over TCP.

Parameters:
flag - Indicates whether truncated responses should be ignored.

setEDNS

public void setEDNS(int level)
Sets the EDNS version used on outgoing messages.

Parameters:
level - The EDNS level to use. 0 indicates EDNS0 and -1 indicates no EDNS.
Throws:
UnsupportedOperationException - An invalid level was indicated

setTSIGKey

public void setTSIGKey(TSIG key)
Specifies the TSIG key that messages will be signed with

Parameters:
key - The key

setTSIGKey

public void setTSIGKey(Name name,
                       byte[] key)
Specifies the TSIG key that messages will be signed with

Parameters:
name - The key name
key - The key data

setTSIGKey

public void setTSIGKey(String name,
                       String key)
Specifies the TSIG key that messages will be signed with

Parameters:
name - The key name
key - The key data, represented as either a base64 encoded string or (if the first character is ':') a hex encoded string
Throws:
IllegalArgumentException - The key name is an invalid name
IllegalArgumentException - The key data is improperly encoded

setTSIGKey

public void setTSIGKey(String key)
                throws UnknownHostException
Specifies the TSIG key (with the same name as the local host) that messages will be signed with.

Parameters:
key - The key data, represented as either a base64 encoded string or (if the first character is ':') a hex encoded string
Throws:
IllegalArgumentException - The key data is improperly encoded
UnknownHostException - The local host name could not be determined

setTimeout

public void setTimeout(int secs)
Sets the amount of time to wait for a response before giving up.

Parameters:
secs - The number of seconds to wait.

send

public Message send(Message query)
             throws IOException
Sends a message and waits for a response.

Parameters:
query - The query to send.
Returns:
The response
Throws:
IOException - An error occurred while sending or receiving.

sendAsync

public Object sendAsync(Message query,
                        ResolverListener listener)
Asynchronously sends a message registering a listener to receive a callback on success or exception. Multiple asynchronous lookups can be performed in parallel. Since the callback may be invoked before the function returns, external synchronization is necessary.

Parameters:
query - The query to send
listener - The object containing the callbacks.
Returns:
An identifier, which is also a parameter in the callback