Skip to content

Commit

Permalink
Refactor some bool in a many-arguments function to enum
Browse files Browse the repository at this point in the history
It's made to avoid possible typos with arguments, because some of them have default values and it's very high probability to make a mistake here.
  • Loading branch information
knst committed Jun 3, 2022
1 parent 3dad53f commit 94c99e0
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 10 deletions.
15 changes: 7 additions & 8 deletions src/net.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2415,7 +2415,7 @@ void CConnman::ThreadOpenMasternodeConnections()
// NOTE: Process only one pending masternode at a time

CDeterministicMNCPtr connectToDmn;
bool isProbe = false;
MasternodeProbeConn isProbe = MasternodeProbeConn::IsNotConnection;
{ // don't hold lock while calling OpenMasternodeConnection as cs_main is locked deep inside
LOCK2(cs_vNodes, cs_vPendingMasternodes);

Expand Down Expand Up @@ -2483,7 +2483,7 @@ void CConnman::ThreadOpenMasternodeConnections()
if (!pending.empty()) {
connectToDmn = pending[GetRandInt(pending.size())];
masternodePendingProbes.erase(connectToDmn->proTxHash);
isProbe = true;
isProbe = MasternodeProbeConn::IsConnection;

LogPrint(BCLog::NET_NETCONN, "CConnman::%s -- probing masternode %s, service=%s\n", __func__, connectToDmn->proTxHash.ToString(), connectToDmn->pdmnState->addr.ToString(false));
}
Expand Down Expand Up @@ -2515,8 +2515,7 @@ void CConnman::ThreadOpenMasternodeConnections()
}

// if successful, this moves the passed grant to the constructed node
// KNST refactor masternode_connection, masternode_probe_connection to enums
void CConnman::OpenNetworkConnection(const CAddress& addrConnect, bool fCountFailure, CSemaphoreGrant *grantOutbound, const char *pszDest, bool fOneShot, bool fFeeler, bool manual_connection, bool block_relay_only, bool masternode_connection, bool masternode_probe_connection)
void CConnman::OpenNetworkConnection(const CAddress& addrConnect, bool fCountFailure, CSemaphoreGrant *grantOutbound, const char *pszDest, bool fOneShot, bool fFeeler, bool manual_connection, bool block_relay_only, MasternodeConn masternode_connection, MasternodeProbeConn masternode_probe_connection)
{
//
// Initiate outbound network connection
Expand Down Expand Up @@ -2571,9 +2570,9 @@ void CConnman::OpenNetworkConnection(const CAddress& addrConnect, bool fCountFai
pnode->fFeeler = true;
if (manual_connection)
pnode->m_manual_connection = true;
if (masternode_connection)
if (masternode_connection == MasternodeConn::IsConnection)
pnode->m_masternode_connection = true;
if (masternode_probe_connection)
if (masternode_probe_connection == MasternodeProbeConn::IsConnection)
pnode->m_masternode_probe_connection = true;

{
Expand All @@ -2590,8 +2589,8 @@ void CConnman::OpenNetworkConnection(const CAddress& addrConnect, bool fCountFai
}
}

void CConnman::OpenMasternodeConnection(const CAddress &addrConnect, bool probe) {
OpenNetworkConnection(addrConnect, false, nullptr, nullptr, false, /* feeler = */ false, false, /*block_relay_only = */ false, true, probe);
void CConnman::OpenMasternodeConnection(const CAddress &addrConnect, MasternodeProbeConn probe) {
OpenNetworkConnection(addrConnect, false, nullptr, nullptr, false, false, false, false, MasternodeConn::IsConnection, probe);
}

void CConnman::ThreadMessageHandler()
Expand Down
15 changes: 13 additions & 2 deletions src/net.h
Original file line number Diff line number Diff line change
Expand Up @@ -230,8 +230,19 @@ friend class CNode;
bool GetUseAddrmanOutgoing() const { return m_use_addrman_outgoing; };
void SetNetworkActive(bool active);
SocketEventsMode GetSocketEventsMode() const { return socketEventsMode; }
void OpenNetworkConnection(const CAddress& addrConnect, bool fCountFailure, CSemaphoreGrant *grantOutbound = nullptr, const char *strDest = nullptr, bool fOneShot = false, bool fFeeler = false, bool manual_connection = false, bool block_relay_only = false, bool masternode_connection = false, bool masternode_probe_connection = false);
void OpenMasternodeConnection(const CAddress& addrConnect, bool probe = false);

enum class MasternodeConn {
IsNotConnection,
IsConnection,
};

enum class MasternodeProbeConn {
IsNotConnection,
IsConnection,
};

void OpenNetworkConnection(const CAddress& addrConnect, bool fCountFailure, CSemaphoreGrant *grantOutbound = nullptr, const char *strDest = nullptr, bool fOneShot = false, bool fFeeler = false, bool manual_connection = false, bool block_relay_only = false, MasternodeConn masternode_connection = MasternodeConn::IsNotConnection, MasternodeProbeConn masternode_probe_connection = MasternodeProbeConn::IsNotConnection);
void OpenMasternodeConnection(const CAddress& addrConnect, MasternodeProbeConn probe = MasternodeProbeConn::IsConnection);
bool CheckIncomingNonce(uint64_t nonce);

struct CFullyConnectedOnly {
Expand Down

0 comments on commit 94c99e0

Please sign in to comment.