Browse Source

Merge pull request #4109

6b29ccc Correct indentation (R E Broadley)
0.10
Wladimir J. van der Laan 11 years ago
parent
commit
191b087e0e
No known key found for this signature in database
GPG Key ID: 74810B012346C9A6
  1. 89
      src/main.cpp

89
src/main.cpp

@ -74,53 +74,54 @@ const string strMessageMagic = "Bitcoin Signed Message:\n";
// Internal stuff // Internal stuff
namespace { namespace {
struct CBlockIndexWorkComparator struct CBlockIndexWorkComparator
{ {
bool operator()(CBlockIndex *pa, CBlockIndex *pb) { bool operator()(CBlockIndex *pa, CBlockIndex *pb) {
// First sort by most total work, ... // First sort by most total work, ...
if (pa->nChainWork > pb->nChainWork) return false; if (pa->nChainWork > pb->nChainWork) return false;
if (pa->nChainWork < pb->nChainWork) return true; if (pa->nChainWork < pb->nChainWork) return true;
// ... then by earliest time received, ... // ... then by earliest time received, ...
if (pa->nSequenceId < pb->nSequenceId) return false; if (pa->nSequenceId < pb->nSequenceId) return false;
if (pa->nSequenceId > pb->nSequenceId) return true; if (pa->nSequenceId > pb->nSequenceId) return true;
// Use pointer address as tie breaker (should only happen with blocks // Use pointer address as tie breaker (should only happen with blocks
// loaded from disk, as those all have id 0). // loaded from disk, as those all have id 0).
if (pa < pb) return false; if (pa < pb) return false;
if (pa > pb) return true; if (pa > pb) return true;
// Identical blocks. // Identical blocks.
return false; return false;
} }
}; };
CBlockIndex *pindexBestInvalid; CBlockIndex *pindexBestInvalid;
set<CBlockIndex*, CBlockIndexWorkComparator> setBlockIndexValid; // may contain all CBlockIndex*'s that have validness >=BLOCK_VALID_TRANSACTIONS, and must contain those who aren't failed // may contain all CBlockIndex*'s that have validness >=BLOCK_VALID_TRANSACTIONS, and must contain those who aren't failed
set<CBlockIndex*, CBlockIndexWorkComparator> setBlockIndexValid;
CCriticalSection cs_LastBlockFile;
CBlockFileInfo infoLastBlockFile; CCriticalSection cs_LastBlockFile;
int nLastBlockFile = 0; CBlockFileInfo infoLastBlockFile;
int nLastBlockFile = 0;
// Every received block is assigned a unique and increasing identifier, so we
// know which one to give priority in case of a fork. // Every received block is assigned a unique and increasing identifier, so we
CCriticalSection cs_nBlockSequenceId; // know which one to give priority in case of a fork.
// Blocks loaded from disk are assigned id 0, so start the counter at 1. CCriticalSection cs_nBlockSequenceId;
uint32_t nBlockSequenceId = 1; // Blocks loaded from disk are assigned id 0, so start the counter at 1.
uint32_t nBlockSequenceId = 1;
// Sources of received blocks, to be able to send them reject messages or ban
// them, if processing happens afterwards. Protected by cs_main. // Sources of received blocks, to be able to send them reject messages or ban
map<uint256, NodeId> mapBlockSource; // them, if processing happens afterwards. Protected by cs_main.
map<uint256, NodeId> mapBlockSource;
// Blocks that are in flight, and that are in the queue to be downloaded.
// Protected by cs_main. // Blocks that are in flight, and that are in the queue to be downloaded.
struct QueuedBlock { // Protected by cs_main.
uint256 hash; struct QueuedBlock {
int64_t nTime; // Time of "getdata" request in microseconds. uint256 hash;
int nQueuedBefore; // Number of blocks in flight at the time of request. int64_t nTime; // Time of "getdata" request in microseconds.
}; int nQueuedBefore; // Number of blocks in flight at the time of request.
map<uint256, pair<NodeId, list<QueuedBlock>::iterator> > mapBlocksInFlight; };
map<uint256, pair<NodeId, list<uint256>::iterator> > mapBlocksToDownload; map<uint256, pair<NodeId, list<QueuedBlock>::iterator> > mapBlocksInFlight;
map<uint256, pair<NodeId, list<uint256>::iterator> > mapBlocksToDownload;
} }
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////

Loading…
Cancel
Save