Be more aggressive in connecting to peers with relevant services.
Only allow skipping relevant services until there are four outbound connections up. This avoids quickly filling up with peers lacking the relevant services when addrman has few or none of them.
This commit is contained in:
parent
763828df49
commit
9583477288
1 changed files with 2 additions and 2 deletions
|
@ -1675,8 +1675,8 @@ void CConnman::ThreadOpenConnections()
|
||||||
if (nANow - addr.nLastTry < 600 && nTries < 30)
|
if (nANow - addr.nLastTry < 600 && nTries < 30)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// only consider nodes missing relevant services after 40 failed attempts
|
// only consider nodes missing relevant services after 40 failed attempts and only if less than half the outbound are up.
|
||||||
if ((addr.nServices & nRelevantServices) != nRelevantServices && nTries < 40)
|
if ((addr.nServices & nRelevantServices) != nRelevantServices && (nTries < 40 || nOutbound >= (nMaxOutbound >> 1)))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// do not allow non-default ports, unless after 50 invalid addresses selected already
|
// do not allow non-default ports, unless after 50 invalid addresses selected already
|
||||||
|
|
Loading…
Reference in a new issue