<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>Hello,</p>
    <p>I'm using getdns in stub mode with more than 1 upstream servers
      (over UDP)<br>
      configured in the context. Some of the observations that i have:</p>
    <ul>
      <li>Every time a udp request times out, the back_off is multiplied
        by 2 and another server is chosen. But if the response is
        received from the server then the back_off value is never reset.
        In case there is a timeout again, It continues with the previous
        back_off value. i would like to propose to reset the back_off to
        0 as soon as the server becomes available.</li>
      <li>If all upstreams are failing, the upstream with the smallest
        back_off value will be selected, and the back_off value
        decremented by one. In this scenario servers can also be retried
        in the round robin fashion to give them equal chance because one
        of the server might have large back_off value and will not be
        tried even though it has become available again. Or make it
        configurable to choose one of the above behavior.</li>
      <li>In the latest release a feature was added "More fine grained
        control over TLS upstream retry and back off behavior with
        getdns_context_set_tls_backoff_time() and
        getdns_context_set_tls_connection_retries().". I would like to
        propose to add  similar back_off time and retries for over UDP
        as well.</li>
    </ul>
    <p>Regards,</p>
    <p>Shikha Sharma<br>
    </p>
  </body>
</html>