minor fix to batched initial download in case requester has more than 500 block non-main branch
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@41 1a98c847-1fd6-4fd8-948a-caf3550aa51b
This commit is contained in:
21
main.h
21
main.h
@@ -1298,6 +1298,27 @@ public:
|
||||
vHave.push_back(hashGenesisBlock);
|
||||
}
|
||||
|
||||
int GetDistanceBack()
|
||||
{
|
||||
// Retrace how far back it was in the sender's branch
|
||||
int nDistance = 0;
|
||||
int nStep = 1;
|
||||
foreach(const uint256& hash, vHave)
|
||||
{
|
||||
map<uint256, CBlockIndex*>::iterator mi = mapBlockIndex.find(hash);
|
||||
if (mi != mapBlockIndex.end())
|
||||
{
|
||||
CBlockIndex* pindex = (*mi).second;
|
||||
if (pindex->IsInMainChain())
|
||||
return nDistance;
|
||||
}
|
||||
nDistance += nStep;
|
||||
if (nDistance > 10)
|
||||
nStep *= 2;
|
||||
}
|
||||
return nDistance;
|
||||
}
|
||||
|
||||
CBlockIndex* GetBlockIndex()
|
||||
{
|
||||
// Find the first block the caller has in the main chain
|
||||
|
||||
Reference in New Issue
Block a user