diff options
author | Wladimir J. van der Laan <laanwj@gmail.com> | 2015-04-20 13:55:38 +0200 |
---|---|---|
committer | Wladimir J. van der Laan <laanwj@gmail.com> | 2015-04-20 13:59:50 +0200 |
commit | 71900b4426adc96322c432a42b952c685f8b3b7f (patch) | |
tree | 13a8bec6b54dabae060f378877f74e3444cebafb | |
parent | 2bc6332df843bc90cf1a582141c916b5de02d07a (diff) | |
parent | a784f90c9892f06b9fea4e7579f5eca3585482c3 (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.cpp | 5 |
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; } |