From d33cc2b5e3779033502fedc3f17aeffb4fa8e01c Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Sun, 11 Sep 2011 10:49:30 +0200 Subject: [PATCH] clarify function signature (GetNumBlocksOfPeers) and use number of 'frozen' blocks as initial value for number of peer blocks --- src/main.cpp | 10 +++++----- src/main.h | 2 +- src/qt/bitcoingui.cpp | 2 +- src/qt/clientmodel.cpp | 4 ++-- src/qt/clientmodel.h | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 20bd94884e..4d5cb87b07 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -31,8 +31,8 @@ map mapBlockIndex; uint256 hashGenesisBlock("0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f"); static CBigNum bnProofOfWorkLimit(~uint256(0) >> 32); const int nTotalBlocksEstimate = 140700; // Conservative estimate of total nr of blocks on main chain -int nMaxBlocksOfOtherNodes = 0; // Maximum amount of blocks that other nodes claim to have const int nInitialBlockThreshold = 120; // Regard blocks up until N-threshold as "initial download" +int nMaxBlocksOfPeers = 0; // Amount of blocks that other nodes claim to have CBlockIndex* pindexGenesisBlock = NULL; int nBestHeight = -1; CBigNum bnBestChainWork = 0; @@ -728,9 +728,9 @@ int GetTotalBlocksEstimate() } // Return maximum amount of blocks that other nodes claim to have -int GetMaxBlocksOfOtherNodes() +int GetNumBlocksOfPeers() { - return nMaxBlocksOfOtherNodes; + return std::max(nMaxBlocksOfPeers, GetTotalBlocksEstimate()); } bool IsInitialBlockDownload() @@ -1846,9 +1846,9 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) pfrom->fSuccessfullyConnected = true; printf("version message: version %d, blocks=%d\n", pfrom->nVersion, pfrom->nStartingHeight); - if(pfrom->nStartingHeight > nMaxBlocksOfOtherNodes) + if(pfrom->nStartingHeight > nMaxBlocksOfPeers) { - nMaxBlocksOfOtherNodes = pfrom->nStartingHeight; + nMaxBlocksOfPeers = pfrom->nStartingHeight; } } diff --git a/src/main.h b/src/main.h index 238cb5d8c2..d1dc72d5d9 100644 --- a/src/main.h +++ b/src/main.h @@ -99,7 +99,7 @@ void FormatHashBuffers(CBlock* pblock, char* pmidstate, char* pdata, char* phash bool CheckWork(CBlock* pblock, CWallet& wallet, CReserveKey& reservekey); bool CheckProofOfWork(uint256 hash, unsigned int nBits); int GetTotalBlocksEstimate(); -int GetMaxBlocksOfOtherNodes(); +int GetNumBlocksOfPeers(); bool IsInitialBlockDownload(); std::string GetWarnings(std::string strFor); diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 7943684eef..b51fd729cb 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -346,7 +346,7 @@ void BitcoinGUI::setNumConnections(int count) void BitcoinGUI::setNumBlocks(int count) { int initTotal = clientModel->getNumBlocksAtStartup(); - int total = clientModel->getTotalBlocksEstimate(); + int total = clientModel->getNumBlocksOfPeers(); QString tooltip; if(count < total) diff --git a/src/qt/clientmodel.cpp b/src/qt/clientmodel.cpp index 08abaa6b49..2ed3ce51df 100644 --- a/src/qt/clientmodel.cpp +++ b/src/qt/clientmodel.cpp @@ -67,9 +67,9 @@ bool ClientModel::inInitialBlockDownload() const return IsInitialBlockDownload(); } -int ClientModel::getTotalBlocksEstimate() const +int ClientModel::getNumBlocksOfPeers() const { - return GetMaxBlocksOfOtherNodes(); + return GetNumBlocksOfPeers(); } OptionsModel *ClientModel::getOptionsModel() diff --git a/src/qt/clientmodel.h b/src/qt/clientmodel.h index 8605fb93ab..c68fb0f035 100644 --- a/src/qt/clientmodel.h +++ b/src/qt/clientmodel.h @@ -32,7 +32,7 @@ public: // Return true if core is doing initial block download bool inInitialBlockDownload() const; // Return conservative estimate of total number of blocks, or 0 if unknown - int getTotalBlocksEstimate() const; + int getNumBlocksOfPeers() const; QString formatFullVersion() const;