Table of Contents

Class ResolverBuilder

Namespace
Ubiety.Dns.Core
Assembly
Ubiety.Dns.Core.dll

Provides a builder for configuring and creating a DNS resolver.

public class ResolverBuilder
Inheritance
ResolverBuilder
Inherited Members

Methods

AddDnsServer(IPAddress)

Adds a DNS server to the resolver.

public ResolverBuilder AddDnsServer(IPAddress serverAddress)

Parameters

serverAddress IPAddress

The IPAddress representing the DNS server to add.

Returns

ResolverBuilder

The current ResolverBuilder instance.

AddDnsServer(IPAddress, int)

Adds a DNS server to the resolver.

public ResolverBuilder AddDnsServer(IPAddress serverAddress, int port)

Parameters

serverAddress IPAddress

The IPAddress of the DNS server.

port int

The port number of the DNS server.

Returns

ResolverBuilder

The current ResolverBuilder instance.

Exceptions

ArgumentNullException

serverAddress is null.

AddDnsServer(IPEndPoint)

Adds a DNS server to the resolver.

public ResolverBuilder AddDnsServer(IPEndPoint server)

Parameters

server IPEndPoint

The IPEndPoint representing the DNS server.

Returns

ResolverBuilder

The current ResolverBuilder instance.

Exceptions

ArgumentNullException

server is null.

AddDnsServer(string)

Adds a DNS server to the resolver.

public ResolverBuilder AddDnsServer(string serverAddress)

Parameters

serverAddress string

The endpoint of the DNS server to be added.

Returns

ResolverBuilder

The current ResolverBuilder instance.

AddDnsServer(string, int)

Adds a DNS server to the resolver.

public ResolverBuilder AddDnsServer(string serverAddress, int port)

Parameters

serverAddress string

The string representing the DNS server to be added.

port int

The port number of the DNS server.

Returns

ResolverBuilder

The current ResolverBuilder instance.

Remarks

A null address is a caller mistake and throws. An address that is merely unparseable is dropped and the builder returned unchanged, since such a value may come from configuration.

Exceptions

ArgumentNullException

serverAddress is null.

AddDnsServers(IEnumerable<IPEndPoint>)

Adds multiple DNS servers to the resolver.

public ResolverBuilder AddDnsServers(IEnumerable<IPEndPoint> dnsServers)

Parameters

dnsServers IEnumerable<IPEndPoint>

A collection of IPEndPoint representing the DNS servers to be added.

Returns

ResolverBuilder

The current ResolverBuilder instance for further configuration.

Exceptions

ArgumentNullException

dnsServers is null or contains a null entry.

Begin()

Creates a new instance of the ResolverBuilder class.

public static ResolverBuilder Begin()

Returns

ResolverBuilder

A new ResolverBuilder instance for configuring a DNS resolver.

Build()

Builds and returns a configured instance of the Resolver class.

public Resolver Build()

Returns

Resolver

A configured Resolver instance.

EnableCache()

Enables caching for the DNS resolver.

public ResolverBuilder EnableCache()

Returns

ResolverBuilder

The current ResolverBuilder instance.

EnableLogging(IUbietyLogManager)

Enables logging for the DNS resolver.

public ResolverBuilder EnableLogging(IUbietyLogManager logManager)

Parameters

logManager IUbietyLogManager

An Ubiety.Logging.Core.IUbietyLogManager instance to be used for logging.

Returns

ResolverBuilder

The current ResolverBuilder instance.

Exceptions

ArgumentNullException

logManager is null.

SetRetries(int)

Sets the number of retry attempts for DNS resolution.

public ResolverBuilder SetRetries(int retries)

Parameters

retries int

The number of retries to attempt.

Returns

ResolverBuilder

The current ResolverBuilder instance.

SetTimeout(int)

Sets the timeout duration for DNS resolver requests.

public ResolverBuilder SetTimeout(int timeout)

Parameters

timeout int

The time in milliseconds to wait for a response before timing out.

Returns

ResolverBuilder

The current ResolverBuilder instance.

UseRecursion()

Enables recursion for the DNS resolver.

public ResolverBuilder UseRecursion()

Returns

ResolverBuilder

The current ResolverBuilder instance.