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 Details

    • feedbackSuccess

      void feedbackSuccess(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(InetSocketAddress address, 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