Interface DnsServerResponseFeedbackAddressStream

  • All Superinterfaces:
    DnsServerAddressStream

    public interface DnsServerResponseFeedbackAddressStream
    extends DnsServerAddressStream
    An infinite stream of DNS server addresses, that requests feedback to be returned to it. If query is successful timing information is provided, else a failure notification is given.
    • Method Detail

      • feedbackSuccess

        void feedbackSuccess​(java.net.InetSocketAddress address,
                             long queryResponseTimeNanos)
        A way to provide success feedback to DnsServerAddressStream so that DnsServerAddressStream.next() can be tuned to return the best performing DNS server address NOTE: This is called regardless of the RCode returned by the DNS server
        Parameters:
        address - The address returned by DnsServerAddressStream.next() that feedback needs to be applied to
        queryResponseTimeNanos - The response time of a query against the given DNS server
      • feedbackFailure

        void feedbackFailure​(java.net.InetSocketAddress address,
                             java.lang.Throwable failureCause,
                             long queryResponseTimeNanos)
        A way to provide failure feedback to DnsServerAddressStream so that DnsServerAddressStream.next() cab be tuned to return the best performing DNS server address
        Parameters:
        address - The address returned by DnsServerAddressStream.next() that feedback needs to be applied to
        failureCause - The reason the DNS query failed, can be used to penalize failures differently
        queryResponseTimeNanos - The response time of a query against the given DNS server