Regarding the _res structure and the resolver library res_send() function...
I have been unable to find any clear statement on the exact semantics of the .retrans and .retry fields of the _res structure, specifically with respect to the res_send() function. The man page for resolver(5) seems to suggest that when there is a need to retry the transmission of a given query, the resolver library, or at any rate some functions therein, will wait, in the first instance at least, for an amount of seconds equal to the current value of the _res.retrans field before resending the query, and that for each of the second and subesquent retries the delay period that is inserted prior to each of these subsequent retransmissions willl be calculated so that it will represent "an exponential back-off". But it seems that this term is nowhere very well defined. Some years ago I read something somewhere that I interpreted as suggesting that the first retry delay is equal to the value of the _res.retrans field (default: 5 second) and that this delay period would be doubled for each subsequent retry attempted, so that the first delay would be 5 seconds, the second delay would be 10 seconds long, the third, 20 seconds long, and so on. Is that in fact an accurate description of the behavior of, for example, the res_send() function? Thanks in advance for any & all responses. Regards, rfg P.S. If in fact the resolver library simply doubles the delay time prior to each repeated retry, I'm not sure if that effective but simplistic way of providing the server with progressively more time to answer (on each attempt) really qualifies as an example of "exponential back-off" per se. At least it does not seem to comport with the general description of that term as elaborated here: https://en.wikipedia.org/wiki/Exponential_backoff (But my point here is of course just a very small and a very nitpicking quibble about a very small part of the resolver(5) man page.) _______________________________________________ Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe from this list bind-users mailing list bind-users@lists.isc.org https://lists.isc.org/mailman/listinfo/bind-users