From 21d71ac9bee892c6ac6f1b039a2451f2d6f20ba2 Mon Sep 17 00:00:00 2001 From: Markus Linnala Date: Wed, 9 Oct 2019 17:09:19 +0300 Subject: [PATCH] change: serversInfo: Use sort instead of own implementation --- dnscrypt-proxy/serversInfo.go | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/dnscrypt-proxy/serversInfo.go b/dnscrypt-proxy/serversInfo.go index 6f71f9a5..bccb848b 100644 --- a/dnscrypt-proxy/serversInfo.go +++ b/dnscrypt-proxy/serversInfo.go @@ -10,6 +10,7 @@ import ( "math/rand" "net" "net/url" + "sort" "strings" "sync" "time" @@ -139,17 +140,11 @@ func (serversInfo *ServersInfo) refresh(proxy *Proxy) (int, error) { } } serversInfo.Lock() + sort.SliceStable(serversInfo.inner, func(i, j int) bool { + return serversInfo.inner[i].initialRtt < serversInfo.inner[j].initialRtt + }) inner := serversInfo.inner innerLen := len(inner) - for i := 0; i < innerLen; i++ { - for j := i + 1; j < innerLen; j++ { - if inner[j].initialRtt < inner[i].initialRtt { - inner[j], inner[i] = inner[i], inner[j] - } - } - } - serversInfo.inner = inner - if innerLen > 1 { dlog.Notice("Sorted latencies:") for i := 0; i < innerLen; i++ {