Skip to content

Commit 4af7c74

Browse files
committed
check and remove expired masternodes on client start / more info on load/flush
1 parent 2d34267 commit 4af7c74

File tree

3 files changed

+20
-3
lines changed

3 files changed

+20
-3
lines changed

src/init.cpp

+4-2
Original file line numberDiff line numberDiff line change
@@ -1160,10 +1160,12 @@ bool AppInit2(boost::thread_group& threadGroup)
11601160
CMasternodeDB mndb;
11611161
if (!mndb.Read(mnodeman))
11621162
LogPrintf("Invalid or missing masternodes.dat; recreating\n");
1163+
else
1164+
mnodeman.CheckAndRemove(); // clean out expired
11631165
}
11641166

1165-
LogPrintf("Loaded %i masternodes from masternodes.dat %dms\n",
1166-
mnodeman.size(), GetTimeMillis() - nStart);
1167+
LogPrintf("Loaded info from masternodes.dat %dms\n", GetTimeMillis() - nStart);
1168+
LogPrintf(" %s\n", mnodeman.ToString());
11671169

11681170

11691171
fMasterNode = GetBoolArg("-masternode", false);

src/masternodeman.cpp

+14-1
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,8 @@ void DumpMasternodes()
123123
CMasternodeDB mndb;
124124
mndb.Write(mnodeman);
125125

126-
LogPrintf("Flushed %d masternodes to masternodes.dat %dms\n", mnodeman.size(), GetTimeMillis() - nStart);
126+
LogPrintf("Flushed info to masternodes.dat %dms\n", GetTimeMillis() - nStart);
127+
LogPrintf(" %s\n", mnodeman.ToString());
127128
}
128129

129130
CMasternodeMan::CMasternodeMan() {}
@@ -628,3 +629,15 @@ void CMasternodeMan::ProcessMessage(CNode* pfrom, std::string& strCommand, CData
628629
}
629630

630631
}
632+
633+
std::string CMasternodeMan::ToString()
634+
{
635+
std::ostringstream info;
636+
637+
info << "masternodes: " << (int)vMasternodes.size() <<
638+
", peers who asked us for masternode list: " << (int)mAskedUsForMasternodeList.size() <<
639+
", peers we asked for masternode list: " << (int)mWeAskedForMasternodeList.size() <<
640+
", entries in masternode list we asked for: " << (int)mWeAskedForMasternodeListEntry.size();
641+
642+
return info.str();
643+
}

src/masternodeman.h

+2
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,8 @@ class CMasternodeMan
113113
// Return the number of (unique) masternodes
114114
int size() { return vMasternodes.size(); }
115115

116+
std::string ToString();
117+
116118
};
117119

118120
#endif

0 commit comments

Comments
 (0)