better IsInitialBlockDownload
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@115 1a98c847-1fd6-4fd8-948a-caf3550aa51b
This commit is contained in:
parent
813505cc13
commit
f79751c299
1 changed files with 11 additions and 15 deletions
26
main.cpp
26
main.cpp
|
@ -850,22 +850,19 @@ unsigned int GetNextWorkRequired(const CBlockIndex* pindexLast)
|
||||||
return bnNew.GetCompact();
|
return bnNew.GetCompact();
|
||||||
}
|
}
|
||||||
|
|
||||||
vector<int> vStartingHeight;
|
|
||||||
void AddStartingHeight(int nStartingHeight)
|
|
||||||
{
|
|
||||||
if (nStartingHeight != -1)
|
|
||||||
{
|
|
||||||
vStartingHeight.push_back(nStartingHeight);
|
|
||||||
sort(vStartingHeight.begin(), vStartingHeight.end());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool IsInitialBlockDownload()
|
bool IsInitialBlockDownload()
|
||||||
{
|
{
|
||||||
int nMedian = 69000;
|
if (pindexBest == NULL)
|
||||||
if (vStartingHeight.size() >= 5)
|
return true;
|
||||||
nMedian = vStartingHeight[vStartingHeight.size()/2];
|
static int64 nLastUpdate;
|
||||||
return nBestHeight < nMedian-1000;
|
static CBlockIndex* pindexLastBest;
|
||||||
|
if (pindexBest != pindexLastBest)
|
||||||
|
{
|
||||||
|
pindexLastBest = pindexBest;
|
||||||
|
nLastUpdate = GetTime();
|
||||||
|
}
|
||||||
|
return (GetTime() - nLastUpdate < 10 &&
|
||||||
|
pindexBest->nTime < GetTime() - 24 * 60 * 60);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1923,7 +1920,6 @@ bool ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
|
||||||
}
|
}
|
||||||
|
|
||||||
AddTimeData(pfrom->addr.ip, nTime);
|
AddTimeData(pfrom->addr.ip, nTime);
|
||||||
AddStartingHeight(pfrom->nStartingHeight);
|
|
||||||
|
|
||||||
// Change version
|
// Change version
|
||||||
if (pfrom->nVersion >= 209)
|
if (pfrom->nVersion >= 209)
|
||||||
|
|
Loading…
Reference in a new issue