resolver: drop the unused timeout multiplier and the comment claiming it (closes #296)
check / check (push) Canceled after 0s
check / check (push) Canceled after 0s
The resolver declared timeoutMultiplier and passed each try's number to exchangeWithTimeout, which threw it away with a comment saying the client config grew the timeout. Nothing did: every try waits the same 2-second queryTimeoutDuration. The constant goes, and exchangeWithTimeout is folded into its one caller, tryExchange, whose comment now says the timeout is fixed. Behaviour is unchanged. Model: opus-5-5
This commit was merged in pull request #297.
This commit is contained in:
@@ -19,7 +19,6 @@ const (
|
||||
queryTimeoutDuration = 2 * time.Second
|
||||
maxRetries = 2
|
||||
maxDelegation = 20
|
||||
timeoutMultiplier = 2
|
||||
|
||||
// maxLookupDepth is how many lookups of nameserver addresses may be
|
||||
// under way one inside another. Looking up a nameserver's address
|
||||
@@ -62,19 +61,8 @@ func checkCtx(ctx context.Context) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (r *Resolver) exchangeWithTimeout(
|
||||
ctx context.Context,
|
||||
msg *dns.Msg,
|
||||
addr string,
|
||||
attempt int,
|
||||
) (*dns.Msg, error) {
|
||||
_ = attempt // timeout escalation handled by client config
|
||||
|
||||
resp, _, err := r.client.ExchangeContext(ctx, msg, addr)
|
||||
|
||||
return resp, err
|
||||
}
|
||||
|
||||
// tryExchange sends msg to addr over UDP, up to maxRetries times, until
|
||||
// a reply comes. Every try waits the same queryTimeoutDuration.
|
||||
func (r *Resolver) tryExchange(
|
||||
ctx context.Context,
|
||||
msg *dns.Msg,
|
||||
@@ -84,14 +72,12 @@ func (r *Resolver) tryExchange(
|
||||
|
||||
var err error
|
||||
|
||||
for attempt := range maxRetries {
|
||||
for range maxRetries {
|
||||
if checkCtx(ctx) != nil {
|
||||
return nil, ErrContextCanceled
|
||||
}
|
||||
|
||||
resp, err = r.exchangeWithTimeout(
|
||||
ctx, msg, addr, attempt,
|
||||
)
|
||||
resp, _, err = r.client.ExchangeContext(ctx, msg, addr)
|
||||
if err == nil {
|
||||
break
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user