From 63cced7b31efadb08dc0504958579b3d030e874e Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Sat, 11 Apr 2015 10:30:13 -0700 Subject: [PATCH] net: document that DNSError.Timeout and Temporary are unreliable Update #10417. Change-Id: Ibfbdd05358f696a37217eef160f71b14a468ff86 Reviewed-on: https://go-review.googlesource.com/8788 Reviewed-by: Rob Pike --- src/net/dnsclient.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/net/dnsclient.go b/src/net/dnsclient.go index 099ea45eba..121cd9d21d 100644 --- a/src/net/dnsclient.go +++ b/src/net/dnsclient.go @@ -14,7 +14,7 @@ type DNSError struct { Err string // description of the error Name string // name looked for Server string // server used - IsTimeout bool + IsTimeout bool // if true, timed out; not all timeouts set this } func (e *DNSError) Error() string { @@ -29,7 +29,14 @@ func (e *DNSError) Error() string { return s } -func (e *DNSError) Timeout() bool { return e.IsTimeout } +// Timeout reports whether the DNS lookup is known to have timed out. +// This is not always known; a DNS lookup may fail due to a timeout +// and return a DNSError for which Timeout returns false. +func (e *DNSError) Timeout() bool { return e.IsTimeout } + +// Temporary reports whether the DNS error is known to be temporary. +// This is not always known; a DNS lookup may fail due to a temporary +// error and return a DNSError for which Temporary returns false. func (e *DNSError) Temporary() bool { return e.IsTimeout } const noSuchHost = "no such host"