aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2015-04-20 13:55:38 +0200
committerWladimir J. van der Laan <laanwj@gmail.com>2015-04-20 13:59:50 +0200
commit71900b4426adc96322c432a42b952c685f8b3b7f (patch)
tree13a8bec6b54dabae060f378877f74e3444cebafb
parent2bc6332df843bc90cf1a582141c916b5de02d07a (diff)
parenta784f90c9892f06b9fea4e7579f5eca3585482c3 (diff)
Merge pull request #6029
a784f90 Cap nAttempts penalty at 8 and switch to pow instead of a division loop. (Gregory Maxwell)
-rw-r--r--src/addrman.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/addrman.cpp b/src/addrman.cpp
index 5d9527f0e1..094c913e9c 100644
--- a/src/addrman.cpp
+++ b/src/addrman.cpp
@@ -67,9 +67,8 @@ double CAddrInfo::GetChance(int64_t nNow) const
if (nSinceLastTry < 60 * 10)
fChance *= 0.01;
- // deprioritize 50% after each failed attempt
- for (int n = 0; n < nAttempts; n++)
- fChance /= 1.5;
+ // deprioritize 66% after each failed attempt, but at most 1/28th to avoid the search taking forever or overly penalizing outages.
+ fChance *= pow(0.66, min(nAttempts, 8));
return fChance;
}