aboutsummaryrefslogtreecommitdiff
path: root/lib/dns
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2026-01-25 23:51:06 +0700
committerShulhan <ms@kilabit.info>2026-01-25 23:56:55 +0700
commitfba3fd5a7cce5fa17a9446f6ed2a72d56cfe1fa4 (patch)
treef6e01024595226d702374f7ba2dfd9f23fae3887 /lib/dns
parent462ae78a1fa9880ca443adc19714d2aaf099b1ac (diff)
downloadpakakeh.go-fba3fd5a7cce5fa17a9446f6ed2a72d56cfe1fa4.tar.xz
lib/dns: increase the client default timeout from 6 to 60 seconds
The 6 seconds timeout will works only on fast, stable connection. On some environment with bad network connection, it will cause I/O timeout during recv and this affect the whole internet connections, like browsing. Since the browser wait for domain to be resolved but it does not get the response, it send another query. The next query also got timeout again. Increasing to 10-30 seconds also does not help on that environment. After some tests, 60 seconds is the lower timeout limit that reduce the I/O timeout. It is better that we receive the response and store it to caches, so the next query can be handled quickly, rather than timeout and retrying with the same error.
Diffstat (limited to 'lib/dns')
-rw-r--r--lib/dns/dns.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/dns/dns.go b/lib/dns/dns.go
index 7a19a724..5e9395d6 100644
--- a/lib/dns/dns.go
+++ b/lib/dns/dns.go
@@ -63,7 +63,7 @@ var (
var (
// clientTimeout define read and write timeout on client request.
- clientTimeout = 6 * time.Second
+ clientTimeout = 60 * time.Second
)
type connType byte