<?xml version="1.0"?>
<doc>
    <assembly>
        <name>DnsClient</name>
    </assembly>
    <members>
        <member name="M:DnsClient.DnsDatagramReader.ParseString(System.ArraySegment{System.Byte})">
            <summary>
            As defined in https://tools.ietf.org/html/rfc1035#section-5.1 except '()' or '@' or '.'
            </summary>
        </member>
        <member name="M:DnsClient.DnsDatagramReader.ReadIPAddress">
            <summary>
            Reads an IP address from the next 4 bytes.
            </summary>
            <returns>The <see cref="T:System.Net.IPAddress"/>.</returns>
            <exception cref="T:System.IndexOutOfRangeException">If there are no 4 bytes to read.</exception>
        </member>
        <member name="T:DnsClient.Protocol.DnsHeaderFlag">
            <summary>
            The flags of the header's second 16bit value
            </summary>
        </member>
        <member name="T:DnsClient.Protocol.AaaaRecord">
            <summary>
            A <see cref="T:DnsClient.Protocol.DnsResourceRecord"/> represending an IPv6 <see cref="T:System.Net.IPAddress"/>.
            <para>
            A 128 bit IPv6 address is encoded in the data portion of an AAAA
            resource record in network byte order(high-order byte first).
            </para>
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc3596#section-2.2">RFC 3596</seealso>
        </member>
        <member name="M:DnsClient.Protocol.AaaaRecord.#ctor(DnsClient.Protocol.ResourceRecordInfo,System.Net.IPAddress)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.Protocol.AaaaRecord"/> class.
            </summary>
            <inheritdoc />
        </member>
        <member name="T:DnsClient.Protocol.AddressRecord">
            <summary>
            Base class for <see cref="T:DnsClient.Protocol.DnsResourceRecord"/>s transporting an <see cref="T:System.Net.IPAddress"/>.
            </summary>
            <seealso cref="T:DnsClient.Protocol.ARecord"/>
            <seealso cref="T:DnsClient.Protocol.AaaaRecord"/>
        </member>
        <member name="P:DnsClient.Protocol.AddressRecord.Address">
            <summary>
            Gets the <see cref="T:System.Net.IPAddress"/>.
            </summary>
            <value>
            The address.
            </value>
        </member>
        <member name="M:DnsClient.Protocol.AddressRecord.#ctor(DnsClient.Protocol.ResourceRecordInfo,System.Net.IPAddress)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.Protocol.AddressRecord"/> class.
            </summary>
            <param name="info">The information.</param>
            <param name="address">The address.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="info"/> is null.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="address"/> or <paramref name="info"/> is null</exception>
        </member>
        <member name="T:DnsClient.Protocol.AfsDbRecord">
            <summary>
            A <see cref="T:DnsClient.Protocol.DnsResourceRecord"/> representing an AFS database location.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1183#section-1">RFC 1183</seealso>
            <seealso href="https://tools.ietf.org/html/rfc5864">RFC 5864</seealso>
        </member>
        <member name="P:DnsClient.Protocol.AfsDbRecord.SubType">
            <summary>
            Gets the <see cref="T:DnsClient.Protocol.AfsType"/>.
            </summary>
            <value>
            The sub type.
            </value>
        </member>
        <member name="P:DnsClient.Protocol.AfsDbRecord.Hostname">
            <summary>
            Gets the hostname.
            </summary>
            <value>
            The hostname.
            </value>
        </member>
        <member name="M:DnsClient.Protocol.AfsDbRecord.#ctor(DnsClient.Protocol.ResourceRecordInfo,DnsClient.Protocol.AfsType,DnsClient.DnsString)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.Protocol.AfsDbRecord"/> class.
            </summary>
            <param name="info">The information.</param>
            <param name="type">The type.</param>
            <param name="name">The name.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="info"/> or <paramref name="name"/> is null.</exception>
        </member>
        <member name="T:DnsClient.Protocol.AfsType">
            <summary>
            Type used by <see cref="T:DnsClient.Protocol.AfsDbRecord"/>.
            </summary>
        </member>
        <member name="F:DnsClient.Protocol.AfsType.Afs">
            <summary>
            AFS is a registered trademark of Transarc Corporation
            </summary>
        </member>
        <member name="F:DnsClient.Protocol.AfsType.Dce">
            <summary>
            The Distributed Computing Environment
            </summary>
        </member>
        <member name="T:DnsClient.Protocol.ARecord">
            <summary>
            A <see cref="T:DnsClient.Protocol.DnsResourceRecord"/> represending an IPv4 <see cref="T:System.Net.IPAddress"/>.
            Hosts that have multiple Internet addresses will have multiple A records.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035">RFC 1035</seealso>
        </member>
        <member name="M:DnsClient.Protocol.ARecord.#ctor(DnsClient.Protocol.ResourceRecordInfo,System.Net.IPAddress)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.Protocol.ARecord"/> class.
            </summary>
            <inheritdoc />
        </member>
        <member name="T:DnsClient.Protocol.CaaRecord">
            <summary>
            A <see cref="T:DnsClient.Protocol.DnsResourceRecord"/> representing a certification authority authorization.
            <para>
            The Certification Authority Authorization (CAA) DNS Resource Record
            allows a DNS domain name holder to specify one or more Certification
            Authorities(CAs) authorized to issue certificates for that domain.
            </para>
            <para>
            CAA Resource Records allow a public Certification Authority to
            implement additional controls to reduce the risk of unintended
            certificate mis-issue.This document defines the syntax of the CAA
            record and rules for processing CAA records by certificate issuers.
            </para>
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc6844">RFC 6844</seealso>
        </member>
        <member name="P:DnsClient.Protocol.CaaRecord.Flags">
            <summary>
            One octet containing the flags.
            </summary>
        </member>
        <member name="P:DnsClient.Protocol.CaaRecord.Tag">
            <summary>
            The property identifier, a sequence of US-ASCII characters.
            </summary>
        </member>
        <member name="P:DnsClient.Protocol.CaaRecord.Value">
            <summary>
            A sequence of octets representing the property value.
            Property values are encoded as binary values and MAY employ sub-formats.
            </summary>
        </member>
        <member name="M:DnsClient.Protocol.CaaRecord.#ctor(DnsClient.Protocol.ResourceRecordInfo,System.Byte,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.Protocol.CaaRecord"/> class.
            </summary>
            <param name="info">The information.</param>
            <param name="flags">The flags.</param>
            <param name="tag">The tag.</param>
            <param name="value">The value.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="info"/> or <paramref name="tag"/> or <paramref name="value"/> is null.</exception>
        </member>
        <member name="T:DnsClient.Protocol.CNameRecord">
            <summary>
            A <see cref="T:DnsClient.Protocol.DnsResourceRecord"/> repesenting the canonical name for an alias.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.1">RFC 1035</seealso>
        </member>
        <member name="P:DnsClient.Protocol.CNameRecord.CanonicalName">
            <summary>
            Gets the canonical name for an alias.
            </summary>
            <value>
            The canonical name.
            </value>
        </member>
        <member name="M:DnsClient.Protocol.CNameRecord.#ctor(DnsClient.Protocol.ResourceRecordInfo,DnsClient.DnsString)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.Protocol.CNameRecord"/> class.
            </summary>
            <param name="info">The information.</param>
            <param name="canonicalName">The canonical name.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="canonicalName"/> or <paramref name="info"/> is null.</exception>
        </member>
        <member name="T:DnsClient.Protocol.DnsResourceRecord">
            <summary>
            Base class for all resource records.
            </summary>
            <seealso cref="T:DnsClient.Protocol.ResourceRecordInfo" />
        </member>
        <member name="M:DnsClient.Protocol.DnsResourceRecord.#ctor(DnsClient.Protocol.ResourceRecordInfo)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.Protocol.DnsResourceRecord" /> class.
            </summary>
            <param name="info">The information.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="info"/> is null.</exception>
        </member>
        <member name="M:DnsClient.Protocol.DnsResourceRecord.ToString">
            <inheritdoc />
        </member>
        <member name="M:DnsClient.Protocol.DnsResourceRecord.ToString(System.Int32)">
            <summary>
            Same as <c>ToString</c> but offsets the <see cref="P:DnsClient.Protocol.ResourceRecordInfo.DomainName"/>
            by <paramref name="offset"/>.
            Set the offset to -32 for example to make it print nicely in consols.
            </summary>
            <param name="offset">The offset.</param>
            <returns>A string representing this instance.</returns>
        </member>
        <member name="M:DnsClient.Protocol.DnsResourceRecord.RecordToString">
            <summary>
            Returns a string representation of the record's value only.
            <see cref="M:DnsClient.Protocol.DnsResourceRecord.ToString(System.Int32)"/> uses this to compose the full string value of this instance.
            </summary>
            <returns>A string representing this record.</returns>
        </member>
        <member name="T:DnsClient.Protocol.ResourceRecordInfo">
            <summary>
            The type represents a <see cref="T:DnsClient.Protocol.DnsResourceRecord"/>.
            </summary>
        </member>
        <member name="P:DnsClient.Protocol.ResourceRecordInfo.DomainName">
            <summary>
            The domain name used to query.
            </summary>
        </member>
        <member name="P:DnsClient.Protocol.ResourceRecordInfo.RecordType">
            <summary>
            Specifies type of resource record.
            </summary>
        </member>
        <member name="P:DnsClient.Protocol.ResourceRecordInfo.RecordClass">
            <summary>
            Specifies type class of resource record, mostly IN but can be CS, CH or HS .
            </summary>
        </member>
        <member name="P:DnsClient.Protocol.ResourceRecordInfo.TimeToLive">
            <summary>
            Gets the current time to live value for the record.
            </summary>
        </member>
        <member name="P:DnsClient.Protocol.ResourceRecordInfo.InitialTimeToLive">
            <summary>
            Gets or sets the original time to live returned from the server.
            </summary>
        </member>
        <member name="P:DnsClient.Protocol.ResourceRecordInfo.RawDataLength">
            <summary>
            Gets the number of bytes for this resource record stored in RDATA
            </summary>
        </member>
        <member name="M:DnsClient.Protocol.ResourceRecordInfo.#ctor(System.String,DnsClient.Protocol.ResourceRecordType,DnsClient.QueryClass,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.Protocol.ResourceRecordInfo" /> class.
            </summary>
            <param name="domainName">The domain name used by the query.</param>
            <param name="recordType">Type of the record.</param>
            <param name="recordClass">The record class.</param>
            <param name="timeToLive">The time to live.</param>
            <param name="rawDataLength">Length of the raw data.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="domainName"/> is null.</exception>
        </member>
        <member name="M:DnsClient.Protocol.ResourceRecordInfo.#ctor(DnsClient.DnsString,DnsClient.Protocol.ResourceRecordType,DnsClient.QueryClass,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.Protocol.ResourceRecordInfo" /> class.
            </summary>
            <param name="domainName">The <see cref="T:DnsClient.DnsString" /> used by the query.</param>
            <param name="recordType">Type of the record.</param>
            <param name="recordClass">The record class.</param>
            <param name="timeToLive">The time to live.</param>
            <param name="rawDataLength">Length of the raw data.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="domainName" /> is null or empty.</exception>
        </member>
        <member name="T:DnsClient.Protocol.EmptyRecord">
            <summary>
            A <see cref="T:DnsClient.Protocol.DnsResourceRecord"/> not representing any specifc resource record.
            Used if unsupported <see cref="T:DnsClient.Protocol.ResourceRecordType"/>s are found in the result.
            </summary>
            <seealso cref="T:DnsClient.Protocol.DnsResourceRecord" />
        </member>
        <member name="M:DnsClient.Protocol.EmptyRecord.#ctor(DnsClient.Protocol.ResourceRecordInfo)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.Protocol.EmptyRecord"/> class.
            </summary>
            <param name="info">The information.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="info"/> is null.</exception>
        </member>
        <member name="T:DnsClient.Protocol.HInfoRecord">
            <summary>
            A <see cref="T:DnsClient.Protocol.DnsResourceRecord"/> used to acquire general information about a host.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.11">RFC 1035</seealso>
            <seealso href="https://tools.ietf.org/html/rfc1010">RFC 1010</seealso>
        </member>
        <member name="P:DnsClient.Protocol.HInfoRecord.Cpu">
            <summary>
            Gets a <c>string</c> which specifies the CPU type.
            </summary>
            <value>
            The cpu.
            </value>
        </member>
        <member name="P:DnsClient.Protocol.HInfoRecord.OS">
            <summary>
            Gets a <c>string</c> which specifies the operating system type.
            </summary>
            <value>
            The os.
            </value>
        </member>
        <member name="M:DnsClient.Protocol.HInfoRecord.#ctor(DnsClient.Protocol.ResourceRecordInfo,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.Protocol.HInfoRecord"/> class.
            </summary>
            <param name="info">The information.</param>
            <param name="cpu">The cpu.</param>
            <param name="os">The os.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="info"/> is null.</exception>
        </member>
        <member name="T:DnsClient.Protocol.MbRecord">
            <summary>
            A <see cref="T:DnsClient.Protocol.DnsResourceRecord"/> represending a domain name which specifies a host which has the specified mailbox.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.3">RFC 1035</seealso>
        </member>
        <member name="P:DnsClient.Protocol.MbRecord.MadName">
            <summary>
            Gets the domain name which specifies a host which has the specified mailbox.
            </summary>
            <value>
            The domain name.
            </value>
        </member>
        <member name="M:DnsClient.Protocol.MbRecord.#ctor(DnsClient.Protocol.ResourceRecordInfo,DnsClient.DnsString)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.Protocol.MbRecord"/> class.
            </summary>
            <param name="info">The information.</param>
            <param name="domainName">The domain name.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="domainName"/> or <paramref name="info"/> is null.</exception>
        </member>
        <member name="T:DnsClient.Protocol.MgRecord">
            <summary>
            A <see cref="T:DnsClient.Protocol.DnsResourceRecord"/> represending a domain name which specifies a mailbox which is a member of the mail group specified by the domain name.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.6">RFC 1035</seealso>
        </member>
        <member name="P:DnsClient.Protocol.MgRecord.MgName">
            <summary>
            Gets a domain name which specifies a mailbox which is a member of the mail group specified by the domain nam.
            </summary>
            <value>
            The domain name.
            </value>
        </member>
        <member name="M:DnsClient.Protocol.MgRecord.#ctor(DnsClient.Protocol.ResourceRecordInfo,DnsClient.DnsString)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.Protocol.MgRecord"/> class.
            </summary>
            <param name="info">The information.</param>
            <param name="domainName">The domain name.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="domainName"/> or <paramref name="info"/> is null.</exception>
        </member>
        <member name="T:DnsClient.Protocol.MInfoRecord">
            <summary>
            A <see cref="T:DnsClient.Protocol.DnsResourceRecord"/> represending mailbox or mail list information.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.11">RFC 1035</seealso>
        </member>
        <member name="P:DnsClient.Protocol.MInfoRecord.RMailBox">
            <summary>
            Gets the domain name which specifies a mailbox which is responsible for the mailing list or mailbox.
            </summary>
            <value>
            The domain name.
            </value>
        </member>
        <member name="P:DnsClient.Protocol.MInfoRecord.EmailBox">
            <summary>
            Gets the domain name which specifies a mailbox which is to receive error messages related to the mailing list or mailbox.
            </summary>
            <value>
            The domain name.
            </value>
        </member>
        <member name="M:DnsClient.Protocol.MInfoRecord.#ctor(DnsClient.Protocol.ResourceRecordInfo,DnsClient.DnsString,DnsClient.DnsString)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.Protocol.MInfoRecord"/> class.
            </summary>
            <param name="info">The information.</param>
            <param name="rmailBox">The <c>RMAILBX</c>.</param>
            <param name="emailBox">The <c>EMAILBX</c>.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="info"/> or <paramref name="rmailBox"/> or <paramref name="emailBox"/> is null.</exception>
        </member>
        <member name="T:DnsClient.Protocol.MrRecord">
            <summary>
            A <see cref="T:DnsClient.Protocol.DnsResourceRecord"/> represending a mailbox rename domain name.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.8">RFC 1035</seealso>
        </member>
        <member name="P:DnsClient.Protocol.MrRecord.NewName">
            <summary>
            Gets the domain name which specifies a mailbox which is the proper rename of the specified mailbox.
            </summary>
            <value>
            The domain name.
            </value>
        </member>
        <member name="M:DnsClient.Protocol.MrRecord.#ctor(DnsClient.Protocol.ResourceRecordInfo,DnsClient.DnsString)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.Protocol.MrRecord"/> class.
            </summary>
            <param name="info">The information.</param>
            <param name="name">The domain name.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="name"/> or <paramref name="info"/> is null.</exception>
        </member>
        <member name="T:DnsClient.Protocol.MxRecord">
            <summary>
            A <see cref="T:DnsClient.Protocol.DnsResourceRecord"/> represending a mail exchange.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.9">RFC 1035</seealso>
            <seealso href="https://tools.ietf.org/html/rfc974">RFC 974</seealso>
        </member>
        <member name="P:DnsClient.Protocol.MxRecord.Preference">
            <summary>
            Gets a 16 bit integer which specifies the preference given to
            this RR among others at the same owner.
            Lower values are preferred.
            </summary>
        </member>
        <member name="P:DnsClient.Protocol.MxRecord.Exchange">
            <summary>
            A domain name which specifies a host willing to act as a mail exchange.
            </summary>
        </member>
        <member name="M:DnsClient.Protocol.MxRecord.#ctor(DnsClient.Protocol.ResourceRecordInfo,System.UInt16,DnsClient.DnsString)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.Protocol.MxRecord"/> class.
            </summary>
            <param name="info">The information.</param>
            <param name="preference">The preference.</param>
            <param name="domainName">Name of the domain.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="domainName"/> or <paramref name="info"/> is null.</exception>
        </member>
        <member name="T:DnsClient.Protocol.NsRecord">
            <summary>
            A <see cref="T:DnsClient.Protocol.DnsResourceRecord"/> represending an authoritative name server.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.11">RFC 1035</seealso>
        </member>
        <member name="P:DnsClient.Protocol.NsRecord.NSDName">
            <summary>
            Gets the domain name which specifies a host which should be authoritative for the specified class and domain.
            </summary>
            <value>
            The domain name.
            </value>
        </member>
        <member name="M:DnsClient.Protocol.NsRecord.#ctor(DnsClient.Protocol.ResourceRecordInfo,DnsClient.DnsString)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.Protocol.NsRecord"/> class.
            </summary>
            <param name="info">The information.</param>
            <param name="name">The name.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="name"/> or <paramref name="info"/> is null.</exception>
        </member>
        <member name="T:DnsClient.Protocol.NullRecord">
            <summary>
            Experimental RR, not sure if the implementation is actually correct either (not tested).
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.10">RFC 1035</seealso>
        </member>
        <member name="P:DnsClient.Protocol.NullRecord.Anything">
            <summary>
            Gets any data stored in this record.
            </summary>
            <value>
            The byte array.
            </value>
        </member>
        <member name="P:DnsClient.Protocol.NullRecord.AsString">
            <summary>
            Gets the raw data of this record as UTF8 string.
            </summary>
        </member>
        <member name="M:DnsClient.Protocol.NullRecord.#ctor(DnsClient.Protocol.ResourceRecordInfo,System.Byte[])">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.Protocol.NullRecord" /> class.
            </summary>
            <param name="info">The information.</param>
            <param name="anything">Anything.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="info"/> or <paramref name="anything"/> is null.</exception>
        </member>
        <member name="T:DnsClient.Protocol.Options.OptRecord">
            <summary>
            A DNS resource record represending an IP address.
            Hosts that have multiple Internet addresses will have multiple A records.
            </summary>
        </member>
        <member name="T:DnsClient.Protocol.PtrRecord">
            <summary>
            A <see cref="T:DnsClient.Protocol.DnsResourceRecord"/> represending a pointer. These RRs are used
            in special domains to point to some other location in the domain space.
            </summary>
            <seealso cref="T:DnsClient.Protocol.DnsResourceRecord" />
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.12">RFC 1035</seealso>
        </member>
        <member name="P:DnsClient.Protocol.PtrRecord.PtrDomainName">
            <summary>
            Gets the domain name which points to some location in the domain name space.
            </summary>
            <value>
            The domain name.
            </value>
        </member>
        <member name="M:DnsClient.Protocol.PtrRecord.#ctor(DnsClient.Protocol.ResourceRecordInfo,DnsClient.DnsString)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.Protocol.PtrRecord"/> class.
            </summary>
            <param name="info">The information.</param>
            <param name="ptrDomainName">The domain name.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="info"/> or <paramref name="ptrDomainName"/> is null.</exception>
        </member>
        <member name="T:DnsClient.Protocol.ResourceRecordType">
            <summary>
            The resource record types. The <c>enum</c> contains only the types supported by this library at this moment.
            The <see cref="T:DnsClient.Protocol.ResourceRecordType"/> is used to identify any <see cref="T:DnsClient.Protocol.DnsResourceRecord"/>.
            <para>
            Resource record types are a subset of <see cref="T:DnsClient.QueryType"/>.
            </para>
            </summary>
            <seealso cref="T:DnsClient.Protocol.DnsResourceRecord"/>
            <seealso cref="T:DnsClient.Protocol.ResourceRecordType"/>
        </member>
        <member name="F:DnsClient.Protocol.ResourceRecordType.A">
            <summary>
            A host address.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035">RFC 1035</seealso>
            <seealso cref="T:DnsClient.Protocol.ARecord"/>
        </member>
        <member name="F:DnsClient.Protocol.ResourceRecordType.NS">
            <summary>
            An authoritative name server.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.11">RFC 1035</seealso>
            <seealso cref="T:DnsClient.Protocol.NsRecord"/>
        </member>
        <member name="F:DnsClient.Protocol.ResourceRecordType.MD">
            <summary>
            A mail destination (OBSOLETE - use MX).
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035">RFC 1035</seealso>
        </member>
        <member name="F:DnsClient.Protocol.ResourceRecordType.MF">
            <summary>
            A mail forwarder (OBSOLETE - use MX).
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035">RFC 1035</seealso>
        </member>
        <member name="F:DnsClient.Protocol.ResourceRecordType.CNAME">
            <summary>
            The canonical name for an alias.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.1">RFC 1035</seealso>
            <seealso cref="T:DnsClient.Protocol.CNameRecord"/>
        </member>
        <member name="F:DnsClient.Protocol.ResourceRecordType.SOA">
            <summary>
            Marks the start of a zone of authority.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.13">RFC 1035</seealso>
            <seealso cref="T:DnsClient.Protocol.SoaRecord"/>
        </member>
        <member name="F:DnsClient.Protocol.ResourceRecordType.MB">
            <summary>
            A mailbox domain name (EXPERIMENTAL).
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.3">RFC 1035</seealso>
            <seealso cref="T:DnsClient.Protocol.MbRecord"/>
        </member>
        <member name="F:DnsClient.Protocol.ResourceRecordType.MG">
            <summary>
            A mail group member (EXPERIMENTAL).
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.6">RFC 1035</seealso>
            <seealso cref="T:DnsClient.Protocol.MgRecord"/>
        </member>
        <member name="F:DnsClient.Protocol.ResourceRecordType.MR">
            <summary>
            A mailbox rename domain name (EXPERIMENTAL).
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.8">RFC 1035</seealso>
            <seealso cref="T:DnsClient.Protocol.MrRecord"/>
        </member>
        <member name="F:DnsClient.Protocol.ResourceRecordType.NULL">
            <summary>
            A Null resource record (EXPERIMENTAL).
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.8">RFC 1035</seealso>
            <seealso cref="T:DnsClient.Protocol.NullRecord"/>
        </member>
        <member name="F:DnsClient.Protocol.ResourceRecordType.WKS">
            <summary>
            A well known service description.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc3232">RFC 3232</seealso>
            <seealso cref="T:DnsClient.Protocol.WksRecord"/>
        </member>
        <member name="F:DnsClient.Protocol.ResourceRecordType.PTR">
            <summary>
            A domain name pointer.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.12">RFC 1035</seealso>
            <seealso cref="T:DnsClient.Protocol.PtrRecord"/>
        </member>
        <member name="F:DnsClient.Protocol.ResourceRecordType.HINFO">
            <summary>
            Host information.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.11">RFC 1035</seealso>
            <seealso href="https://tools.ietf.org/html/rfc1010">RFC 1010</seealso>
            <seealso cref="T:DnsClient.Protocol.HInfoRecord"/>
        </member>
        <member name="F:DnsClient.Protocol.ResourceRecordType.MINFO">
            <summary>
            Mailbox or mail list information.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.11">RFC 1035</seealso>
            <seealso cref="T:DnsClient.Protocol.MInfoRecord"/>
        </member>
        <member name="F:DnsClient.Protocol.ResourceRecordType.MX">
            <summary>
            Mail exchange.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.9">RFC 1035</seealso>
            <seealso href="https://tools.ietf.org/html/rfc974">RFC 974</seealso>
            <seealso cref="T:DnsClient.Protocol.MxRecord"/>
        </member>
        <member name="F:DnsClient.Protocol.ResourceRecordType.TXT">
            <summary>
            Text resources.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3">RFC 1035</seealso>
            <seealso href="https://tools.ietf.org/html/rfc1464">RFC 1464</seealso>
            <seealso cref="T:DnsClient.Protocol.TxtRecord"/>
        </member>
        <member name="F:DnsClient.Protocol.ResourceRecordType.RP">
            <summary>
            Responsible Person.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1183">RFC 1183</seealso>
            <seealso cref="T:DnsClient.Protocol.RpRecord"/>
        </member>
        <member name="F:DnsClient.Protocol.ResourceRecordType.AFSDB">
            <summary>
            AFS Data Base location.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1183#section-1">RFC 1183</seealso>
            <seealso href="https://tools.ietf.org/html/rfc5864">RFC 5864</seealso>
            <seealso cref="T:DnsClient.Protocol.AfsDbRecord"/>
        </member>
        <member name="F:DnsClient.Protocol.ResourceRecordType.AAAA">
            <summary>
            An IPv6 host address.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc3596#section-2.2">RFC 3596</seealso>
            <seealso cref="T:DnsClient.Protocol.AaaaRecord"/>
        </member>
        <member name="F:DnsClient.Protocol.ResourceRecordType.SRV">
            <summary>
            A resource record which specifies the location of the server(s) for a specific protocol and domain.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc2782">RFC 2782</seealso>
            <seealso cref="T:DnsClient.Protocol.SrvRecord"/>
        </member>
        <member name="F:DnsClient.Protocol.ResourceRecordType.OPT">
            <summary>
            Option record.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc6891">RFC 6891</seealso>
        </member>
        <member name="F:DnsClient.Protocol.ResourceRecordType.SSHFP">
            <summary>
            SSH finger print record
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc4255">RFC 4255</seealso>
        </member>
        <member name="F:DnsClient.Protocol.ResourceRecordType.RRSIG">
            <summary>
            RRSIG rfc3755.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc3755">RFC 3755</seealso>
        </member>
        <member name="F:DnsClient.Protocol.ResourceRecordType.URI">
            <summary>
            A Uniform Resource Identifier (URI) resource record.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc7553">RFC 7553</seealso>
            <seealso cref="T:DnsClient.Protocol.UriRecord"/>
        </member>
        <member name="F:DnsClient.Protocol.ResourceRecordType.CAA">
            <summary>
            A certification authority authorization.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc6844">RFC 6844</seealso>
            <seealso cref="T:DnsClient.Protocol.CaaRecord"/>
        </member>
        <member name="T:DnsClient.Protocol.RpRecord">
            <summary>
            A <see cref="T:DnsClient.Protocol.DnsResourceRecord"/> represending a responsible person.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1183#section-2.2">RFC 1183</seealso>
        </member>
        <member name="P:DnsClient.Protocol.RpRecord.MailboxDomainName">
            <summary>
            Gets a domain name that specifies the mailbox for the responsible person.
            </summary>
            <value>
            The mailbox domain.
            </value>
        </member>
        <member name="P:DnsClient.Protocol.RpRecord.TextDomainName">
            <summary>
            Gets a domain name for which TXT RR's exist.
            </summary>
            <value>
            The text domain.
            </value>
        </member>
        <member name="M:DnsClient.Protocol.RpRecord.#ctor(DnsClient.Protocol.ResourceRecordInfo,DnsClient.DnsString,DnsClient.DnsString)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.Protocol.RpRecord"/> class.
            </summary>
            <param name="info">The information.</param>
            <param name="mailbox">The mailbox domain.</param>
            <param name="textName">The text domain.</param>
            <exception cref="T:System.ArgumentNullException">
            If <paramref name="info"/> or <paramref name="mailbox"/> or <paramref name="textName"/> is null.
            </exception>
        </member>
        <member name="T:DnsClient.Protocol.SoaRecord">
            <summary>
            A <see cref="T:DnsClient.Protocol.DnsResourceRecord"/> represending a SOA (Start Of Authority) record.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.13">RFC 1035</seealso>
        </member>
        <member name="P:DnsClient.Protocol.SoaRecord.Expire">
            <summary>
            Gets a 32 bit time value that specifies the upper limit on
            the time interval that can elapse before the zone is no
            longer authoritative.
            </summary>
            <value>
            The expiration.
            </value>
        </member>
        <member name="P:DnsClient.Protocol.SoaRecord.Minimum">
            <summary>
            Gets the unsigned 32 bit minimum TTL field that should be
            exported with any RR from this zone.
            </summary>
            <value>
            The minimum TTL.
            </value>
        </member>
        <member name="P:DnsClient.Protocol.SoaRecord.MName">
            <summary>
            Gets the domain name of the name server that was the original or primary source of data for this zone.
            </summary>
            <value>
            The doman name.
            </value>
        </member>
        <member name="P:DnsClient.Protocol.SoaRecord.Refresh">
            <summary>
            Gets a 32 bit time interval before the zone should be refreshed.
            </summary>
            <value>
            The refresh time.
            </value>
        </member>
        <member name="P:DnsClient.Protocol.SoaRecord.Retry">
            <summary>
            Gets a 32 bit time interval that should elapse before a failed refresh should be retried.
            </summary>
            <value>
            The retry time.
            </value>
        </member>
        <member name="P:DnsClient.Protocol.SoaRecord.RName">
            <summary>
            Gets a domain name which specifies the mailbox of the person responsible for this zone.
            </summary>
            <value>
            The responsible mailbox domain name.
            </value>
        </member>
        <member name="P:DnsClient.Protocol.SoaRecord.Serial">
            <summary>
            Gets the unsigned 32 bit version number of the original copy
            of the zone.Zone transfers preserve this value. This value wraps and should be compared using sequence space arithmetic.
            </summary>
            <value>
            The serial number.
            </value>
        </member>
        <member name="M:DnsClient.Protocol.SoaRecord.#ctor(DnsClient.Protocol.ResourceRecordInfo,DnsClient.DnsString,DnsClient.DnsString,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.Protocol.SoaRecord" /> class.
            </summary>
            <param name="info">The information.</param>
            <param name="mName">Name original domain name.</param>
            <param name="rName">Name responsible domain name.</param>
            <param name="serial">The serial number.</param>
            <param name="refresh">The refresh time.</param>
            <param name="retry">The retry time.</param>
            <param name="expire">The expire time.</param>
            <param name="minimum">The minimum TTL.</param>
            <exception cref="T:System.ArgumentNullException">
            If <paramref name="info"/> or <paramref name="mName"/> or <paramref name="rName"/> is null.
            </exception>
        </member>
        <member name="T:DnsClient.Protocol.SrvRecord">
            <summary>
            A <see cref="T:DnsClient.Protocol.DnsResourceRecord"/> represending a location of the server(s) for a specific protocol and domain.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc2782">RFC 2782</seealso>
        </member>
        <member name="P:DnsClient.Protocol.SrvRecord.Port">
            <summary>
            Gets the port.
            </summary>
            <value>
            The port.
            </value>
        </member>
        <member name="P:DnsClient.Protocol.SrvRecord.Priority">
            <summary>
            Gets the priority.
            </summary>
            <value>
            The priority.
            </value>
        </member>
        <member name="P:DnsClient.Protocol.SrvRecord.Target">
            <summary>
            Gets the target domain name.
            </summary>
            <value>
            The target.
            </value>
        </member>
        <member name="P:DnsClient.Protocol.SrvRecord.Weight">
            <summary>
            Gets the weight.
            </summary>
            <value>
            The weight.
            </value>
        </member>
        <member name="M:DnsClient.Protocol.SrvRecord.#ctor(DnsClient.Protocol.ResourceRecordInfo,System.UInt16,System.UInt16,System.UInt16,DnsClient.DnsString)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.Protocol.SrvRecord" /> class.
            </summary>
            <param name="info">The information.</param>
            <param name="priority">The priority.</param>
            <param name="weigth">The weigth.</param>
            <param name="port">The port.</param>
            <param name="target">The target.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="info"/> or <paramref name="target"/> is null.</exception>
        </member>
        <member name="T:DnsClient.Protocol.SshfpRecord">
            <summary>
            A <see cref="T:DnsClient.Protocol.DnsResourceRecord"/> represending an SSH fingerprint
            <para>
            SSHFP RRs are used to hold SSH fingerprints. Upon connecting to a
            host an SSH client may choose to query for this to check the fingerprint(s)
            </para>
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc4255">RFC 4255</seealso>
            <seealso href="https://tools.ietf.org/html/rfc6594">RFC 6594</seealso>
            <seealso href="https://tools.ietf.org/html/rfc7479">RFC 7479</seealso>
        </member>
        <member name="M:DnsClient.Protocol.SshfpRecord.#ctor(DnsClient.Protocol.ResourceRecordInfo,DnsClient.Protocol.SshfpAlgorithm,DnsClient.Protocol.SshfpFingerprintType,System.String)">
            <summary>
            
            </summary>
            <param name="info">The information.</param>
            <param name="algorithm">The algorithm.</param>
            <param name="fingerprintType">The fingerprint type.</param>
            <param name="fingerprint">The fingerprint.</param>
        </member>
        <member name="P:DnsClient.Protocol.SshfpRecord.Algorithm">
            <summary>
            Algorithm used for the fingerprint
            </summary>
        </member>
        <member name="P:DnsClient.Protocol.SshfpRecord.FingerprintType">
            <summary>
            Fingerprint type used for the fingerprint
            </summary>
        </member>
        <member name="P:DnsClient.Protocol.SshfpRecord.Fingerprint">
            <summary>
            Fingerprint as defined in the RR
            </summary>
        </member>
        <member name="T:DnsClient.Protocol.SshfpAlgorithm">
            <summary>
            Algorithm used by <see cref="T:DnsClient.Protocol.SshfpRecord"/>
            </summary>
        </member>
        <member name="F:DnsClient.Protocol.SshfpAlgorithm.Reserved">
            <summary>
            Reserved for later use
            </summary>
        </member>
        <member name="F:DnsClient.Protocol.SshfpAlgorithm.RSA">
            <summary>
            RSA
            </summary>
        </member>
        <member name="F:DnsClient.Protocol.SshfpAlgorithm.DSS">
            <summary>
            DSS
            </summary>
        </member>
        <member name="F:DnsClient.Protocol.SshfpAlgorithm.ECDSA">
            <summary>
            Eliptic Curve DSA
            </summary>
        </member>
        <member name="F:DnsClient.Protocol.SshfpAlgorithm.Ed25519">
            <summary>
            Edwards-curve DSA
            </summary>
        </member>
        <member name="T:DnsClient.Protocol.SshfpFingerprintType">
            <summary>
            Fingerprint type used by <see cref="T:DnsClient.Protocol.SshfpRecord"/>
            </summary>
        </member>
        <member name="F:DnsClient.Protocol.SshfpFingerprintType.Reserved">
            <summary>
            Reserved for later use
            </summary>
        </member>
        <member name="F:DnsClient.Protocol.SshfpFingerprintType.SHA1">
            <summary>
            SHA-1 fingerprint
            </summary>
        </member>
        <member name="F:DnsClient.Protocol.SshfpFingerprintType.SHA256">
            <summary>
            SHA-256 fingerprint
            </summary>
        </member>
        <member name="T:DnsClient.Protocol.TxtRecord">
            <summary>
            A <see cref="T:DnsClient.Protocol.DnsResourceRecord"/> represending a text resource.
            <para>
            TXT RRs are used to hold descriptive text. The semantics of the text
            depends on the domain where it is found.
            </para>
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3">RFC 1035</seealso>
            <seealso href="https://tools.ietf.org/html/rfc1464">RFC 1464</seealso>
        </member>
        <member name="P:DnsClient.Protocol.TxtRecord.EscapedText">
            <summary>
            Gets the list of TXT values of this resource record in escaped form, valid for root file.
            </summary>
            <remarks>
            See https://tools.ietf.org/html/rfc1035#section-5.1 for escape details.
            </remarks>
        </member>
        <member name="P:DnsClient.Protocol.TxtRecord.Text">
            <summary>
            Gets the actual <c>UTF8</c> representation of the text values of this record.
            </summary>
        </member>
        <member name="M:DnsClient.Protocol.TxtRecord.#ctor(DnsClient.Protocol.ResourceRecordInfo,System.String[],System.String[])">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.Protocol.TxtRecord"/> class.
            </summary>
            <param name="info">The information.</param>
            <param name="values">The values.</param>
            <param name="utf8Values">The UTF8 values.</param>
            <exception cref="T:System.ArgumentNullException">
            If <paramref name="info"/> or <paramref name="utf8Values"/> or <paramref name="values"/> is null.
            </exception>
        </member>
        <member name="T:DnsClient.Protocol.UriRecord">
            <summary>
            A <see cref="T:DnsClient.Protocol.DnsResourceRecord"/> represending a Uniform Resource Identifier (URI) resource.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc7553">RFC 7553</seealso>
        </member>
        <member name="P:DnsClient.Protocol.UriRecord.Target">
            <summary>
            Gets or sets the target Uri.
            </summary>
            <value>
            The target.
            </value>
        </member>
        <member name="P:DnsClient.Protocol.UriRecord.Priority">
            <summary>
            Gets or sets the priority.
            </summary>
            <value>
            The priority.
            </value>
        </member>
        <member name="P:DnsClient.Protocol.UriRecord.Weigth">
            <summary>
            Gets or sets the weigth.
            </summary>
            <value>
            The weigth.
            </value>
        </member>
        <member name="M:DnsClient.Protocol.UriRecord.#ctor(DnsClient.Protocol.ResourceRecordInfo,System.UInt16,System.UInt16,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.Protocol.UriRecord"/> class.
            </summary>
            <param name="info">The information.</param>
            <param name="priority">The priority.</param>
            <param name="weight">The weight.</param>
            <param name="target">The target.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="info"/> or <paramref name="target"/> is null.</exception>
        </member>
        <member name="T:DnsClient.Protocol.WksRecord">
            <summary>
            A <see cref="T:DnsClient.Protocol.DnsResourceRecord"/> represending a Well Known Service description.
            </summary>
            <remarks>
            Instead of describing the supported protocols in RFCs, the list is now published on http://www.iana.org/.
            </remarks>
            <seealso href="http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml"/>
            <seealso href="https://tools.ietf.org/html/rfc3232">RFC 3232, the most current update.</seealso>
        </member>
        <member name="P:DnsClient.Protocol.WksRecord.Address">
            <summary>
            Gets the address.
            </summary>
            <value>
            The address.
            </value>
        </member>
        <member name="P:DnsClient.Protocol.WksRecord.Protocol">
            <summary>
            Gets the Protocol.
            </summary>
            <remarks>
            According to https://tools.ietf.org/html/rfc6335, only ports for TCP, UDP, DCCP and SCTP services will be assigned.
            </remarks>
        </member>
        <member name="P:DnsClient.Protocol.WksRecord.Bitmap">
            <summary>
            Gets the binary raw bitmap.
            Use <see cref="P:DnsClient.Protocol.WksRecord.Ports"/> to determine which ports are actually configured.
            </summary>
        </member>
        <member name="P:DnsClient.Protocol.WksRecord.Ports">
            <summary>
            Gets the list of assigned ports.
            <para>
            For example, if this list contains port 25, which is assigned to
            the <c>SMTP</c> service. This means that a SMTP services
            is running on <see cref="P:DnsClient.Protocol.WksRecord.Address"/> with transport <see cref="P:DnsClient.Protocol.WksRecord.Protocol"/>.
            </para>
            </summary>
            <seealso href="http://www.iana.org/assignments/port-numbers">Port numbers</seealso>
        </member>
        <member name="M:DnsClient.Protocol.WksRecord.#ctor(DnsClient.Protocol.ResourceRecordInfo,System.Net.IPAddress,System.Int32,System.Byte[])">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.Protocol.WksRecord" /> class.
            </summary>
            <param name="info">The information.</param>
            <param name="address">The address.</param>
            <param name="protocol">The protocol.</param>
            <param name="bitmap">The raw data.</param>
            <exception cref="T:System.ArgumentNullException">
            If <paramref name="address"/> or <paramref name="info"/> or <paramref name="bitmap"/> is null.
            </exception>
        </member>
        <member name="T:DnsClient.DnsOpCode">
            <summary>
            Specifies kind of query in this message.
            This value is set by the originator of a query and copied into the response.
            </summary>
        </member>
        <member name="F:DnsClient.DnsOpCode.Query">
            <summary>
            A standard query.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035">RFC 1035</seealso>
        </member>
        <member name="F:DnsClient.DnsOpCode.IQuery">
            <summary>
            An inverse query.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc3425">RFC 3425</seealso>
        </member>
        <member name="F:DnsClient.DnsOpCode.Status">
            <summary>
            A server status request.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035">RFC 1035</seealso>
        </member>
        <member name="F:DnsClient.DnsOpCode.Unassinged3">
            <summary>
            Unassigned value
            </summary>
        </member>
        <member name="F:DnsClient.DnsOpCode.Notify">
            <summary>
            Notify query.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1996">RFC 1996</seealso>
        </member>
        <member name="F:DnsClient.DnsOpCode.Update">
            <summary>
            Update query.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc2136">RFC 2136</seealso>
        </member>
        <member name="F:DnsClient.DnsOpCode.Unassinged6">
            <summary>
            Unassigned value
            </summary>
        </member>
        <member name="F:DnsClient.DnsOpCode.Unassinged7">
            <summary>
            Unassigned value
            </summary>
        </member>
        <member name="F:DnsClient.DnsOpCode.Unassinged8">
            <summary>
            Unassigned value
            </summary>
        </member>
        <member name="F:DnsClient.DnsOpCode.Unassinged9">
            <summary>
            Unassigned value
            </summary>
        </member>
        <member name="F:DnsClient.DnsOpCode.Unassinged10">
            <summary>
            Unassigned value
            </summary>
        </member>
        <member name="F:DnsClient.DnsOpCode.Unassinged11">
            <summary>
            Unassigned value
            </summary>
        </member>
        <member name="F:DnsClient.DnsOpCode.Unassinged12">
            <summary>
            Unassigned value
            </summary>
        </member>
        <member name="F:DnsClient.DnsOpCode.Unassinged13">
            <summary>
            Unassigned value
            </summary>
        </member>
        <member name="F:DnsClient.DnsOpCode.Unassinged14">
            <summary>
            Unassigned value
            </summary>
        </member>
        <member name="F:DnsClient.DnsOpCode.Unassinged15">
            <summary>
            Unassigned value
            </summary>
        </member>
        <member name="T:DnsClient.DnsQueryExtensions">
            <summary>
            Extension methods for the <see cref="T:DnsClient.IDnsQuery"/> contract.
            <para>
            The methods implement common queries which are more complex and have some business logic.
            </para>
            </summary>
        </member>
        <member name="M:DnsClient.DnsQueryExtensions.GetHostEntry(DnsClient.IDnsQuery,System.String)">
            <summary>
            The <c>GetHostEntry</c> method queries a DNS server for the IP addresses and aliases associated with the <paramref name="hostNameOrAddress"/>.
            In case <paramref name="hostNameOrAddress"/> is an <see cref="T:System.Net.IPAddress"/>, <c>GetHostEntry</c> does a reverse lookup on that first to determine the hostname.
            <para>
            IP addresses found are returned in <see cref="P:System.Net.IPHostEntry.AddressList"/>.
            <see cref="F:DnsClient.Protocol.ResourceRecordType.CNAME"/> records are used to populate the <see cref="P:System.Net.IPHostEntry.Aliases"/>.<br/>
            The <see cref="P:System.Net.IPHostEntry.HostName"/> property will be set to the resolved hostname or <paramref name="hostNameOrAddress"/>.
            </para>
            </summary>
            <example>
            The following code example uses the <see cref="M:DnsClient.DnsQueryExtensions.GetHostEntry(DnsClient.IDnsQuery,System.String)"/> method to resolve an IP address or hostname to an <see cref="T:System.Net.IPHostEntry"/> instance.
            <code>
            <![CDATA[
            public static void PrintHostEntry(string hostOrIp)
            {
                var lookup = new LookupClient();
                IPHostEntry hostEntry = lookup.GetHostEntry(hostOrIp);
                Console.WriteLine(hostEntry.HostName);
                foreach (var ip in hostEntry.AddressList)
                {
                    Console.WriteLine(ip);
                }
                foreach (var alias in hostEntry.Aliases)
                {
                    Console.WriteLine(alias);
                }
            }
            ]]>
            </code>
            </example>
            <remarks>
            The method has some logic to populate the <see cref="P:System.Net.IPHostEntry.Aliases"/> list:
            <list type="bullet">
            <item>
            <term>
            In case of sub-domain queries or similar, there might be multiple <see cref="F:DnsClient.Protocol.ResourceRecordType.CNAME"/> records for one <see cref="T:System.Net.IPAddress"/>,
            </term>
            </item><item>
            <term>
            If only one <see cref="T:System.Net.IPAddress"/> is in the result set, all the aliases found will be returned.
            </term>
            </item><item>
            <term>
            If more than one <see cref="T:System.Net.IPAddress"/> is in the result set, aliases are returned only if at least one doesn't match the queried hostname.
            </term>
            </item>
            </list>
            </remarks>
            <param name="query">The <see cref="T:DnsClient.IDnsQuery"/> instance.</param>
            <param name="hostNameOrAddress">The <see cref="T:System.Net.IPAddress"/> or host name to query for.</param>
            <returns>
            An <see cref="T:System.Net.IPHostEntry"/> instance that contains address information about the host specified in <paramref name="hostNameOrAddress"/>.
            In case the <paramref name="hostNameOrAddress"/> could not be resolved to a domain name, this method returns <c>null</c>,
            unless <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is set to true, then it might throw a <see cref="T:DnsClient.DnsResponseException"/>.
            </returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="hostNameOrAddress"/> is null.</exception>
            <exception cref="T:DnsClient.DnsResponseException">In case <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is set to true and a DNS error occurs.</exception>
        </member>
        <member name="M:DnsClient.DnsQueryExtensions.GetHostEntryAsync(DnsClient.IDnsQuery,System.String)">
            <summary>
            The <c>GetHostEntryAsync</c> method queries a DNS server for the IP addresses and aliases associated with the <paramref name="hostNameOrAddress"/>.
            In case <paramref name="hostNameOrAddress"/> is an <see cref="T:System.Net.IPAddress"/>, <c>GetHostEntry</c> does a reverse lookup on that first to determine the hostname.
            <para>
            IP addresses found are returned in <see cref="P:System.Net.IPHostEntry.AddressList"/>.
            <see cref="F:DnsClient.Protocol.ResourceRecordType.CNAME"/> records are used to populate the <see cref="P:System.Net.IPHostEntry.Aliases"/>.<br/>
            The <see cref="P:System.Net.IPHostEntry.HostName"/> property will be set to the resolved hostname or <paramref name="hostNameOrAddress"/>.
            </para>
            </summary>
            <example>
            The following code example uses the <see cref="M:DnsClient.DnsQueryExtensions.GetHostEntryAsync(DnsClient.IDnsQuery,System.String)"/> method to resolve an IP address or hostname to an <see cref="T:System.Net.IPHostEntry"/> instance.
            <code>
            <![CDATA[
            public static async Task PrintHostEntry(string hostOrIp)
            {
                var lookup = new LookupClient();
                IPHostEntry hostEntry = await lookup.GetHostEntryAsync(hostOrIp);
                Console.WriteLine(hostEntry.HostName);
                foreach (var ip in hostEntry.AddressList)
                {
                    Console.WriteLine(ip);
                }
                foreach (var alias in hostEntry.Aliases)
                {
                    Console.WriteLine(alias);
                }
            }
            ]]>
            </code>
            </example>
            <remarks>
            The method has some logic to populate the <see cref="P:System.Net.IPHostEntry.Aliases"/> list:
            <list type="bullet">
            <item>
            <term>
            In case of sub-domain queries or similar, there might be multiple <see cref="F:DnsClient.Protocol.ResourceRecordType.CNAME"/> records for one <see cref="T:System.Net.IPAddress"/>,
            </term>
            </item><item>
            <term>
            If only one <see cref="T:System.Net.IPAddress"/> is in the result set, all the aliases found will be returned.
            </term>
            </item><item>
            <term>
            If more than one <see cref="T:System.Net.IPAddress"/> is in the result set, aliases are returned only if at least one doesn't match the queried hostname.
            </term>
            </item>
            </list>
            </remarks>
            <param name="query">The <see cref="T:DnsClient.IDnsQuery"/> instance.</param>
            <param name="hostNameOrAddress">The <see cref="T:System.Net.IPAddress"/> or host name to query for.</param>
            <returns>
            An <see cref="T:System.Net.IPHostEntry"/> instance that contains address information about the host specified in <paramref name="hostNameOrAddress"/>.
            In case the <paramref name="hostNameOrAddress"/> could not be resolved to a domain name, this method returns <c>null</c>,
            unless <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is set to true, then it might throw a <see cref="T:DnsClient.DnsResponseException"/>.
            </returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="hostNameOrAddress"/> is null.</exception>
            <exception cref="T:DnsClient.DnsResponseException">In case <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is set to true and a DNS error occurs.</exception>
        </member>
        <member name="M:DnsClient.DnsQueryExtensions.GetHostEntry(DnsClient.IDnsQuery,System.Net.IPAddress)">
            <summary>
            The <c>GetHostEntry</c> method does a reverse lookup on the IP <paramref name="address"/>,
            and queries a DNS server for the IP addresses and aliases associated with the resolved hostname.
            <para>
            IP addresses found are returned in <see cref="P:System.Net.IPHostEntry.AddressList"/>.
            <see cref="F:DnsClient.Protocol.ResourceRecordType.CNAME"/> records are used to populate the <see cref="P:System.Net.IPHostEntry.Aliases"/>.<br/>
            The <see cref="P:System.Net.IPHostEntry.HostName"/> property will be set to the resolved hostname of the <paramref name="address"/>.
            </para>
            </summary>
            <example>
            The following code example uses the <see cref="M:DnsClient.DnsQueryExtensions.GetHostEntry(DnsClient.IDnsQuery,System.Net.IPAddress)"/> method to resolve an IP address to an <see cref="T:System.Net.IPHostEntry"/> instance.
            <code>
            <![CDATA[
            public static void PrintHostEntry(IPAddress address)
            {
                var lookup = new LookupClient();
                IPHostEntry hostEntry = lookup.GetHostEntry(address);
                Console.WriteLine(hostEntry.HostName);
                foreach (var ip in hostEntry.AddressList)
                {
                    Console.WriteLine(ip);
                }
                foreach (var alias in hostEntry.Aliases)
                {
                    Console.WriteLine(alias);
                }
            }
            ]]>
            </code>
            </example>
            <remarks>
            The method has some logic to populate the <see cref="P:System.Net.IPHostEntry.Aliases"/> list:
            <list type="bullet">
            <item>
            <term>
            In case of sub-domain queries or similar, there might be multiple <see cref="F:DnsClient.Protocol.ResourceRecordType.CNAME"/> records for one <see cref="T:System.Net.IPAddress"/>,
            </term>
            </item><item>
            <term>
            If only one <see cref="T:System.Net.IPAddress"/> is in the result set, all the aliases found will be returned.
            </term>
            </item><item>
            <term>
            If more than one <see cref="T:System.Net.IPAddress"/> is in the result set, aliases are returned only if at least one doesn't match the queried hostname.
            </term>
            </item>
            </list>
            </remarks>
            <param name="query">The <see cref="T:DnsClient.IDnsQuery"/> instance.</param>
            <param name="address">The <see cref="T:System.Net.IPAddress"/> to query for.</param>
            <returns>
            An <see cref="T:System.Net.IPHostEntry"/> instance that contains address information about the host specified in <paramref name="address"/>.
            In case the <paramref name="address"/> could not be resolved to a domain name, this method returns <c>null</c>,
            unless <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is set to true, then it might throw a <see cref="T:DnsClient.DnsResponseException"/>.
            </returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="address"/> is null.</exception>
            <exception cref="T:DnsClient.DnsResponseException">In case <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is set to true and a DNS error occurs.</exception>
        </member>
        <member name="M:DnsClient.DnsQueryExtensions.GetHostEntryAsync(DnsClient.IDnsQuery,System.Net.IPAddress)">
            <summary>
            The <c>GetHostEntryAsync</c> method does a reverse lookup on the IP <paramref name="address"/>,
            and queries a DNS server for the IP addresses and aliases associated with the resolved hostname.
            <para>
            IP addresses found are returned in <see cref="P:System.Net.IPHostEntry.AddressList"/>.
            <see cref="F:DnsClient.Protocol.ResourceRecordType.CNAME"/> records are used to populate the <see cref="P:System.Net.IPHostEntry.Aliases"/>.<br/>
            The <see cref="P:System.Net.IPHostEntry.HostName"/> property will be set to the resolved hostname of the <paramref name="address"/>.
            </para>
            </summary>
            <example>
            The following code example uses the <see cref="M:DnsClient.DnsQueryExtensions.GetHostEntryAsync(DnsClient.IDnsQuery,System.Net.IPAddress)"/> method to resolve an IP address to an <see cref="T:System.Net.IPHostEntry"/> instance.
            <code>
            <![CDATA[
            public static async Task PrintHostEntry(IPAddress address)
            {
                var lookup = new LookupClient();
                IPHostEntry hostEntry = await lookup.GetHostEntryAsync(address);
                Console.WriteLine(hostEntry.HostName);
                foreach (var ip in hostEntry.AddressList)
                {
                    Console.WriteLine(ip);
                }
                foreach (var alias in hostEntry.Aliases)
                {
                    Console.WriteLine(alias);
                }
            }
            ]]>
            </code>
            </example>
            <remarks>
            The method has some logic to populate the <see cref="P:System.Net.IPHostEntry.Aliases"/> list:
            <list type="bullet">
            <item>
            <term>
            In case of sub-domain queries or similar, there might be multiple <see cref="F:DnsClient.Protocol.ResourceRecordType.CNAME"/> records for one <see cref="T:System.Net.IPAddress"/>,
            </term>
            </item><item>
            <term>
            If only one <see cref="T:System.Net.IPAddress"/> is in the result set, all the aliases found will be returned.
            </term>
            </item><item>
            <term>
            If more than one <see cref="T:System.Net.IPAddress"/> is in the result set, aliases are returned only if at least one doesn't match the queried hostname.
            </term>
            </item>
            </list>
            </remarks>
            <param name="query">The <see cref="T:DnsClient.IDnsQuery"/> instance.</param>
            <param name="address">The <see cref="T:System.Net.IPAddress"/> to query for.</param>
            <returns>
            An <see cref="T:System.Net.IPHostEntry"/> instance that contains address information about the host specified in <paramref name="address"/>.
            In case the <paramref name="address"/> could not be resolved to a domain name, this method returns <c>null</c>,
            unless <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is set to true, then it might throw a <see cref="T:DnsClient.DnsResponseException"/>.
            </returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="address"/> is null.</exception>
            <exception cref="T:DnsClient.DnsResponseException">In case <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is set to true and a DNS error occurs.</exception>
        </member>
        <member name="M:DnsClient.DnsQueryExtensions.GetHostName(DnsClient.IDnsQuery,System.Net.IPAddress)">
            <summary>
            The <c>GetHostName</c> method queries a DNS server to resolve the hostname of the <paramref name="address"/> via reverse lookup.
            </summary>
            <param name="query">The <see cref="T:DnsClient.IDnsQuery"/> instance.</param>
            <param name="address">The <see cref="T:System.Net.IPAddress"/> to resolve.</param>
            <returns>
            The hostname if the reverse lookup was successful or <c>null</c>, in case the host was not found.
            If <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is set to <c>true</c>, this method will throw an <see cref="T:DnsClient.DnsResponseException"/> instead of returning <c>null</c>!
            </returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="address"/>is null.</exception>
            <exception cref="T:DnsClient.DnsResponseException">If no host has been found and <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is <c>true</c>.</exception>
        </member>
        <member name="M:DnsClient.DnsQueryExtensions.GetHostNameAsync(DnsClient.IDnsQuery,System.Net.IPAddress)">
            <summary>
            The <c>GetHostNameAsync</c> method queries a DNS server to resolve the hostname of the <paramref name="address"/> via reverse lookup.
            </summary>
            <param name="query">The <see cref="T:DnsClient.IDnsQuery"/> instance.</param>
            <param name="address">The <see cref="T:System.Net.IPAddress"/> to resolve.</param>
            <returns>
            The hostname if the reverse lookup was successful or <c>null</c>, in case the host was not found.
            If <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is set to <c>true</c>, this method will throw an <see cref="T:DnsClient.DnsResponseException"/> instead of returning <c>null</c>!
            </returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="address"/>is null.</exception>
            <exception cref="T:DnsClient.DnsResponseException">If no host has been found and <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is <c>true</c>.</exception>
        </member>
        <member name="M:DnsClient.DnsQueryExtensions.ResolveService(DnsClient.IDnsQuery,System.String,System.String,System.Net.Sockets.ProtocolType)">
            <summary>
            The <c>ResolveService</c> method does a <see cref="F:DnsClient.QueryType.SRV"/> lookup for <c>_{<paramref name="serviceName"/>}[._{<paramref name="protocol"/>}].{<paramref name="baseDomain"/>}</c>
            and aggregates the result (hostname, port and list of <see cref="T:System.Net.IPAddress"/>s) to a <see cref="T:DnsClient.ServiceHostEntry"/>.
            <para>
            This method expects matching A or AAAA records to populate the <see cref="P:System.Net.IPHostEntry.AddressList"/>,
            and/or a <see cref="F:DnsClient.Protocol.ResourceRecordType.CNAME"/> record to populate the <see cref="P:System.Net.IPHostEntry.HostName"/> property of the result.
            </para>
            </summary>
            <remarks>
            The returned list of <see cref="T:System.Net.IPAddress"/>s and/or the hostname can be empty if no matching additional records are found.
            </remarks>
            <param name="query">The <see cref="T:DnsClient.IDnsQuery"/> instance.</param>
            <param name="baseDomain">The base domain, which will be appended to the end of the query string.</param>
            <param name="serviceName">The name of the service to look for. Must not have any <c>_</c> prefix.</param>
            <param name="protocol">
            The protocol of the service to query for.
            Set it to <see cref="F:System.Net.Sockets.ProtocolType.Unknown"/> or <see cref="F:System.Net.Sockets.ProtocolType.Unspecified"/> to not pass any protocol.
            </param>
            <returns>A collection of <see cref="T:DnsClient.ServiceHostEntry"/>s.</returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="baseDomain"/> or <paramref name="serviceName"/> are null.</exception>
            <seealso href="https://tools.ietf.org/html/rfc2782">RFC 2782</seealso>
        </member>
        <member name="M:DnsClient.DnsQueryExtensions.ResolveServiceAsync(DnsClient.IDnsQuery,System.String,System.String,System.Net.Sockets.ProtocolType)">
            <summary>
            The <c>ResolveServiceAsync</c> method does  a <see cref="F:DnsClient.QueryType.SRV"/> lookup for <c>_{<paramref name="serviceName"/>}[._{<paramref name="protocol"/>}].{<paramref name="baseDomain"/>}</c>
            and aggregates the result (hostname, port and list of <see cref="T:System.Net.IPAddress"/>s) to a <see cref="T:DnsClient.ServiceHostEntry"/>.
            <para>
            This method expects matching A or AAAA records to populate the <see cref="P:System.Net.IPHostEntry.AddressList"/>,
            and/or a <see cref="F:DnsClient.Protocol.ResourceRecordType.CNAME"/> record to populate the <see cref="P:System.Net.IPHostEntry.HostName"/> property of the result.
            </para>
            </summary>
            <remarks>
            The returned list of <see cref="T:System.Net.IPAddress"/>s and/or the hostname can be empty if no matching additional records are found.
            </remarks>
            <param name="query">The <see cref="T:DnsClient.IDnsQuery"/> instance.</param>
            <param name="baseDomain">The base domain, which will be appended to the end of the query string.</param>
            <param name="serviceName">The name of the service to look for. Must not have any <c>_</c> prefix.</param>
            <param name="protocol">
            The protocol of the service to query for.
            Set it to <see cref="F:System.Net.Sockets.ProtocolType.Unknown"/> or <see cref="F:System.Net.Sockets.ProtocolType.Unspecified"/> to not pass any protocol.
            </param>
            <returns>A collection of <see cref="T:DnsClient.ServiceHostEntry"/>s.</returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="baseDomain"/> or <paramref name="serviceName"/> are null.</exception>
            <seealso href="https://tools.ietf.org/html/rfc2782">RFC 2782</seealso>
        </member>
        <member name="M:DnsClient.DnsQueryExtensions.ResolveService(DnsClient.IDnsQuery,System.String,System.String,System.String)">
            <summary>
            The <c>ResolveService</c> method does a <see cref="F:DnsClient.QueryType.SRV"/> lookup for <c>_{<paramref name="serviceName"/>}[._{<paramref name="tag"/>}].{<paramref name="baseDomain"/>}</c>
            and aggregates the result (hostname, port and list of <see cref="T:System.Net.IPAddress"/>s) to a <see cref="T:DnsClient.ServiceHostEntry"/>.
            <para>
            This method expects matching A or AAAA records to populate the <see cref="P:System.Net.IPHostEntry.AddressList"/>,
            and/or a <see cref="F:DnsClient.Protocol.ResourceRecordType.CNAME"/> record to populate the <see cref="P:System.Net.IPHostEntry.HostName"/> property of the result.
            </para>
            </summary>
            <remarks>
            The returned list of <see cref="T:System.Net.IPAddress"/>s and/or the hostname can be empty if no matching additional records are found.
            </remarks>
            <param name="query">The <see cref="T:DnsClient.IDnsQuery"/> instance.</param>
            <param name="baseDomain">The base domain, which will be appended to the end of the query string.</param>
            <param name="serviceName">The name of the service to look for. Must not have any <c>_</c> prefix.</param>
            <param name="tag">An optional tag. Must not have any <c>_</c> prefix.</param>
            <returns>A collection of <see cref="T:DnsClient.ServiceHostEntry"/>s.</returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="baseDomain"/> or <paramref name="serviceName"/> are null.</exception>
            <seealso href="https://tools.ietf.org/html/rfc2782">RFC 2782</seealso>
        </member>
        <member name="M:DnsClient.DnsQueryExtensions.ResolveServiceAsync(DnsClient.IDnsQuery,System.String,System.String,System.String)">
            <summary>
            The <c>ResolveServiceAsync</c> method does a <see cref="F:DnsClient.QueryType.SRV"/> lookup for <c>_{<paramref name="serviceName"/>}[._{<paramref name="tag"/>}].{<paramref name="baseDomain"/>}</c>
            and aggregates the result (hostname, port and list of <see cref="T:System.Net.IPAddress"/>s) to a <see cref="T:DnsClient.ServiceHostEntry"/>.
            <para>
            This method expects matching A or AAAA records to populate the <see cref="P:System.Net.IPHostEntry.AddressList"/>,
            and/or a <see cref="F:DnsClient.Protocol.ResourceRecordType.CNAME"/> record to populate the <see cref="P:System.Net.IPHostEntry.HostName"/> property of the result.
            </para>
            </summary>
            <remarks>
            The returned list of <see cref="T:System.Net.IPAddress"/>s and/or the hostname can be empty if no matching additional records are found.
            </remarks>
            <param name="query">The <see cref="T:DnsClient.IDnsQuery"/> instance.</param>
            <param name="baseDomain">The base domain, which will be appended to the end of the query string.</param>
            <param name="serviceName">The name of the service to look for. Must not have any <c>_</c> prefix.</param>
            <param name="tag">An optional tag. Must not have any <c>_</c> prefix.</param>
            <returns>A collection of <see cref="T:DnsClient.ServiceHostEntry"/>s.</returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="baseDomain"/> or <paramref name="serviceName"/> are null.</exception>
            <seealso href="https://tools.ietf.org/html/rfc2782">RFC 2782</seealso>
        </member>
        <member name="T:DnsClient.ServiceHostEntry">
            <summary>
            Extends <see cref="T:System.Net.IPHostEntry"/> by the <see cref="P:DnsClient.ServiceHostEntry.Port"/> property.
            </summary>
            <seealso cref="T:System.Net.IPHostEntry" />
        </member>
        <member name="P:DnsClient.ServiceHostEntry.Port">
            <summary>
            Gets or sets the port.
            </summary>
            <value>
            The port.
            </value>
        </member>
        <member name="T:DnsClient.DnsQueryResponse">
            <summary>
            The response returned by any query performed by <see cref="T:DnsClient.IDnsQuery"/> with all answer sections, header and message information.
            </summary>
            <seealso cref="T:DnsClient.IDnsQuery"/>
            <seealso cref="T:DnsClient.ILookupClient"/>
        </member>
        <member name="P:DnsClient.DnsQueryResponse.NameServer">
            <summary>
            Gets the name server which responded with this result.
            </summary>
            <value>
            The name server.
            </value>
        </member>
        <member name="P:DnsClient.DnsQueryResponse.Additionals">
            <summary>
            Gets a list of additional records.
            </summary>
        </member>
        <member name="P:DnsClient.DnsQueryResponse.AllRecords">
            <summary>
            Gets a list of all answers, addtional and authority records.
            </summary>
        </member>
        <member name="P:DnsClient.DnsQueryResponse.AuditTrail">
            <summary>
            Gets the audit trail if <see cref="P:DnsClient.ILookupClient.EnableAuditTrail"/>. as set to <c>true</c>, <c>null</c> otherwise.
            </summary>
            <value>
            The audit trail.
            </value>
        </member>
        <member name="P:DnsClient.DnsQueryResponse.Answers">
            <summary>
            Gets a list of answer records.
            </summary>
        </member>
        <member name="P:DnsClient.DnsQueryResponse.Authorities">
            <summary>
            Gets a list of authority records.
            </summary>
        </member>
        <member name="P:DnsClient.DnsQueryResponse.ErrorMessage">
            <summary>
            Returns a string value representing the error response code in case an error occured,
            otherwise '<see cref="F:DnsClient.DnsResponseCode.NoError"/>'.
            </summary>
        </member>
        <member name="P:DnsClient.DnsQueryResponse.HasError">
            <summary>
            A flag indicating if the header contains a response codde other than <see cref="F:DnsClient.DnsResponseCode.NoError"/>.
            </summary>
        </member>
        <member name="P:DnsClient.DnsQueryResponse.Header">
            <summary>
            Gets the header of the response.
            </summary>
        </member>
        <member name="P:DnsClient.DnsQueryResponse.Questions">
            <summary>
            Gets the list of questions.
            </summary>
        </member>
        <member name="P:DnsClient.DnsQueryResponse.MessageSize">
            <summary>
            Gets the size of the message.
            </summary>
            <value>
            The size of the message.
            </value>
        </member>
        <member name="M:DnsClient.DnsQueryResponse.Equals(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:DnsClient.DnsQueryResponse.GetHashCode">
            <inheritdoc />
        </member>
        <member name="T:DnsClient.DnsQuestion">
            <summary>
            The <see cref="T:DnsClient.DnsQuestion"/> class transports information of the lookup query performed by <see cref="T:DnsClient.IDnsQuery"/>.
            <para>
            A list of questions is returned by <see cref="T:DnsClient.IDnsQueryResponse"/> (although, the list will always contain only one <see cref="T:DnsClient.DnsQuestion"/>).
            </para>
            </summary>
        </member>
        <member name="P:DnsClient.DnsQuestion.QueryName">
            <summary>
            Gets the domain name the lookup was runnig for.
            </summary>
            <value>
            The name of the query.
            </value>
        </member>
        <member name="P:DnsClient.DnsQuestion.QuestionClass">
            <summary>
            Gets the question class.
            </summary>
            <value>
            The question class.
            </value>
        </member>
        <member name="P:DnsClient.DnsQuestion.QuestionType">
            <summary>
            Gets the type of the question.
            </summary>
            <value>
            The type of the question.
            </value>
        </member>
        <member name="M:DnsClient.DnsQuestion.#ctor(System.String,DnsClient.QueryType,DnsClient.QueryClass)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.DnsQuestion"/> class.
            </summary>
            <param name="query">The query.</param>
            <param name="questionType">Type of the question.</param>
            <param name="questionClass">The question class.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="query"/> is null.</exception>
        </member>
        <member name="M:DnsClient.DnsQuestion.#ctor(DnsClient.DnsString,DnsClient.QueryType,DnsClient.QueryClass)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.DnsQuestion"/> class.
            </summary>
            <param name="query">The query.</param>
            <param name="questionType">Type of the question.</param>
            <param name="questionClass">The question class.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="query"/> is null.</exception>
        </member>
        <member name="M:DnsClient.DnsQuestion.ToString">
            <inheritdoc />
        </member>
        <member name="M:DnsClient.DnsQuestion.ToString(System.Int32)">
            <summary>
            Returns the information of this instance in a friendly format with an optional <paramref name="offset"/>.
            </summary>
            <param name="offset">The optional offset which can be used for pretty printing.</param>
            <returns>The string representation of this instance.</returns>
        </member>
        <member name="T:DnsClient.DnsRequestMessage">
            <summary>
            Represents a simple request message which can be send through <see cref="T:DnsClient.DnsMessageHandler"/>.
            </summary>
        </member>
        <member name="T:DnsClient.DnsResponseCode">
            <summary>
            Response codes of the <see cref="T:DnsClient.IDnsQueryResponse"/>.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc6895#section-2.3">RFC 6895</seealso>
        </member>
        <member name="F:DnsClient.DnsResponseCode.NoError">
            <summary>
            No error condition
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035">RFC 1035</seealso>
        </member>
        <member name="F:DnsClient.DnsResponseCode.FormatError">
            <summary>
            Format error. The name server was unable to interpret the query.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035">RFC 1035</seealso>
        </member>
        <member name="F:DnsClient.DnsResponseCode.ServerFailure">
            <summary>
            Server failure. The name server was unable to process this query due to a problem with the name server.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035">RFC 1035</seealso>
        </member>
        <member name="F:DnsClient.DnsResponseCode.NotExistentDomain">
            <summary>
            Name Error. Meaningful only for responses from an authoritative name server,
            this code signifies that the domain name referenced in the query does not exist.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035">RFC 1035</seealso>
        </member>
        <member name="F:DnsClient.DnsResponseCode.NotImplemented">
            <summary>
            Not Implemented. The name server does not support the requested kind of query.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035">RFC 1035</seealso>
        </member>
        <member name="F:DnsClient.DnsResponseCode.Refused">
            <summary>
            Refused. The name server refuses to perform the specified operation for policy reasons.
            For example, a name server may not wish to provide the information to the particular requester,
            or a name server may not wish to perform a particular operation (e.g., zone transfer) for particular data.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035">RFC 1035</seealso>
        </member>
        <member name="F:DnsClient.DnsResponseCode.ExistingDomain">
            <summary>
            Name Exists when it should not.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc2136">RFC 2136</seealso>
        </member>
        <member name="F:DnsClient.DnsResponseCode.ExistingResourceRecordSet">
            <summary>
            Resource record set exists when it should not.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc2136">RFC 2136</seealso>
        </member>
        <member name="F:DnsClient.DnsResponseCode.MissingResourceRecordSet">
            <summary>
            Resource record set that should exist but does not.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc2136">RFC 2136</seealso>
        </member>
        <member name="F:DnsClient.DnsResponseCode.NotAuthorized">
            <summary>
            Server Not Authoritative for zone / Not Authorized.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc2136">RFC 2136</seealso>
            <seealso href="https://tools.ietf.org/html/rfc2845">RFC 2845</seealso>
        </member>
        <member name="F:DnsClient.DnsResponseCode.NotZone">
            <summary>
            Name not contained in zone.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc2136">RFC 2136</seealso>
        </member>
        <member name="F:DnsClient.DnsResponseCode.BadVersionOrBadSignature">
            <summary>
            Bad OPT Version or TSIG Signature Failure.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc2671">RFC 2671</seealso>
            <seealso href="https://tools.ietf.org/html/rfc2845">RFC 2845</seealso>
        </member>
        <member name="F:DnsClient.DnsResponseCode.BadKey">
            <summary>
            Key not recognized.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc2845">RFC 2845</seealso>
        </member>
        <member name="F:DnsClient.DnsResponseCode.BadTime">
            <summary>
            Signature out of time window.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc2845">RFC 2845</seealso>
        </member>
        <member name="F:DnsClient.DnsResponseCode.BadMode">
            <summary>
            Bad TKEY Mode.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc2930">RFC 2930</seealso>
        </member>
        <member name="F:DnsClient.DnsResponseCode.BadName">
            <summary>
            Duplicate key name.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc2930">RFC 2930</seealso>
        </member>
        <member name="F:DnsClient.DnsResponseCode.BadAlgorithm">
            <summary>
            Algorithm not supported.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc2930">RFC 2930</seealso>
        </member>
        <member name="F:DnsClient.DnsResponseCode.BadTruncation">
            <summary>
            Bad Truncation.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc4635">RFC 4635</seealso>
        </member>
        <member name="F:DnsClient.DnsResponseCode.BadCookie">
            <summary>
            Bad/missing Server Cookie
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc7873">RFC 7873</seealso>
        </member>
        <member name="F:DnsClient.DnsResponseCode.Unassigned">
            <summary>
            Unknown error.
            </summary>
        </member>
        <member name="F:DnsClient.DnsResponseCode.ConnectionTimeout">
            <summary>
            Indicates a timeout error. Connection to the remote server couldn't be established.
            </summary>
        </member>
        <member name="T:DnsClient.DnsResponseException">
            <summary>
            A DnsClient specific exception transporting additional information about the query causing this exception.
            </summary>
            <seealso cref="T:System.Exception" />
        </member>
        <member name="P:DnsClient.DnsResponseException.Code">
            <summary>
            Gets the response code.
            </summary>
            <value>
            The response code.
            </value>
        </member>
        <member name="P:DnsClient.DnsResponseException.AuditTrail">
            <summary>
            Gets the audit trail if <see cref="P:DnsClient.ILookupClient.EnableAuditTrail"/>. as set to <c>true</c>, <c>null</c> otherwise.
            </summary>
            <value>
            The audit trail.
            </value>
        </member>
        <member name="P:DnsClient.DnsResponseException.DnsError">
            <summary>
            Gets a human readable error message.
            </summary>
            <value>
            The error message.
            </value>
        </member>
        <member name="M:DnsClient.DnsResponseException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.DnsResponseException"/> class 
            with <see cref="P:DnsClient.DnsResponseException.Code"/> set to <see cref="F:DnsClient.DnsResponseCode.Unassigned"/>.
            </summary>
        </member>
        <member name="M:DnsClient.DnsResponseException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.DnsResponseException"/> class 
            with <see cref="P:DnsClient.DnsResponseException.Code"/> set to <see cref="F:DnsClient.DnsResponseCode.Unassigned"/>
            and a custom <paramref name="message"/>.
            </summary>
        </member>
        <member name="M:DnsClient.DnsResponseException.#ctor(DnsClient.DnsResponseCode)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.DnsResponseException"/> class 
            with the standard error text for the given <paramref name="code"/>.
            </summary>
        </member>
        <member name="M:DnsClient.DnsResponseException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.DnsResponseException"/> class 
            with <see cref="P:DnsClient.DnsResponseException.Code"/> set to <see cref="F:DnsClient.DnsResponseCode.Unassigned"/>
            and a custom <paramref name="message"/> and inner <see cref="T:System.Exception"/>.
            </summary>
        </member>
        <member name="M:DnsClient.DnsResponseException.#ctor(DnsClient.DnsResponseCode,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.DnsResponseException"/> class 
            with a custom <paramref name="message"/> and the given <paramref name="code"/>.
            </summary>
        </member>
        <member name="M:DnsClient.DnsResponseException.#ctor(DnsClient.DnsResponseCode,System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.DnsResponseException"/> class 
            with a custom <paramref name="message"/> and the given <paramref name="code"/>.
            </summary>
        </member>
        <member name="T:DnsClient.DnsResponseHeader">
            <summary>
            The header section of a <see cref="T:DnsClient.IDnsQueryResponse"/>.
            </summary>
        </member>
        <member name="P:DnsClient.DnsResponseHeader.AdditionalCount">
            <summary>
            Gets the number of additional records in the <see cref="T:DnsClient.IDnsQueryResponse"/>.
            </summary>
            <value>
            The number of additional records.
            </value>
        </member>
        <member name="P:DnsClient.DnsResponseHeader.AnswerCount">
            <summary>
            Gets the number of answer records in the <see cref="T:DnsClient.IDnsQueryResponse"/>.
            </summary>
            <value>
            The number of answer records.
            </value>
        </member>
        <member name="P:DnsClient.DnsResponseHeader.FutureUse">
            <summary>
            Gets a value indicating whether the future use flag is set.
            </summary>
            <value>
              The future use flag.
            </value>
        </member>
        <member name="P:DnsClient.DnsResponseHeader.HasAuthorityAnswer">
            <summary>
            Gets a value indicating whether this instance has authority answers.
            </summary>
            <value>
              <c>true</c> if this instance has authority answers; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:DnsClient.DnsResponseHeader.Id">
            <summary>
            Gets the identifier.
            </summary>
            <value>
            The identifier.
            </value>
        </member>
        <member name="P:DnsClient.DnsResponseHeader.IsAuthenticData">
            <summary>
            Gets a value indicating whether the result is authentic data.
            </summary>
            <value>
              <c>true</c> if the result is authentic; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:DnsClient.DnsResponseHeader.IsCheckingDisabled">
            <summary>
            Gets a value indicating whether checking is disabled.
            </summary>
            <value>
              <c>true</c> if checking is disabled; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:DnsClient.DnsResponseHeader.HasQuery">
            <summary>
            Gets a value indicating whether this instance has a query.
            </summary>
            <value>
              <c>true</c> if this instance has a query; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:DnsClient.DnsResponseHeader.NameServerCount">
            <summary>
            Gets the number of name servers.
            </summary>
            <value>
            The number of name servers.
            </value>
        </member>
        <member name="P:DnsClient.DnsResponseHeader.OPCode">
            <summary>
            Gets the kind of query defined by <see cref="T:DnsClient.DnsOpCode"/>.
            </summary>
            <value>
            The query kind.
            </value>
        </member>
        <member name="P:DnsClient.DnsResponseHeader.QuestionCount">
            <summary>
            Gets the number of questions of the <see cref="T:DnsClient.IDnsQueryResponse"/>.
            </summary>
            <value>
            The number of questions.
            </value>
        </member>
        <member name="P:DnsClient.DnsResponseHeader.RecursionAvailable">
            <summary>
            Gets a value indicating whether recursion is available on the DNS server.
            </summary>
            <value>
              <c>true</c> if recursion is available; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:DnsClient.DnsResponseHeader.ResponseCode">
            <summary>
            Gets the response code.
            </summary>
            <value>
            The response code.
            </value>
        </member>
        <member name="P:DnsClient.DnsResponseHeader.ResultTruncated">
            <summary>
            Gets a value indicating whether the result was truncated.
            </summary>
            <value>
              <c>true</c> if the result was truncated; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:DnsClient.DnsResponseHeader.RecursionDesired">
            <summary>
            Gets a value indicating whether recursion desired flag was set by the request.
            </summary>
            <value>
              <c>true</c> if the recursion desired flag was set; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="M:DnsClient.DnsResponseHeader.#ctor(System.Int32,System.UInt16,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.DnsResponseHeader"/> class.
            </summary>
            <param name="id">The identifier.</param>
            <param name="flags">The flags.</param>
            <param name="questionCount">The question count.</param>
            <param name="answerCount">The answer count.</param>
            <param name="additionalCount">The additional count.</param>
            <param name="serverCount">The server count.</param>
        </member>
        <member name="M:DnsClient.DnsResponseHeader.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="M:DnsClient.DnsResponseMessage.AsQueryResponse(DnsClient.NameServer)">
            <summary>
            Gets the readonly representation of this message which can be returned.
            </summary>
        </member>
        <member name="T:DnsClient.DnsString">
            <summary>
            The <see cref="T:DnsClient.DnsString"/> type is used to normalize and validate domain names and labels.
            </summary>
        </member>
        <member name="F:DnsClient.DnsString.ACEPrefix">
            <summary>
            The ACE prefix indicates that the domain name label contains not normally supported characters and that the label has been endoded.
            </summary>
        </member>
        <member name="F:DnsClient.DnsString.LabelMaxLength">
            <summary>
            The maximum lenght in bytes for one label.
            </summary>
        </member>
        <member name="F:DnsClient.DnsString.QueryMaxLength">
            <summary>
            The maximum supported total length in bytes for a domain nanme. The calculation of the actual
            bytes this <see cref="T:DnsClient.DnsString"/> consumes includes all bytes used for to encode it as octet string.
            </summary>
        </member>
        <member name="F:DnsClient.DnsString.RootLabel">
            <summary>
            The root label ".".
            </summary>
        </member>
        <member name="P:DnsClient.DnsString.Original">
            <summary>
            Gets the orginal value.
            </summary>
        </member>
        <member name="P:DnsClient.DnsString.Value">
            <summary>
            Gets the validated and eventually modified value.
            </summary>
        </member>
        <member name="M:DnsClient.DnsString.op_Implicit(DnsClient.DnsString)~System.String">
            <summary>
            Performs an implicit conversion from <see cref="T:DnsClient.DnsString"/> to <see cref="T:System.String"/>.
            </summary>
            <param name="name">The name.</param>
            <returns>
            The result of the conversion.
            </returns>
        </member>
        <member name="M:DnsClient.DnsString.ToString">
            <inheritdoc />
        </member>
        <member name="M:DnsClient.DnsString.GetHashCode">
            <inheritdoc />
        </member>
        <member name="M:DnsClient.DnsString.Equals(System.Object)">
            <inheritdoc />
        </member>
        <member name="P:DnsClient.DnsString.Labels">
            <summary>
            Returns labels representation of the <see cref="P:DnsClient.DnsString.Value"/>.
            </summary>
        </member>
        <member name="M:DnsClient.DnsString.Parse(System.String)">
            <summary>
            Parses the given <paramref name="query"/> and validates all labels.
            </summary>
            <remarks>
            An empty string will be interpreted as root label.
            </remarks>
            <param name="query">A domain name.</param>
            <returns>The <see cref="T:DnsClient.DnsString"/> representing the given <paramref name="query"/>.</returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="query"/> is null.</exception>
        </member>
        <member name="M:DnsClient.DnsString.FromResponseQueryString(System.String)">
            <summary>
            Transforms names with the <see cref="F:DnsClient.DnsString.ACEPrefix"/> to the unicode variant and adds a trailing '.' at the end if not present.
            The original value will be kept in this instance in case it is needed.
            </summary>
            <remarks>
            The method does not parse the domain name unless it contains a <see cref="F:DnsClient.DnsString.ACEPrefix"/>.
            </remarks>
            <param name="query">The value to check.</param>
            <returns>The <see cref="T:DnsClient.DnsString"/> representation.</returns>
        </member>
        <member name="T:DnsClient.IDnsQuery">
            <summary>
            Generic contract to query DNS endpoints. Implemented by <see cref="T:DnsClient.LookupClient"/>.
            </summary>
        </member>
        <member name="M:DnsClient.IDnsQuery.Query(System.String,DnsClient.QueryType,DnsClient.QueryClass)">
            <summary>
            Performs a DNS lookup for the given <paramref name="query" />, <paramref name="queryType" /> and <paramref name="queryClass" />
            </summary>
            <param name="query">The domain name query.</param>
            <param name="queryType">The <see cref="T:DnsClient.QueryType" />.</param>
            <param name="queryClass">The <see cref="T:DnsClient.QueryClass"/>.</param>
            <returns>
            The <see cref="T:DnsClient.IDnsQueryResponse" /> which contains the response headers and lists of resource records.
            </returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="query"/> is null.</exception>
            <exception cref="T:DnsClient.DnsResponseException">After retries and fallbacks, if none of the servers were accessible, timed out or (if <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is enabled) returned error results.</exception>
        </member>
        <member name="M:DnsClient.IDnsQuery.QueryAsync(System.String,DnsClient.QueryType,DnsClient.QueryClass,System.Threading.CancellationToken)">
            <summary>
            Performs a DNS lookup for the given <paramref name="query" />, <paramref name="queryType" /> and <paramref name="queryClass" />
            </summary>
            <param name="query">The domain name query.</param>
            <param name="queryType">The <see cref="T:DnsClient.QueryType" />.</param>
            <param name="queryClass">The <see cref="T:DnsClient.QueryClass" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>
            The <see cref="T:DnsClient.IDnsQueryResponse" /> which contains the response headers and lists of resource records.
            </returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="query"/> is null.</exception>
            <exception cref="T:System.OperationCanceledException">If cancellation has been requested for the passed in <paramref name="cancellationToken"/>.</exception>
            <exception cref="T:DnsClient.DnsResponseException">After retries and fallbacks, if none of the servers were accessible, timed out or (if <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is enabled) returned error results.</exception>
        </member>
        <member name="M:DnsClient.IDnsQuery.QueryReverse(System.Net.IPAddress)">
            <summary>
            Does a reverse lookup for the <paramref name="ipAddress"/>.
            </summary>
            <param name="ipAddress">The <see cref="T:System.Net.IPAddress"/>.</param>
            <returns>
            The <see cref="T:DnsClient.IDnsQueryResponse" /> which might contain the <see cref="T:DnsClient.Protocol.PtrRecord" /> for the <paramref name="ipAddress"/>.
            </returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="ipAddress"/> is null.</exception>
            <exception cref="T:DnsClient.DnsResponseException">After retries and fallbacks, if none of the servers were accessible, timed out or (if <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is enabled) returned error results.</exception>
        </member>
        <member name="M:DnsClient.IDnsQuery.QueryReverseAsync(System.Net.IPAddress,System.Threading.CancellationToken)">
            <summary>
            Does a reverse lookup for the <paramref name="ipAddress" />.
            </summary>
            <param name="ipAddress">The <see cref="T:System.Net.IPAddress" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>
            The <see cref="T:DnsClient.IDnsQueryResponse" /> which might contain the <see cref="T:DnsClient.Protocol.PtrRecord" /> for the <paramref name="ipAddress"/>.
            </returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="ipAddress"/> is null.</exception>
            <exception cref="T:System.OperationCanceledException">If cancellation has been requested for the passed in <paramref name="cancellationToken"/>.</exception>
            <exception cref="T:DnsClient.DnsResponseException">After retries and fallbacks, if none of the servers were accessible, timed out or (if <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is enabled) returned error results.</exception>
        </member>
        <member name="M:DnsClient.IDnsQuery.QueryServer(System.Collections.Generic.IReadOnlyCollection{System.Net.IPAddress},System.String,DnsClient.QueryType,DnsClient.QueryClass)">
            <summary>
            Performs a DNS lookup for the given <paramref name="query" />, <paramref name="queryType" /> and <paramref name="queryClass" />
            using only the passed in <paramref name="servers"/> with the <see cref="F:DnsClient.NameServer.DefaultPort"/>.
            </summary>
            <remarks>
            To query specific servers can be useful in cases where you have to use a different DNS server than initially configured
            (without creating a new instance of <see cref="T:DnsClient.ILookupClient"/> for example).
            </remarks>
            <param name="servers">The list of one or more server(s) which should be used for the lookup.</param>
            <param name="query">The domain name query.</param>
            <param name="queryType">The <see cref="T:DnsClient.QueryType" />.</param>
            <param name="queryClass">The <see cref="T:DnsClient.QueryClass" />.</param>
            <returns>
            The <see cref="T:DnsClient.IDnsQueryResponse" /> which contains the response headers and lists of resource records.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">If the <paramref name="servers"/> collection doesn't contain any elements.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="query"/> is null.</exception>
            <exception cref="T:DnsClient.DnsResponseException">After retries and fallbacks, if none of the servers were accessible, timed out or (if <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is enabled) returned error results.</exception>
        </member>
        <member name="M:DnsClient.IDnsQuery.QueryServer(System.Collections.Generic.IReadOnlyCollection{System.Net.IPEndPoint},System.String,DnsClient.QueryType,DnsClient.QueryClass)">
            <summary>
            Performs a DNS lookup for the given <paramref name="query" />, <paramref name="queryType" /> and <paramref name="queryClass" />
            using only the passed in <paramref name="servers"/>.
            </summary>
            <remarks>
            To query specific servers can be useful in cases where you have to use a different DNS server than initially configured
            (without creating a new instance of <see cref="T:DnsClient.ILookupClient"/> for example).
            </remarks>
            <param name="servers">The list of one or more server(s) which should be used for the lookup.</param>
            <param name="query">The domain name query.</param>
            <param name="queryType">The <see cref="T:DnsClient.QueryType" />.</param>
            <param name="queryClass">The <see cref="T:DnsClient.QueryClass" />.</param>
            <returns>
            The <see cref="T:DnsClient.IDnsQueryResponse" /> which contains the response headers and lists of resource records.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">If the <paramref name="servers"/> collection doesn't contain any elements.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="query"/> is null.</exception>
            <exception cref="T:DnsClient.DnsResponseException">After retries and fallbacks, if none of the servers were accessible, timed out or (if <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is enabled) returned error results.</exception>
        </member>
        <member name="M:DnsClient.IDnsQuery.QueryServerAsync(System.Collections.Generic.IReadOnlyCollection{System.Net.IPAddress},System.String,DnsClient.QueryType,DnsClient.QueryClass,System.Threading.CancellationToken)">
            <summary>
            Performs a DNS lookup for the given <paramref name="query" />, <paramref name="queryType" /> and <paramref name="queryClass" />
            using only the passed in <paramref name="servers"/> with the <see cref="F:DnsClient.NameServer.DefaultPort"/>.
            </summary>
            <remarks>
            To query specific servers can be useful in cases where you have to use a different DNS server than initially configured
            (without creating a new instance of <see cref="T:DnsClient.ILookupClient"/> for example).
            </remarks>
            <param name="servers">The list of one or more server(s) which should be used for the lookup.</param>
            <param name="query">The domain name query.</param>
            <param name="queryType">The <see cref="T:DnsClient.QueryType" />.</param>
            <param name="queryClass">The <see cref="T:DnsClient.QueryClass" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>
            The <see cref="T:DnsClient.IDnsQueryResponse" /> which contains the response headers and lists of resource records.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">If the <paramref name="servers"/> collection doesn't contain any elements.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="query"/> is null.</exception>
            <exception cref="T:System.OperationCanceledException">If cancellation has been requested for the passed in <paramref name="cancellationToken"/>.</exception>
            <exception cref="T:DnsClient.DnsResponseException">After retries and fallbacks, if none of the servers were accessible, timed out or (if <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is enabled) returned error results.</exception>
        </member>
        <member name="M:DnsClient.IDnsQuery.QueryServerAsync(System.Collections.Generic.IReadOnlyCollection{System.Net.IPEndPoint},System.String,DnsClient.QueryType,DnsClient.QueryClass,System.Threading.CancellationToken)">
            <summary>
            Performs a DNS lookup for the given <paramref name="query" />, <paramref name="queryType" /> and <paramref name="queryClass" />
            using only the passed in <paramref name="servers"/>.
            </summary>
            <remarks>
            To query specific servers can be useful in cases where you have to use a different DNS server than initially configured
            (without creating a new instance of <see cref="T:DnsClient.ILookupClient"/> for example).
            </remarks>
            <param name="servers">The list of one or more server(s) which should be used for the lookup.</param>
            <param name="query">The domain name query.</param>
            <param name="queryType">The <see cref="T:DnsClient.QueryType" />.</param>
            <param name="queryClass">The <see cref="T:DnsClient.QueryClass" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>
            The <see cref="T:DnsClient.IDnsQueryResponse" /> which contains the response headers and lists of resource records.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">If the <paramref name="servers"/> collection doesn't contain any elements.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="query"/> is null.</exception>
            <exception cref="T:System.OperationCanceledException">If cancellation has been requested for the passed in <paramref name="cancellationToken"/>.</exception>
            <exception cref="T:DnsClient.DnsResponseException">After retries and fallbacks, if none of the servers were accessible, timed out or (if <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is enabled) returned error results.</exception>
        </member>
        <member name="M:DnsClient.IDnsQuery.QueryServerReverse(System.Collections.Generic.IReadOnlyCollection{System.Net.IPAddress},System.Net.IPAddress)">
            <summary>
            Does a reverse lookup for the <paramref name="ipAddress" />
            using only the passed in <paramref name="servers"/> with the <see cref="F:DnsClient.NameServer.DefaultPort"/>.
            </summary>
            <param name="servers">The list of one or more server(s) which should be used for the lookup.</param>
            <param name="ipAddress">The <see cref="T:System.Net.IPAddress" />.</param>
            <returns>
            The <see cref="T:DnsClient.IDnsQueryResponse" /> which might contain the <see cref="T:DnsClient.Protocol.PtrRecord" /> for the <paramref name="ipAddress"/>.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">If the <paramref name="servers"/> collection doesn't contain any elements.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="ipAddress"/> is null.</exception>
            <exception cref="T:DnsClient.DnsResponseException">After retries and fallbacks, if none of the servers were accessible, timed out or (if <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is enabled) returned error results.</exception>
        </member>
        <member name="M:DnsClient.IDnsQuery.QueryServerReverse(System.Collections.Generic.IReadOnlyCollection{System.Net.IPEndPoint},System.Net.IPAddress)">
            <summary>
            Does a reverse lookup for the <paramref name="ipAddress" />
            using only the passed in <paramref name="servers"/>.
            </summary>
            <param name="servers">The list of one or more server(s) which should be used for the lookup.</param>
            <param name="ipAddress">The <see cref="T:System.Net.IPAddress" />.</param>
            <returns>
            The <see cref="T:DnsClient.IDnsQueryResponse" /> which might contain the <see cref="T:DnsClient.Protocol.PtrRecord" /> for the <paramref name="ipAddress"/>.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">If the <paramref name="servers"/> collection doesn't contain any elements.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="ipAddress"/> is null.</exception>
            <exception cref="T:DnsClient.DnsResponseException">After retries and fallbacks, if none of the servers were accessible, timed out or (if <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is enabled) returned error results.</exception>
        </member>
        <member name="M:DnsClient.IDnsQuery.QueryServerReverseAsync(System.Collections.Generic.IReadOnlyCollection{System.Net.IPAddress},System.Net.IPAddress,System.Threading.CancellationToken)">
            <summary>
            Does a reverse lookup for the <paramref name="ipAddress" />
            using only the passed in <paramref name="servers"/> with the <see cref="F:DnsClient.NameServer.DefaultPort"/>.
            </summary>
            <param name="servers">The list of one or more server(s) which should be used for the lookup.</param>
            <param name="ipAddress">The <see cref="T:System.Net.IPAddress" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>
            The <see cref="T:DnsClient.IDnsQueryResponse" /> which might contain the <see cref="T:DnsClient.Protocol.PtrRecord" /> for the <paramref name="ipAddress"/>.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">If the <paramref name="servers"/> collection doesn't contain any elements.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="ipAddress"/> is null.</exception>
            <exception cref="T:System.OperationCanceledException">If cancellation has been requested for the passed in <paramref name="cancellationToken"/>.</exception>
            <exception cref="T:DnsClient.DnsResponseException">After retries and fallbacks, if none of the servers were accessible, timed out or (if <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is enabled) returned error results.</exception>
        </member>
        <member name="M:DnsClient.IDnsQuery.QueryServerReverseAsync(System.Collections.Generic.IReadOnlyCollection{System.Net.IPEndPoint},System.Net.IPAddress,System.Threading.CancellationToken)">
            <summary>
            Does a reverse lookup for the <paramref name="ipAddress" />
            using only the passed in <paramref name="servers"/>.
            </summary>
            <param name="servers">The list of one or more server(s) which should be used for the lookup.</param>
            <param name="ipAddress">The <see cref="T:System.Net.IPAddress" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>
            The <see cref="T:DnsClient.IDnsQueryResponse" /> which might contain the <see cref="T:DnsClient.Protocol.PtrRecord" /> for the <paramref name="ipAddress"/>.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">If the <paramref name="servers"/> collection doesn't contain any elements.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="ipAddress"/> is null.</exception>
            <exception cref="T:System.OperationCanceledException">If cancellation has been requested for the passed in <paramref name="cancellationToken"/>.</exception>
            <exception cref="T:DnsClient.DnsResponseException">After retries and fallbacks, if none of the servers were accessible, timed out or (if <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is enabled) returned error results.</exception>
        </member>
        <member name="T:DnsClient.IDnsQueryResponse">
            <summary>
            Contract defining the result of a query performed by <see cref="T:DnsClient.IDnsQuery"/>.
            </summary>
            <seealso cref="T:DnsClient.IDnsQuery"/>
            <seealso cref="T:DnsClient.ILookupClient"/>
        </member>
        <member name="P:DnsClient.IDnsQueryResponse.Questions">
            <summary>
            Gets the list of questions.
            </summary>
        </member>
        <member name="P:DnsClient.IDnsQueryResponse.Additionals">
            <summary>
            Gets a list of additional records.
            </summary>
        </member>
        <member name="P:DnsClient.IDnsQueryResponse.AllRecords">
            <summary>
            Gets a list of all answers, addtional and authority records.
            </summary>
        </member>
        <member name="P:DnsClient.IDnsQueryResponse.Answers">
            <summary>
            Gets a list of answer records.
            </summary>
        </member>
        <member name="P:DnsClient.IDnsQueryResponse.Authorities">
            <summary>
            Gets a list of authority records.
            </summary>
        </member>
        <member name="P:DnsClient.IDnsQueryResponse.AuditTrail">
            <summary>
            Gets the audit trail if <see cref="P:DnsClient.ILookupClient.EnableAuditTrail"/>. as set to <c>true</c>, <c>null</c> otherwise.
            </summary>
            <value>
            The audit trail.
            </value>
        </member>
        <member name="P:DnsClient.IDnsQueryResponse.ErrorMessage">
            <summary>
            Returns a string value representing the error response code in case an error occured,
            otherwise '<see cref="F:DnsClient.DnsResponseCode.NoError"/>'.
            </summary>
        </member>
        <member name="P:DnsClient.IDnsQueryResponse.HasError">
            <summary>
            A flag indicating if the header contains a response codde other than <see cref="F:DnsClient.DnsResponseCode.NoError"/>.
            </summary>
        </member>
        <member name="P:DnsClient.IDnsQueryResponse.Header">
            <summary>
            Gets the header of the response.
            </summary>
        </member>
        <member name="P:DnsClient.IDnsQueryResponse.MessageSize">
            <summary>
            Gets the size of the message.
            </summary>
            <value>
            The size of the message.
            </value>
        </member>
        <member name="P:DnsClient.IDnsQueryResponse.NameServer">
            <summary>
            Gets the name server which responded with this result.
            </summary>
            <value>
            The name server.
            </value>
        </member>
        <member name="T:DnsClient.ILookupClient">
            <summary>
            The contract for the LookupClient including all the options.
            <para>
            The interfaces for the query methods and the lookup client properties are separated so that one can
            inject or expose only the <see cref="T:DnsClient.IDnsQuery"/> without exposing the configuration options.
            </para>
            </summary>
        </member>
        <member name="P:DnsClient.ILookupClient.EnableAuditTrail">
            <summary>
            If enabled, each <see cref="T:DnsClient.IDnsQueryResponse"/> will contain a full documentation of the response(s).
            Default is <c>False</c>.
            </summary>
            <seealso cref="P:DnsClient.IDnsQueryResponse.AuditTrail"/>
        </member>
        <member name="P:DnsClient.ILookupClient.UseCache">
            <summary>
            Gets or sets a flag indicating if the <see cref="T:DnsClient.LookupClient"/> should use response caching or not.
            The cache duration is calculated by the resource record of the response. Usually, the lowest TTL is used.
            Default is <c>True</c>.
            </summary>
            <remarks>
            In case the DNS Server returns records with a TTL of zero. The response cannot be cached.
            Setting <see cref="P:DnsClient.ILookupClient.MinimumCacheTimeout"/> can overwrite this behavior and cache those responses anyways for at least the given duration.
            </remarks>
        </member>
        <member name="P:DnsClient.ILookupClient.MinimumCacheTimeout">
            <summary>
            Gets or sets a <see cref="T:System.TimeSpan"/> which can override the TTL of a resource record in case the
            TTL of the record is lower than this minimum value.
            Default is <c>Null</c>.
            <para>
            This is useful in cases where the server retruns records with zero TTL.
            </para>
            </summary>
            <remarks>
            This setting gets igonred in case <see cref="P:DnsClient.ILookupClient.UseCache"/> is set to <c>False</c>.
            </remarks>
        </member>
        <member name="P:DnsClient.ILookupClient.NameServers">
            <summary>
            Gets the list of configured name servers.
            </summary>
        </member>
        <member name="P:DnsClient.ILookupClient.Recursion">
            <summary>
            Gets or sets a flag indicating whether DNS queries should instruct the DNS server to do recursive lookups, or not.
            Default is <c>True</c>.
            </summary>
            <value>The flag indicating if recursion should be used or not.</value>
        </member>
        <member name="P:DnsClient.ILookupClient.Retries">
            <summary>
            Gets or sets the number of tries to get a response from one name server before trying the next one.
            Only transient errors, like network or connection errors will be retried.
            Default is <c>5</c>.
            <para>
            If all configured <see cref="P:DnsClient.ILookupClient.NameServers"/> error out after retries, an exception will be thrown at the end.
            </para>
            </summary>
            <value>The number of retries.</value>
        </member>
        <member name="P:DnsClient.ILookupClient.ThrowDnsErrors">
            <summary>
            Gets or sets a flag indicating whether the <see cref="T:DnsClient.ILookupClient"/> should throw a <see cref="T:DnsClient.DnsResponseException"/>
            in case the query result has a <see cref="T:DnsClient.DnsResponseCode"/> other than <see cref="F:DnsClient.DnsResponseCode.NoError"/>.
            Default is <c>False</c>.
            </summary>
            <remarks>
            <para>
            If set to <c>False</c>, the query will return a result with an <see cref="P:DnsClient.IDnsQueryResponse.ErrorMessage"/>
            which contains more information.
            </para>
            <para>
            If set to <c>True</c>, any query method of <see cref="T:DnsClient.IDnsQuery"/> will throw an <see cref="T:DnsClient.DnsResponseException"/> if
            the response header indicates an error.
            </para>
            <para>
            If both, <see cref="P:DnsClient.ILookupClient.ContinueOnDnsError"/> and <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> are set to <c>True</c>,
            <see cref="T:DnsClient.ILookupClient"/> will continue to query all configured <see cref="P:DnsClient.ILookupClient.NameServers"/>.
            If none of the servers yield a valid response, a <see cref="T:DnsClient.DnsResponseException"/> will be thrown
            with the error of the last response.
            </para>
            </remarks>
            <seealso cref="T:DnsClient.DnsResponseCode"/>
            <seealso cref="P:DnsClient.ILookupClient.ContinueOnDnsError"/>
        </member>
        <member name="P:DnsClient.ILookupClient.UseRandomNameServer">
            <summary>
            Gets or sets a flag indicating whether the <see cref="T:DnsClient.ILookupClient"/> can cycle through all
            configured <see cref="P:DnsClient.ILookupClient.NameServers"/> on each consecutive request, basically using a random server, or not.
            Default is <c>True</c>.
            If only one <see cref="T:DnsClient.NameServer"/> is configured, this setting is not used.
            </summary>
            <remarks>
            <para>
            If <c>False</c>, configured endpoint will be used in random order.
            If <c>True</c>, the order will be preserved.
            </para>
            <para>
            Even if <see cref="P:DnsClient.ILookupClient.UseRandomNameServer"/> is set to <c>True</c>, the endpoint might still get
            disabled and might not being used for some time if it errors out, e.g. no connection can be established.
            </para>
            </remarks>
        </member>
        <member name="P:DnsClient.ILookupClient.ContinueOnDnsError">
            <summary>
            Gets or sets a flag indicating whether to query the next configured <see cref="P:DnsClient.ILookupClient.NameServers"/> in case the response of the last query
            returned a <see cref="T:DnsClient.DnsResponseCode"/> other than <see cref="F:DnsClient.DnsResponseCode.NoError"/>.
            Default is <c>True</c>.
            </summary>
            <remarks>
            If <c>True</c>, lookup client will continue until a server returns a valid result, or,
            if no <see cref="P:DnsClient.ILookupClient.NameServers"/> yield a valid result, the last response with the error will be returned.
            In case no server yields a valid result and <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is also enabled, an exception
            will be thrown containing the error of the last response.
            </remarks>
            <seealso cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/>
        </member>
        <member name="P:DnsClient.ILookupClient.Timeout">
            <summary>
            Gets or sets the request timeout in milliseconds. <see cref="P:DnsClient.ILookupClient.Timeout"/> is used for limiting the connection and request time for one operation.
            Timeout must be greater than zero and less than <see cref="F:System.Int32.MaxValue"/>.
            If <see cref="F:System.Threading.Timeout.InfiniteTimeSpan"/> (or -1) is used, no timeout will be applied.
            </summary>
            <remarks>
            If a very short timeout is configured, queries will more likely result in <see cref="T:System.TimeoutException"/>s.
            <para>
            Important to note, <see cref="T:System.TimeoutException"/>s will be retried, if <see cref="P:DnsClient.ILookupClient.Retries"/> are not disabled (set to <c>0</c>).
            This should help in case one or more configured DNS servers are not reachable or under load for example.
            </para>
            </remarks>
        </member>
        <member name="P:DnsClient.ILookupClient.UseTcpFallback">
            <summary>
            Gets or sets a flag indicating whether Tcp should be used in case a Udp response is truncated.
            Default is <c>True</c>.
            <para>
            If <c>False</c>, truncated results will potentially yield no answers.
            </para>
            </summary>
        </member>
        <member name="P:DnsClient.ILookupClient.UseTcpOnly">
            <summary>
            Gets or sets a flag indicating whether Udp should not be used at all.
            Default is <c>False</c>.
            <para>
            Enable this only if Udp cannot be used because of your firewall rules for example.
            </para>
            </summary>
        </member>
        <member name="T:DnsClient.LookupClient">
             <summary>
             The <see cref="T:DnsClient.LookupClient"/> is the main query class of this library and should be used for any kind of DNS lookup query.
             <para>
             It implements <see cref="T:DnsClient.ILookupClient"/> and <see cref="T:DnsClient.IDnsQuery"/> which contains a number of extension methods, too.
             The extension methods internally all invoke the standard <see cref="T:DnsClient.IDnsQuery"/> queries though.
             </para>
             </summary>
             <seealso cref="T:DnsClient.IDnsQuery"/>
             <seealso cref="T:DnsClient.ILookupClient"/>
             <example>
             A basic example wihtout specifying any DNS server, which will use the DNS server configured by your local network.
             <code>
             <![CDATA[
             var client = new LookupClient();
             var result = client.Query("google.com", QueryType.A);
            
             foreach (var aRecord in result.Answers.ARecords())
             {
                 Console.WriteLine(aRecord);
             }
             ]]>
             </code>
             </example>
        </member>
        <member name="P:DnsClient.LookupClient.UseTcpFallback">
            <summary>
            Gets or sets a flag indicating whether Tcp should be used in case a Udp response is truncated.
            Default is <c>True</c>.
            <para>
            If <c>False</c>, truncated results will potentially yield no answers.
            </para>
            </summary>
        </member>
        <member name="P:DnsClient.LookupClient.UseTcpOnly">
            <summary>
            Gets or sets a flag indicating whether Udp should not be used at all.
            Default is <c>False</c>.
            <para>
            Enable this only if Udp cannot be used because of your firewall rules for example.
            </para>
            </summary>
        </member>
        <member name="P:DnsClient.LookupClient.NameServers">
            <summary>
            Gets the list of configured name servers.
            </summary>
        </member>
        <member name="P:DnsClient.LookupClient.EnableAuditTrail">
            <summary>
            If enabled, each <see cref="T:DnsClient.IDnsQueryResponse"/> will contain a full documentation of the response(s).
            Default is <c>False</c>.
            </summary>
            <seealso cref="P:DnsClient.IDnsQueryResponse.AuditTrail"/>
        </member>
        <member name="P:DnsClient.LookupClient.Recursion">
            <summary>
            Gets or sets a flag indicating whether DNS queries should instruct the DNS server to do recursive lookups, or not.
            Default is <c>True</c>.
            </summary>
            <value>The flag indicating if recursion should be used or not.</value>
        </member>
        <member name="P:DnsClient.LookupClient.Retries">
            <summary>
            Gets or sets the number of tries to get a response from one name server before trying the next one.
            Only transient errors, like network or connection errors will be retried.
            Default is <c>5</c>.
            <para>
            If all configured <see cref="P:DnsClient.LookupClient.NameServers"/> error out after retries, an exception will be thrown at the end.
            </para>
            </summary>
            <value>The number of retries.</value>
        </member>
        <member name="P:DnsClient.LookupClient.ThrowDnsErrors">
            <summary>
            Gets or sets a flag indicating whether the <see cref="T:DnsClient.ILookupClient"/> should throw a <see cref="T:DnsClient.DnsResponseException"/>
            in case the query result has a <see cref="T:DnsClient.DnsResponseCode"/> other than <see cref="F:DnsClient.DnsResponseCode.NoError"/>.
            Default is <c>False</c>.
            </summary>
            <remarks>
            <para>
            If set to <c>False</c>, the query will return a result with an <see cref="P:DnsClient.IDnsQueryResponse.ErrorMessage"/>
            which contains more information.
            </para>
            <para>
            If set to <c>True</c>, any query method of <see cref="T:DnsClient.IDnsQuery"/> will throw an <see cref="T:DnsClient.DnsResponseException"/> if
            the response header indicates an error.
            </para>
            <para>
            If both, <see cref="P:DnsClient.LookupClient.ContinueOnDnsError"/> and <see cref="P:DnsClient.LookupClient.ThrowDnsErrors"/> are set to <c>True</c>,
            <see cref="T:DnsClient.ILookupClient"/> will continue to query all configured <see cref="P:DnsClient.LookupClient.NameServers"/>.
            If none of the servers yield a valid response, a <see cref="T:DnsClient.DnsResponseException"/> will be thrown
            with the error of the last response.
            </para>
            </remarks>
            <seealso cref="T:DnsClient.DnsResponseCode"/>
            <seealso cref="P:DnsClient.LookupClient.ContinueOnDnsError"/>
        </member>
        <member name="P:DnsClient.LookupClient.Timeout">
            <summary>
            Gets or sets the request timeout in milliseconds. <see cref="P:DnsClient.LookupClient.Timeout"/> is used for limiting the connection and request time for one operation.
            Timeout must be greater than zero and less than <see cref="F:System.Int32.MaxValue"/>.
            If <see cref="F:System.Threading.Timeout.InfiniteTimeSpan"/> (or -1) is used, no timeout will be applied.
            Default is 5 seconds.
            </summary>
            <remarks>
            If a very short timeout is configured, queries will more likely result in <see cref="T:System.TimeoutException"/>s.
            <para>
            Important to note, <see cref="T:System.TimeoutException"/>s will be retried, if <see cref="P:DnsClient.LookupClient.Retries"/> are not disabled (set to <c>0</c>).
            This should help in case one or more configured DNS servers are not reachable or under load for example.
            </para>
            </remarks>
        </member>
        <member name="P:DnsClient.LookupClient.UseCache">
            <summary>
            Gets or sets a flag indicating if the <see cref="T:DnsClient.LookupClient"/> should use response caching or not.
            The cache duration is calculated by the resource record of the response. Usually, the lowest TTL is used.
            Default is <c>True</c>.
            </summary>
            <remarks>
            In case the DNS Server returns records with a TTL of zero. The response cannot be cached.
            Setting <see cref="P:DnsClient.LookupClient.MinimumCacheTimeout"/> can overwrite this behavior and cache those responses anyways for at least the given duration.
            </remarks>
        </member>
        <member name="P:DnsClient.LookupClient.MinimumCacheTimeout">
            <summary>
            Gets or sets a <see cref="T:System.TimeSpan"/> which can override the TTL of a resource record in case the
            TTL of the record is lower than this minimum value.
            Default is <c>Null</c>.
            <para>
            This is useful in cases where the server retruns records with zero TTL.
            </para>
            </summary>
            <remarks>
            This setting gets igonred in case <see cref="P:DnsClient.LookupClient.UseCache"/> is set to <c>False</c>.
            The maximum value is 24 days or <see cref="F:System.Threading.Timeout.Infinite"/>.
            </remarks>
        </member>
        <member name="P:DnsClient.LookupClient.UseRandomNameServer">
            <summary>
            Gets or sets a flag indicating whether the <see cref="T:DnsClient.ILookupClient"/> can cycle through all
            configured <see cref="P:DnsClient.LookupClient.NameServers"/> on each consecutive request, basically using a random server, or not.
            Default is <c>True</c>.
            If only one <see cref="T:DnsClient.NameServer"/> is configured, this setting is not used.
            </summary>
            <remarks>
            <para>
            If <c>False</c>, configured endpoint will be used in random order.
            If <c>True</c>, the order will be preserved.
            </para>
            <para>
            Even if <see cref="P:DnsClient.LookupClient.UseRandomNameServer"/> is set to <c>True</c>, the endpoint might still get
            disabled and might not being used for some time if it errors out, e.g. no connection can be established.
            </para>
            </remarks>
        </member>
        <member name="P:DnsClient.LookupClient.ContinueOnDnsError">
            <summary>
            Gets or sets a flag indicating whether to query the next configured <see cref="P:DnsClient.LookupClient.NameServers"/> in case the response of the last query
            returned a <see cref="T:DnsClient.DnsResponseCode"/> other than <see cref="F:DnsClient.DnsResponseCode.NoError"/>.
            Default is <c>True</c>.
            </summary>
            <remarks>
            If <c>True</c>, lookup client will continue until a server returns a valid result, or,
            if no <see cref="P:DnsClient.LookupClient.NameServers"/> yield a valid result, the last response with the error will be returned.
            In case no server yields a valid result and <see cref="P:DnsClient.LookupClient.ThrowDnsErrors"/> is also enabled, an exception
            will be thrown containing the error of the last response.
            </remarks>
            <seealso cref="P:DnsClient.LookupClient.ThrowDnsErrors"/>
        </member>
        <member name="M:DnsClient.LookupClient.#ctor">
             <summary>
             Creates a new instance of <see cref="T:DnsClient.LookupClient"/> without specifying any name server.
             This will implicitly use the name server(s) configured by the local network adapter.
             </summary>
             <remarks>
             This uses <see cref="M:DnsClient.NameServer.ResolveNameServers(System.Boolean,System.Boolean)"/>.
             The resulting list of name servers is highly dependent on the local network configuration and OS.
             </remarks>
             <example>
             In the following example, we will create a new <see cref="T:DnsClient.LookupClient"/> without explicitly defining any DNS server.
             This will use the DNS server configured by your local network.
             <code>
             <![CDATA[
             var client = new LookupClient();
             var result = client.Query("google.com", QueryType.A);
            
             foreach (var aRecord in result.Answers.ARecords())
             {
                 Console.WriteLine(aRecord);
             }
             ]]>
             </code>
             </example>
        </member>
        <member name="M:DnsClient.LookupClient.#ctor(System.Net.IPAddress[])">
            <summary>
            Creates a new instance of <see cref="T:DnsClient.LookupClient"/> with one or more DNS servers identified by their <see cref="T:System.Net.IPAddress"/>.
            The default port <c>53</c> will be used for all <see cref="T:System.Net.IPAddress"/>s provided.
            </summary>
            <param name="nameServers">The <see cref="T:System.Net.IPAddress"/>(s) to be used by this <see cref="T:DnsClient.LookupClient"/> instance.</param>
            <example>
            To connect to one or more DNS server using the default port, we can use this overload:
            <code>
            <![CDATA[
            // configuring the client to use google's public IPv4 DNS servers.
            var client = new LookupClient(IPAddress.Parse("8.8.8.8"), IPAddress.Parse("8.8.4.4"));
            ]]>
            </code>
            </example>
        </member>
        <member name="M:DnsClient.LookupClient.#ctor(System.Net.IPAddress,System.Int32)">
            <summary>
            Create a new instance of <see cref="T:DnsClient.LookupClient"/> with one DNS server defined by <paramref name="address"/> and <paramref name="port"/>.
            </summary>
            <param name="address">The <see cref="T:System.Net.IPAddress"/> of the DNS server.</param>
            <param name="port">The port of the DNS server.</param>
            <example>
            In case you want to connect to one specific DNS server which does not run on the default port <c>53</c>, you can do so like in the following example:
            <code>
            <![CDATA[
            var client = new LookupClient(IPAddress.Parse("127.0.0.1"), 8600);
            ]]>
            </code>
            </example>
        </member>
        <member name="M:DnsClient.LookupClient.#ctor(System.Net.IPEndPoint[])">
            <summary>
            Creates a new instance of <see cref="T:DnsClient.LookupClient"/> with one or more <see cref="T:System.Net.IPAddress"/> and port combination
            stored in <see cref="T:System.Net.IPEndPoint"/>(s).
            </summary>
            <param name="nameServers">The <see cref="T:System.Net.IPEndPoint"/>(s) to be used by this <see cref="T:DnsClient.LookupClient"/> instance.</param>
            <example>
            In this example, we instantiate a new <see cref="T:System.Net.IPEndPoint"/> using an <see cref="T:System.Net.IPAddress"/> and custom port which is different than the default port <c>53</c>.
            <code>
            <![CDATA[
            // Using localhost and port 8600 to connect to a Consul agent.
            var endpoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8600);
            var client = new LookupClient(endpoint);
            ]]>
            </code>
            <para>
            The <see cref="T:DnsClient.NameServer"/> class also contains pre defined <see cref="T:System.Net.IPEndPoint"/>s for the public google DNS servers, which can be used as follows:
            <code>
            <![CDATA[
            var client = new LookupClient(NameServer.GooglePublicDns, NameServer.GooglePublicDnsIPv6);
            ]]>
            </code>
            </para>
            </example>
        </member>
        <member name="M:DnsClient.LookupClient.QueryReverse(System.Net.IPAddress)">
            <summary>
            Does a reverse lookup for the <paramref name="ipAddress"/>.
            </summary>
            <param name="ipAddress">The <see cref="T:System.Net.IPAddress"/>.</param>
            <returns>
            The <see cref="T:DnsClient.IDnsQueryResponse" /> which might contain the <see cref="T:DnsClient.Protocol.PtrRecord" /> for the <paramref name="ipAddress"/>.
            </returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="ipAddress"/> is null.</exception>
            <exception cref="T:DnsClient.DnsResponseException">After retries and fallbacks, if none of the servers were accessible, timed out or (if <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is enabled) returned error results.</exception>
        </member>
        <member name="M:DnsClient.LookupClient.QueryReverseAsync(System.Net.IPAddress,System.Threading.CancellationToken)">
            <summary>
            Does a reverse lookup for the <paramref name="ipAddress" />.
            </summary>
            <param name="ipAddress">The <see cref="T:System.Net.IPAddress" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>
            The <see cref="T:DnsClient.IDnsQueryResponse" /> which might contain the <see cref="T:DnsClient.Protocol.PtrRecord" /> for the <paramref name="ipAddress"/>.
            </returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="ipAddress"/> is null.</exception>
            <exception cref="T:System.OperationCanceledException">If cancellation has been requested for the passed in <paramref name="cancellationToken"/>.</exception>
            <exception cref="T:DnsClient.DnsResponseException">After retries and fallbacks, if none of the servers were accessible, timed out or (if <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is enabled) returned error results.</exception>
        </member>
        <member name="M:DnsClient.LookupClient.QueryServerReverse(System.Collections.Generic.IReadOnlyCollection{System.Net.IPAddress},System.Net.IPAddress)">
            <summary>
            Does a reverse lookup for the <paramref name="ipAddress" />
            using only the passed in <paramref name="servers"/> with the <see cref="F:DnsClient.NameServer.DefaultPort"/>.
            </summary>
            <param name="servers">The list of one or more server(s) which should be used for the lookup.</param>
            <param name="ipAddress">The <see cref="T:System.Net.IPAddress" />.</param>
            <returns>
            The <see cref="T:DnsClient.IDnsQueryResponse" /> which might contain the <see cref="T:DnsClient.Protocol.PtrRecord" /> for the <paramref name="ipAddress"/>.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">If the <paramref name="servers"/> collection doesn't contain any elements.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="ipAddress"/> is null.</exception>
            <exception cref="T:DnsClient.DnsResponseException">After retries and fallbacks, if none of the servers were accessible, timed out or (if <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is enabled) returned error results.</exception>
        </member>
        <member name="M:DnsClient.LookupClient.QueryServerReverse(System.Collections.Generic.IReadOnlyCollection{System.Net.IPEndPoint},System.Net.IPAddress)">
            <summary>
            Does a reverse lookup for the <paramref name="ipAddress" />
            using only the passed in <paramref name="servers"/>.
            </summary>
            <param name="servers">The list of one or more server(s) which should be used for the lookup.</param>
            <param name="ipAddress">The <see cref="T:System.Net.IPAddress" />.</param>
            <returns>
            The <see cref="T:DnsClient.IDnsQueryResponse" /> which might contain the <see cref="T:DnsClient.Protocol.PtrRecord" /> for the <paramref name="ipAddress"/>.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">If the <paramref name="servers"/> collection doesn't contain any elements.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="ipAddress"/> is null.</exception>
            <exception cref="T:DnsClient.DnsResponseException">After retries and fallbacks, if none of the servers were accessible, timed out or (if <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is enabled) returned error results.</exception>
        </member>
        <member name="M:DnsClient.LookupClient.QueryServerReverseAsync(System.Collections.Generic.IReadOnlyCollection{System.Net.IPAddress},System.Net.IPAddress,System.Threading.CancellationToken)">
            <summary>
            Does a reverse lookup for the <paramref name="ipAddress" />
            using only the passed in <paramref name="servers"/> with the <see cref="F:DnsClient.NameServer.DefaultPort"/>.
            </summary>
            <param name="servers">The list of one or more server(s) which should be used for the lookup.</param>
            <param name="ipAddress">The <see cref="T:System.Net.IPAddress" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>
            The <see cref="T:DnsClient.IDnsQueryResponse" /> which might contain the <see cref="T:DnsClient.Protocol.PtrRecord" /> for the <paramref name="ipAddress"/>.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">If the <paramref name="servers"/> collection doesn't contain any elements.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="ipAddress"/> is null.</exception>
            <exception cref="T:System.OperationCanceledException">If cancellation has been requested for the passed in <paramref name="cancellationToken"/>.</exception>
            <exception cref="T:DnsClient.DnsResponseException">After retries and fallbacks, if none of the servers were accessible, timed out or (if <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is enabled) returned error results.</exception>
        </member>
        <member name="M:DnsClient.LookupClient.QueryServerReverseAsync(System.Collections.Generic.IReadOnlyCollection{System.Net.IPEndPoint},System.Net.IPAddress,System.Threading.CancellationToken)">
            <summary>
            Does a reverse lookup for the <paramref name="ipAddress" />
            using only the passed in <paramref name="servers"/>.
            </summary>
            <param name="servers">The list of one or more server(s) which should be used for the lookup.</param>
            <param name="ipAddress">The <see cref="T:System.Net.IPAddress" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>
            The <see cref="T:DnsClient.IDnsQueryResponse" /> which might contain the <see cref="T:DnsClient.Protocol.PtrRecord" /> for the <paramref name="ipAddress"/>.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">If the <paramref name="servers"/> collection doesn't contain any elements.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="ipAddress"/> is null.</exception>
            <exception cref="T:System.OperationCanceledException">If cancellation has been requested for the passed in <paramref name="cancellationToken"/>.</exception>
            <exception cref="T:DnsClient.DnsResponseException">After retries and fallbacks, if none of the servers were accessible, timed out or (if <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is enabled) returned error results.</exception>
        </member>
        <member name="M:DnsClient.LookupClient.Query(System.String,DnsClient.QueryType,DnsClient.QueryClass)">
            <summary>
            Performs a DNS lookup for the given <paramref name="query" />, <paramref name="queryType" /> and <paramref name="queryClass" />
            </summary>
            <param name="query">The domain name query.</param>
            <param name="queryType">The <see cref="T:DnsClient.QueryType" />.</param>
            <param name="queryClass">The <see cref="T:DnsClient.QueryClass"/>.</param>
            <returns>
            The <see cref="T:DnsClient.IDnsQueryResponse" /> which contains the response headers and lists of resource records.
            </returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="query"/> is null.</exception>
            <exception cref="T:DnsClient.DnsResponseException">After retries and fallbacks, if none of the servers were accessible, timed out or (if <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is enabled) returned error results.</exception>
            <remarks>
            The behavior of the query can be controlled by the properties of this <see cref="T:DnsClient.LookupClient"/> instance.
            <see cref="P:DnsClient.LookupClient.Recursion"/> for example can be disabled and would instruct the DNS server to return no additional records.
            </remarks>
        </member>
        <member name="M:DnsClient.LookupClient.QueryAsync(System.String,DnsClient.QueryType,DnsClient.QueryClass,System.Threading.CancellationToken)">
            <summary>
            Performs a DNS lookup for the given <paramref name="query" />, <paramref name="queryType" /> and <paramref name="queryClass" />
            </summary>
            <param name="query">The domain name query.</param>
            <param name="queryType">The <see cref="T:DnsClient.QueryType" />.</param>
            <param name="queryClass">The <see cref="T:DnsClient.QueryClass" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>
            The <see cref="T:DnsClient.IDnsQueryResponse" /> which contains the response headers and lists of resource records.
            </returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="query"/> is null.</exception>
            <exception cref="T:System.OperationCanceledException">If cancellation has been requested for the passed in <paramref name="cancellationToken"/>.</exception>
            <exception cref="T:DnsClient.DnsResponseException">After retries and fallbacks, if none of the servers were accessible, timed out or (if <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is enabled) returned error results.</exception>
            <remarks>
            The behavior of the query can be controlled by the properties of this <see cref="T:DnsClient.LookupClient"/> instance.
            <see cref="P:DnsClient.LookupClient.Recursion"/> for example can be disabled and would instruct the DNS server to return no additional records.
            </remarks>
        </member>
        <member name="M:DnsClient.LookupClient.QueryServer(System.Collections.Generic.IReadOnlyCollection{System.Net.IPAddress},System.String,DnsClient.QueryType,DnsClient.QueryClass)">
            <summary>
            Performs a DNS lookup for the given <paramref name="query" />, <paramref name="queryType" /> and <paramref name="queryClass" />
            using only the passed in <paramref name="servers"/> with the <see cref="F:DnsClient.NameServer.DefaultPort"/>.
            </summary>
            <remarks>
            To query specific servers can be useful in cases where you have to use a different DNS server than initially configured
            (without creating a new instance of <see cref="T:DnsClient.ILookupClient"/> for example).
            </remarks>
            <param name="servers">The list of one or more server(s) which should be used for the lookup.</param>
            <param name="query">The domain name query.</param>
            <param name="queryType">The <see cref="T:DnsClient.QueryType" />.</param>
            <param name="queryClass">The <see cref="T:DnsClient.QueryClass" />.</param>
            <returns>
            The <see cref="T:DnsClient.IDnsQueryResponse" /> which contains the response headers and lists of resource records.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">If the <paramref name="servers"/> collection doesn't contain any elements.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="query"/> is null.</exception>
            <exception cref="T:DnsClient.DnsResponseException">After retries and fallbacks, if none of the servers were accessible, timed out or (if <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is enabled) returned error results.</exception>
        </member>
        <member name="M:DnsClient.LookupClient.QueryServer(System.Collections.Generic.IReadOnlyCollection{System.Net.IPEndPoint},System.String,DnsClient.QueryType,DnsClient.QueryClass)">
            <summary>
            Performs a DNS lookup for the given <paramref name="query" />, <paramref name="queryType" /> and <paramref name="queryClass" />
            using only the passed in <paramref name="servers"/>.
            </summary>
            <remarks>
            To query specific servers can be useful in cases where you have to use a different DNS server than initially configured
            (without creating a new instance of <see cref="T:DnsClient.ILookupClient"/> for example).
            </remarks>
            <param name="servers">The list of one or more server(s) which should be used for the lookup.</param>
            <param name="query">The domain name query.</param>
            <param name="queryType">The <see cref="T:DnsClient.QueryType" />.</param>
            <param name="queryClass">The <see cref="T:DnsClient.QueryClass" />.</param>
            <returns>
            The <see cref="T:DnsClient.IDnsQueryResponse" /> which contains the response headers and lists of resource records.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">If the <paramref name="servers"/> collection doesn't contain any elements.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="query"/> is null.</exception>
            <exception cref="T:DnsClient.DnsResponseException">After retries and fallbacks, if none of the servers were accessible, timed out or (if <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is enabled) returned error results.</exception>
        </member>
        <member name="M:DnsClient.LookupClient.QueryServerAsync(System.Collections.Generic.IReadOnlyCollection{System.Net.IPAddress},System.String,DnsClient.QueryType,DnsClient.QueryClass,System.Threading.CancellationToken)">
            <summary>
            Performs a DNS lookup for the given <paramref name="query" />, <paramref name="queryType" /> and <paramref name="queryClass" />
            using only the passed in <paramref name="servers"/> with the <see cref="F:DnsClient.NameServer.DefaultPort"/>.
            </summary>
            <remarks>
            To query specific servers can be useful in cases where you have to use a different DNS server than initially configured
            (without creating a new instance of <see cref="T:DnsClient.ILookupClient"/> for example).
            </remarks>
            <param name="servers">The list of one or more server(s) which should be used for the lookup.</param>
            <param name="query">The domain name query.</param>
            <param name="queryType">The <see cref="T:DnsClient.QueryType" />.</param>
            <param name="queryClass">The <see cref="T:DnsClient.QueryClass" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>
            The <see cref="T:DnsClient.IDnsQueryResponse" /> which contains the response headers and lists of resource records.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">If the <paramref name="servers"/> collection doesn't contain any elements.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="query"/> is null.</exception>
            <exception cref="T:System.OperationCanceledException">If cancellation has been requested for the passed in <paramref name="cancellationToken"/>.</exception>
            <exception cref="T:DnsClient.DnsResponseException">After retries and fallbacks, if none of the servers were accessible, timed out or (if <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is enabled) returned error results.</exception>
        </member>
        <member name="M:DnsClient.LookupClient.QueryServerAsync(System.Collections.Generic.IReadOnlyCollection{System.Net.IPEndPoint},System.String,DnsClient.QueryType,DnsClient.QueryClass,System.Threading.CancellationToken)">
            <summary>
            Performs a DNS lookup for the given <paramref name="query" />, <paramref name="queryType" /> and <paramref name="queryClass" />
            using only the passed in <paramref name="servers"/>.
            </summary>
            <remarks>
            To query specific servers can be useful in cases where you have to use a different DNS server than initially configured
            (without creating a new instance of <see cref="T:DnsClient.ILookupClient"/> for example).
            </remarks>
            <param name="servers">The list of one or more server(s) which should be used for the lookup.</param>
            <param name="query">The domain name query.</param>
            <param name="queryType">The <see cref="T:DnsClient.QueryType" />.</param>
            <param name="queryClass">The <see cref="T:DnsClient.QueryClass" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>
            The <see cref="T:DnsClient.IDnsQueryResponse" /> which contains the response headers and lists of resource records.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">If the <paramref name="servers"/> collection doesn't contain any elements.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="query"/> is null.</exception>
            <exception cref="T:System.OperationCanceledException">If cancellation has been requested for the passed in <paramref name="cancellationToken"/>.</exception>
            <exception cref="T:DnsClient.DnsResponseException">After retries and fallbacks, if none of the servers were accessible, timed out or (if <see cref="P:DnsClient.ILookupClient.ThrowDnsErrors"/> is enabled) returned error results.</exception>
        </member>
        <member name="T:DnsClient.NameServer">
            <summary>
            Represents a name server instance used by <see cref="T:DnsClient.ILookupClient"/>.
            Also, comes with some static methods to resolve name servers from the local network configuration.
            </summary>
        </member>
        <member name="F:DnsClient.NameServer.DefaultPort">
            <summary>
            The default DNS server port.
            </summary>
        </member>
        <member name="F:DnsClient.NameServer.GooglePublicDns">
            <summary>
            The public google DNS IPv4 endpoint.
            </summary>
        </member>
        <member name="F:DnsClient.NameServer.GooglePublicDns2">
            <summary>
            The second public google DNS IPv6 endpoint.
            </summary>
        </member>
        <member name="F:DnsClient.NameServer.GooglePublicDnsIPv6">
            <summary>
            The public google DNS IPv6 endpoint.
            </summary>
        </member>
        <member name="F:DnsClient.NameServer.GooglePublicDns2IPv6">
            <summary>
            The second public google DNS IPv6 endpoint.
            </summary>
        </member>
        <member name="M:DnsClient.NameServer.#ctor(System.Net.IPAddress)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.NameServer"/> class.
            </summary>
            <param name="endpoint">The endpoint.</param>
        </member>
        <member name="M:DnsClient.NameServer.#ctor(System.Net.IPEndPoint)">
            <summary>
            Initializes a new instance of the <see cref="T:DnsClient.NameServer"/> class.
            </summary>
            <param name="endpoint">The endpoint.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="endpoint"/> is null.</exception>
        </member>
        <member name="P:DnsClient.NameServer.Enabled">
            <summary>
            Gets a value indicating whether this <see cref="T:DnsClient.NameServer"/> is enabled.
            <para>
            The instance might get disabled if <see cref="T:DnsClient.ILookupClient"/> encounters problems to connect to it.
            </para>
            </summary>
            <value>
              <c>true</c> if enabled; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:DnsClient.NameServer.Endpoint">
            <summary>
            Gets the endpoint of this instance.
            </summary>
            <value>
            The endpoint.
            </value>
        </member>
        <member name="P:DnsClient.NameServer.SupportedUdpPayloadSize">
            <summary>
            Gets the size of the supported UDP payload.
            <para>
            This value might get updated by <see cref="T:DnsClient.ILookupClient"/> by reading the options records returned by a query.
            </para>
            </summary>
            <value>
            The size of the supported UDP payload.
            </value>
        </member>
        <member name="M:DnsClient.NameServer.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="M:DnsClient.NameServer.ResolveNameServers(System.Boolean,System.Boolean)">
            <summary>
            Gets a list of name servers by iterating over the available network interfaces.
            <para>
            If <paramref name="fallbackToGooglePublicDns" /> is enabled, this method will return the google public dns endpoints if no
            local DNS server was found.
            </para>
            </summary>
            <param name="skipIPv6SiteLocal">If set to <c>true</c> local IPv6 sites are skiped.</param>
            <param name="fallbackToGooglePublicDns">If set to <c>true</c> the public Google DNS servers are returned if no other servers could be found.</param>
            <returns>
            The list of name servers.
            </returns>
        </member>
        <member name="T:DnsClient.QueryClass">
            <summary>
            CLASS fields appear in resource records.
            </summary>
        </member>
        <member name="F:DnsClient.QueryClass.IN">
            <summary>
            The Internet.
            </summary>
        </member>
        <member name="F:DnsClient.QueryClass.CS">
            <summary>
            The CSNET class (Obsolete - used only for examples in some obsolete RFCs).
            </summary>
        </member>
        <member name="F:DnsClient.QueryClass.CH">
            <summary>
            The CHAOS class.
            </summary>
        </member>
        <member name="F:DnsClient.QueryClass.HS">
            <summary>
            Hesiod [Dyer 87].
            </summary>
        </member>
        <member name="T:DnsClient.QueryType">
            <summary>
            The query type field appear in the question part of a query.
            Query types are a superset of <see cref="T:DnsClient.Protocol.ResourceRecordType"/>.
            </summary>
        </member>
        <member name="F:DnsClient.QueryType.A">
            <summary>
            A host address.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035">RFC 1035</seealso>
            <seealso cref="T:DnsClient.Protocol.ARecord"/>
        </member>
        <member name="F:DnsClient.QueryType.NS">
            <summary>
            An authoritative name server.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.11">RFC 1035</seealso>
            <seealso cref="T:DnsClient.Protocol.NsRecord"/>
        </member>
        <member name="F:DnsClient.QueryType.MD">
            <summary>
            A mail destination (OBSOLETE - use MX).
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035">RFC 1035</seealso>
        </member>
        <member name="F:DnsClient.QueryType.MF">
            <summary>
            A mail forwarder (OBSOLETE - use MX).
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035">RFC 1035</seealso>
        </member>
        <member name="F:DnsClient.QueryType.CNAME">
            <summary>
            The canonical name for an alias.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.1">RFC 1035</seealso>
            <seealso cref="T:DnsClient.Protocol.CNameRecord"/>
        </member>
        <member name="F:DnsClient.QueryType.SOA">
            <summary>
            Marks the start of a zone of authority.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.13">RFC 1035</seealso>
            <seealso cref="T:DnsClient.Protocol.SoaRecord"/>
        </member>
        <member name="F:DnsClient.QueryType.MB">
            <summary>
            A mailbox domain name (EXPERIMENTAL).
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.3">RFC 1035</seealso>
            <seealso cref="T:DnsClient.Protocol.MbRecord"/>
        </member>
        <member name="F:DnsClient.QueryType.MG">
            <summary>
            A mail group member (EXPERIMENTAL).
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.6">RFC 1035</seealso>
            <seealso cref="T:DnsClient.Protocol.MgRecord"/>
        </member>
        <member name="F:DnsClient.QueryType.MR">
            <summary>
            A mailbox rename domain name (EXPERIMENTAL).
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.8">RFC 1035</seealso>
            <seealso cref="T:DnsClient.Protocol.MrRecord"/>
        </member>
        <member name="F:DnsClient.QueryType.NULL">
            <summary>
            A Null resource record (EXPERIMENTAL).
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.8">RFC 1035</seealso>
            <seealso cref="T:DnsClient.Protocol.NullRecord"/>
        </member>
        <member name="F:DnsClient.QueryType.WKS">
            <summary>
            A well known service description.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc3232">RFC 3232</seealso>
            <seealso cref="T:DnsClient.Protocol.WksRecord"/>
        </member>
        <member name="F:DnsClient.QueryType.PTR">
            <summary>
            A domain name pointer.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.12">RFC 1035</seealso>
            <seealso cref="T:DnsClient.Protocol.PtrRecord"/>
        </member>
        <member name="F:DnsClient.QueryType.HINFO">
            <summary>
            Host information.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.11">RFC 1035</seealso>
            <seealso href="https://tools.ietf.org/html/rfc1010">RFC 1010</seealso>
            <seealso cref="T:DnsClient.Protocol.HInfoRecord"/>
        </member>
        <member name="F:DnsClient.QueryType.MINFO">
            <summary>
            Mailbox or mail list information.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.11">RFC 1035</seealso>
            <seealso cref="T:DnsClient.Protocol.MInfoRecord"/>
        </member>
        <member name="F:DnsClient.QueryType.MX">
            <summary>
            Mail exchange.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.9">RFC 1035</seealso>
            <seealso href="https://tools.ietf.org/html/rfc974">RFC 974</seealso>
            <seealso cref="T:DnsClient.Protocol.MxRecord"/>
        </member>
        <member name="F:DnsClient.QueryType.TXT">
            <summary>
            Text resources.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3">RFC 1035</seealso>
            <seealso href="https://tools.ietf.org/html/rfc1464">RFC 1464</seealso>
            <seealso cref="T:DnsClient.Protocol.TxtRecord"/>
        </member>
        <member name="F:DnsClient.QueryType.RP">
            <summary>
            Responsible Person.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1183">RFC 1183</seealso>
            <seealso cref="T:DnsClient.Protocol.RpRecord"/>
        </member>
        <member name="F:DnsClient.QueryType.AFSDB">
            <summary>
            AFS Data Base location.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc1183#section-1">RFC 1183</seealso>
            <seealso href="https://tools.ietf.org/html/rfc5864">RFC 5864</seealso>
            <seealso cref="T:DnsClient.Protocol.AfsDbRecord"/>
        </member>
        <member name="F:DnsClient.QueryType.AAAA">
            <summary>
            An IPv6 host address.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc3596#section-2.2">RFC 3596</seealso>
            <seealso cref="T:DnsClient.Protocol.AaaaRecord"/>
        </member>
        <member name="F:DnsClient.QueryType.SRV">
            <summary>
            A resource record which specifies the location of the server(s) for a specific protocol and domain.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc2782">RFC 2782</seealso>
            <seealso cref="T:DnsClient.Protocol.SrvRecord"/>
        </member>
        <member name="F:DnsClient.QueryType.RRSIG">
            <summary>
            RRSIG rfc3755.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc3755">RFC 3755</seealso>
        </member>
        <member name="F:DnsClient.QueryType.AXFR">
            <summary>
            DNS zone transfer request.
            This can be used only if <see cref="P:DnsClient.ILookupClient.UseTcpOnly"/> is set to true as <c>AXFR</c> is only supported via TCP.
            <para>
            The DNS Server might only return results for the request if the client connection/IP is allowed to do so.
            </para>
            </summary>
        </member>
        <member name="F:DnsClient.QueryType.ANY">
            <summary>
            Generic any query *.
            </summary>
        </member>
        <member name="F:DnsClient.QueryType.URI">
            <summary>
            A Uniform Resource Identifier (URI) resource record.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc7553">RFC 7553</seealso>
            <seealso cref="T:DnsClient.Protocol.UriRecord"/>
        </member>
        <member name="F:DnsClient.QueryType.CAA">
            <summary>
            A certification authority authorization.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc6844">RFC 6844</seealso>
            <seealso cref="T:DnsClient.Protocol.CaaRecord"/>
        </member>
        <member name="F:DnsClient.QueryType.SSHFP">
            <summary>
            A SSH Fingerprint resource record.
            </summary>
            <seealso href="https://tools.ietf.org/html/rfc4255">RFC 4255</seealso>
            <seealso cref="T:DnsClient.Protocol.SshfpRecord"/>
        </member>
        <member name="T:System.IO.RowConfigReader">
            <summary>
            Helper for reading config files where each row is a key-value data pair.
            The input key-values must not have any whitespace within them.
            Keys are only matched if they begin a line, with no preceding whitespace.
            </summary>
        </member>
        <member name="M:System.IO.RowConfigReader.#ctor(System.String)">
            <summary>
            Constructs a new RowConfigReader which reads from the given string.
            <param name="buffer">The string to parse through.</param>
            </summary>
        </member>
        <member name="M:System.IO.RowConfigReader.#ctor(System.String,System.StringComparison)">
            <summary>
            Constructs a new RowConfigReader which reads from the given string.
            <param name="buffer">The string to parse through.</param>
            <param name="comparisonKind">The comparison kind to use.</param>
            </summary>
        </member>
        <member name="M:System.IO.RowConfigReader.GetNextValue(System.String)">
            <summary>
            Gets the next occurrence of the given key, from the current position of the reader,
            or throws if no occurrence of the key exists in the remainder of the string.
            </summary>
        </member>
        <member name="M:System.IO.RowConfigReader.TryGetNextValue(System.String,System.String@)">
            <summary>
            Tries to get the next occurrence of the given key from the current position of the reader.
            If successful, returns true and stores the result in 'value'. Otherwise, returns false.
            </summary>
        </member>
        <member name="M:System.IO.RowConfigReader.GetNextValueAsInt32(System.String)">
            <summary>
            Gets the next occurrence of the key in the string, and parses it as an Int32.
            Throws if the key is not found in the remainder of the string, or if the key
            cannot be successfully parsed into an Int32.
            </summary>
            <remarks>
            This is mainly provided as a helper because most Linux config/info files
            store integral data.
            </remarks>
        </member>
        <member name="M:System.IO.RowConfigReader.ReadFirstValueFromString(System.String,System.String)">
            <summary>
            Reads the value of the first occurrence of the given key contained in the string given.
            </summary>
            <param name="data">The key-value row configuration string.</param>
            <param name="key">The key to find.</param>
            <returns>The value of the row containing the first occurrence of the key.</returns>
        </member>
        <member name="T:System.Net.IpAddressExtensions">
            <summary>
            Extension methods for <see cref="T:System.Net.IPAddress"/>.
            </summary>
        </member>
        <member name="M:System.Net.IpAddressExtensions.GetArpaName(System.Net.IPAddress)">
            <summary>
            Translates a IPv4 or IPv6 <see cref="T:System.Net.IPAddress"/> into an <see href="https://en.wikipedia.org/wiki/.arpa">arpa address</see>.
            Used for reverse DNS lookup to get the domain name of the given <see cref="T:System.Net.IPAddress"/>.
            </summary>
            <param name="ip">The address to translate.</param>
            <returns>The arpa representation of the address.</returns>
            <seealso cref="M:DnsClient.IDnsQuery.QueryReverse(System.Net.IPAddress)"/>
            <seealso cref="M:DnsClient.IDnsQuery.QueryReverseAsync(System.Net.IPAddress,System.Threading.CancellationToken)"/>
            <seealso href="https://en.wikipedia.org/wiki/.arpa"/>
        </member>
        <member name="T:System.Linq.RecordCollectionExtension">
            <summary>
            Extension methods for <see cref="T:System.Collections.Generic.IEnumerable`1"/> where <c>T</c> is <see cref="T:DnsClient.Protocol.DnsResourceRecord"/>.
            </summary>
        </member>
        <member name="M:System.Linq.RecordCollectionExtension.ARecords(System.Collections.Generic.IEnumerable{DnsClient.Protocol.DnsResourceRecord})">
            <summary>
            Filters the elements of an <see cref="T:System.Collections.Generic.IEnumerable`1"/> to return <see cref="T:DnsClient.Protocol.ARecord"/>s only.
            </summary>
            <param name="records">The records.</param>
            <returns>The list of <see cref="T:DnsClient.Protocol.ARecord"/>.</returns>
        </member>
        <member name="M:System.Linq.RecordCollectionExtension.NsRecords(System.Collections.Generic.IEnumerable{DnsClient.Protocol.DnsResourceRecord})">
            <summary>
            Filters the elements of an <see cref="T:System.Collections.Generic.IEnumerable`1"/> to return <see cref="T:DnsClient.Protocol.NsRecord"/>s only.
            </summary>
            <param name="records">The records.</param>
            <returns>The list of <see cref="T:DnsClient.Protocol.NsRecord"/>.</returns>
        </member>
        <member name="M:System.Linq.RecordCollectionExtension.CnameRecords(System.Collections.Generic.IEnumerable{DnsClient.Protocol.DnsResourceRecord})">
            <summary>
            Filters the elements of an <see cref="T:System.Collections.Generic.IEnumerable`1"/> to return <see cref="T:DnsClient.Protocol.CNameRecord"/>s only.
            </summary>
            <param name="records">The records.</param>
            <returns>The list of <see cref="T:DnsClient.Protocol.CNameRecord"/>.</returns>
        </member>
        <member name="M:System.Linq.RecordCollectionExtension.SoaRecords(System.Collections.Generic.IEnumerable{DnsClient.Protocol.DnsResourceRecord})">
            <summary>
            Filters the elements of an <see cref="T:System.Collections.Generic.IEnumerable`1"/> to return <see cref="T:DnsClient.Protocol.SoaRecord"/>s only.
            </summary>
            <param name="records">The records.</param>
            <returns>The list of <see cref="T:DnsClient.Protocol.SoaRecord"/>.</returns>
        </member>
        <member name="M:System.Linq.RecordCollectionExtension.MbRecords(System.Collections.Generic.IEnumerable{DnsClient.Protocol.DnsResourceRecord})">
            <summary>
            Filters the elements of an <see cref="T:System.Collections.Generic.IEnumerable`1"/> to return <see cref="T:DnsClient.Protocol.MbRecord"/>s only.
            </summary>
            <param name="records">The records.</param>
            <returns>The list of <see cref="T:DnsClient.Protocol.MbRecord"/>.</returns>
        </member>
        <member name="M:System.Linq.RecordCollectionExtension.MgRecords(System.Collections.Generic.IEnumerable{DnsClient.Protocol.DnsResourceRecord})">
            <summary>
            Filters the elements of an <see cref="T:System.Collections.Generic.IEnumerable`1"/> to return <see cref="T:DnsClient.Protocol.MgRecord"/>s only.
            </summary>
            <param name="records">The records.</param>
            <returns>The list of <see cref="T:DnsClient.Protocol.MgRecord"/>.</returns>
        </member>
        <member name="M:System.Linq.RecordCollectionExtension.MrRecords(System.Collections.Generic.IEnumerable{DnsClient.Protocol.DnsResourceRecord})">
            <summary>
            Filters the elements of an <see cref="T:System.Collections.Generic.IEnumerable`1"/> to return <see cref="T:DnsClient.Protocol.MrRecord"/>s only.
            </summary>
            <param name="records">The records.</param>
            <returns>The list of <see cref="T:DnsClient.Protocol.MrRecord"/>.</returns>
        </member>
        <member name="M:System.Linq.RecordCollectionExtension.NullRecords(System.Collections.Generic.IEnumerable{DnsClient.Protocol.DnsResourceRecord})">
            <summary>
            Filters the elements of an <see cref="T:System.Collections.Generic.IEnumerable`1"/> to return <see cref="T:DnsClient.Protocol.NullRecord"/>s only.
            </summary>
            <param name="records">The records.</param>
            <returns>The list of <see cref="T:DnsClient.Protocol.NullRecord"/>.</returns>
        </member>
        <member name="M:System.Linq.RecordCollectionExtension.WksRecords(System.Collections.Generic.IEnumerable{DnsClient.Protocol.DnsResourceRecord})">
            <summary>
            Filters the elements of an <see cref="T:System.Collections.Generic.IEnumerable`1"/> to return <see cref="T:DnsClient.Protocol.WksRecord"/>s only.
            </summary>
            <param name="records">The records.</param>
            <returns>The list of <see cref="T:DnsClient.Protocol.WksRecord"/>.</returns>
        </member>
        <member name="M:System.Linq.RecordCollectionExtension.PtrRecords(System.Collections.Generic.IEnumerable{DnsClient.Protocol.DnsResourceRecord})">
            <summary>
            Filters the elements of an <see cref="T:System.Collections.Generic.IEnumerable`1"/> to return <see cref="T:DnsClient.Protocol.PtrRecord"/>s only.
            </summary>
            <param name="records">The records.</param>
            <returns>The list of <see cref="T:DnsClient.Protocol.PtrRecord"/>.</returns>
        </member>
        <member name="M:System.Linq.RecordCollectionExtension.HInfoRecords(System.Collections.Generic.IEnumerable{DnsClient.Protocol.DnsResourceRecord})">
            <summary>
            Filters the elements of an <see cref="T:System.Collections.Generic.IEnumerable`1"/> to return <see cref="T:DnsClient.Protocol.HInfoRecord"/>s only.
            </summary>
            <param name="records">The records.</param>
            <returns>The list of <see cref="T:DnsClient.Protocol.HInfoRecord"/>.</returns>
        </member>
        <member name="M:System.Linq.RecordCollectionExtension.MxRecords(System.Collections.Generic.IEnumerable{DnsClient.Protocol.DnsResourceRecord})">
            <summary>
            Filters the elements of an <see cref="T:System.Collections.Generic.IEnumerable`1"/> to return <see cref="T:DnsClient.Protocol.MxRecord"/>s only.
            </summary>
            <param name="records">The records.</param>
            <returns>The list of <see cref="T:DnsClient.Protocol.MxRecord"/>.</returns>
        </member>
        <member name="M:System.Linq.RecordCollectionExtension.TxtRecords(System.Collections.Generic.IEnumerable{DnsClient.Protocol.DnsResourceRecord})">
            <summary>
            Filters the elements of an <see cref="T:System.Collections.Generic.IEnumerable`1"/> to return <see cref="T:DnsClient.Protocol.TxtRecord"/>s only.
            </summary>
            <param name="records">The records.</param>
            <returns>The list of <see cref="T:DnsClient.Protocol.TxtRecord"/>.</returns>
        </member>
        <member name="M:System.Linq.RecordCollectionExtension.RpRecords(System.Collections.Generic.IEnumerable{DnsClient.Protocol.DnsResourceRecord})">
            <summary>
            Filters the elements of an <see cref="T:System.Collections.Generic.IEnumerable`1"/> to return <see cref="T:DnsClient.Protocol.RpRecord"/>s only.
            </summary>
            <param name="records">The records.</param>
            <returns>The list of <see cref="T:DnsClient.Protocol.RpRecord"/>.</returns>
        </member>
        <member name="M:System.Linq.RecordCollectionExtension.AfsDbRecords(System.Collections.Generic.IEnumerable{DnsClient.Protocol.DnsResourceRecord})">
            <summary>
            Filters the elements of an <see cref="T:System.Collections.Generic.IEnumerable`1"/> to return <see cref="T:DnsClient.Protocol.AfsDbRecord"/>s only.
            </summary>
            <param name="records">The records.</param>
            <returns>The list of <see cref="T:DnsClient.Protocol.AfsDbRecord"/>.</returns>
        </member>
        <member name="M:System.Linq.RecordCollectionExtension.AaaaRecords(System.Collections.Generic.IEnumerable{DnsClient.Protocol.DnsResourceRecord})">
            <summary>
            Filters the elements of an <see cref="T:System.Collections.Generic.IEnumerable`1"/> to return <see cref="T:DnsClient.Protocol.AaaaRecord"/>s only.
            </summary>
            <param name="records">The records.</param>
            <returns>The list of <see cref="T:DnsClient.Protocol.AaaaRecord"/>.</returns>
        </member>
        <member name="M:System.Linq.RecordCollectionExtension.SrvRecords(System.Collections.Generic.IEnumerable{DnsClient.Protocol.DnsResourceRecord})">
            <summary>
            Filters the elements of an <see cref="T:System.Collections.Generic.IEnumerable`1"/> to return <see cref="T:DnsClient.Protocol.SrvRecord"/>s only.
            </summary>
            <param name="records">The records.</param>
            <returns>The list of <see cref="T:DnsClient.Protocol.SrvRecord"/>.</returns>
        </member>
        <member name="M:System.Linq.RecordCollectionExtension.UriRecords(System.Collections.Generic.IEnumerable{DnsClient.Protocol.DnsResourceRecord})">
            <summary>
            Filters the elements of an <see cref="T:System.Collections.Generic.IEnumerable`1"/> to return <see cref="T:DnsClient.Protocol.UriRecord"/>s only.
            </summary>
            <param name="records">The records.</param>
            <returns>The list of <see cref="T:DnsClient.Protocol.UriRecord"/>.</returns>
        </member>
        <member name="M:System.Linq.RecordCollectionExtension.CaaRecords(System.Collections.Generic.IEnumerable{DnsClient.Protocol.DnsResourceRecord})">
            <summary>
            Filters the elements of an <see cref="T:System.Collections.Generic.IEnumerable`1"/> to return <see cref="T:DnsClient.Protocol.CaaRecord"/>s only.
            </summary>
            <param name="records">The records.</param>
            <returns>The list of <see cref="T:DnsClient.Protocol.CaaRecord"/>.</returns>
        </member>
        <member name="M:System.Linq.RecordCollectionExtension.OfRecordType(System.Collections.Generic.IEnumerable{DnsClient.Protocol.DnsResourceRecord},DnsClient.Protocol.ResourceRecordType)">
            <summary>
            Filters the elements of an <see cref="T:System.Collections.Generic.IEnumerable`1"/> to return <see cref="T:DnsClient.Protocol.DnsResourceRecord"/>s
            which have the <paramref name="type"/>.
            </summary>
            <param name="records">The records.</param>
            <param name="type">The <see cref="T:DnsClient.Protocol.ResourceRecordType"/> to filter for.</param>
            <returns>The list of <see cref="T:DnsClient.Protocol.ARecord"/>.</returns>
        </member>
    </members>
</doc>
