From 2323fff7ac6dab75db68b4a165ce56263a6ff9b3 Mon Sep 17 00:00:00 2001 From: Alexander Block Date: Mon, 16 Mar 2020 11:15:55 +0100 Subject: [PATCH] Faster opening of masternode connections Only sleep 100ms when we previously tried to connect a MN. The back-off logic in ThreadOpenMasternodeConnections will prevent too many unsuccessful connects to offline/bad nodes. --- src/net.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/net.cpp b/src/net.cpp index 0448b09d9e3b..bb44627a2413 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -2102,11 +2102,18 @@ void CConnman::ThreadOpenMasternodeConnections() auto& chainParams = Params(); + bool didConnect = false; while (!interruptNet) { - if (!interruptNet.sleep_for(std::chrono::milliseconds(1000))) + int sleepTime = 1000; + if (didConnect) { + sleepTime = 100; + } + if (!interruptNet.sleep_for(std::chrono::milliseconds(sleepTime))) return; + didConnect = false; + std::set connectedNodes; std::set connectedProRegTxHashes; ForEachNode([&](const CNode* pnode) { @@ -2170,6 +2177,8 @@ void CConnman::ThreadOpenMasternodeConnections() continue; } + didConnect = true; + mmetaman.GetMetaInfo(connectToDmn->proTxHash)->SetLastOutboundAttempt(nANow); OpenMasternodeConnection(CAddress(connectToDmn->pdmnState->addr, NODE_NETWORK));