|
|
@ -2183,7 +2183,7 @@ CoinsCacheSizeState CChainState::GetCoinsCacheSizeState(
|
|
|
|
const int64_t nMempoolUsage = m_mempool ? m_mempool->DynamicMemoryUsage() : 0;
|
|
|
|
const int64_t nMempoolUsage = m_mempool ? m_mempool->DynamicMemoryUsage() : 0;
|
|
|
|
int64_t cacheSize = CoinsTip().DynamicMemoryUsage();
|
|
|
|
int64_t cacheSize = CoinsTip().DynamicMemoryUsage();
|
|
|
|
int64_t nTotalSpace =
|
|
|
|
int64_t nTotalSpace =
|
|
|
|
max_coins_cache_size_bytes + std::max<int64_t>(max_mempool_size_bytes - nMempoolUsage, 0);
|
|
|
|
max_coins_cache_size_bytes + std::max<int64_t>(int64_t(max_mempool_size_bytes) - nMempoolUsage, 0);
|
|
|
|
|
|
|
|
|
|
|
|
//! No need to periodic flush if at least this much space still available.
|
|
|
|
//! No need to periodic flush if at least this much space still available.
|
|
|
|
static constexpr int64_t MAX_BLOCK_COINSDB_USAGE_BYTES = 10 * 1024 * 1024; // 10MB
|
|
|
|
static constexpr int64_t MAX_BLOCK_COINSDB_USAGE_BYTES = 10 * 1024 * 1024; // 10MB
|
|
|
@ -3621,7 +3621,7 @@ bool CChainState::AcceptBlock(const std::shared_ptr<const CBlock>& pblock, Block
|
|
|
|
// blocks which are too close in height to the tip. Apply this test
|
|
|
|
// blocks which are too close in height to the tip. Apply this test
|
|
|
|
// regardless of whether pruning is enabled; it should generally be safe to
|
|
|
|
// regardless of whether pruning is enabled; it should generally be safe to
|
|
|
|
// not process unrequested blocks.
|
|
|
|
// not process unrequested blocks.
|
|
|
|
bool fTooFarAhead = (pindex->nHeight > int(m_chain.Height() + MIN_BLOCKS_TO_KEEP));
|
|
|
|
bool fTooFarAhead{pindex->nHeight > m_chain.Height() + int(MIN_BLOCKS_TO_KEEP)};
|
|
|
|
|
|
|
|
|
|
|
|
// TODO: Decouple this function from the block download logic by removing fRequested
|
|
|
|
// TODO: Decouple this function from the block download logic by removing fRequested
|
|
|
|
// This requires some new chain data structure to efficiently look up if a
|
|
|
|
// This requires some new chain data structure to efficiently look up if a
|
|
|
@ -3843,7 +3843,7 @@ void BlockManager::FindFilesToPrune(std::set<int>& setFilesToPrune, uint64_t nPr
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int nLastBlockWeCanPrune = std::min(prune_height, chain_tip_height - static_cast<int>(MIN_BLOCKS_TO_KEEP));
|
|
|
|
unsigned int nLastBlockWeCanPrune{(unsigned)std::min(prune_height, chain_tip_height - static_cast<int>(MIN_BLOCKS_TO_KEEP))};
|
|
|
|
uint64_t nCurrentUsage = CalculateCurrentUsage();
|
|
|
|
uint64_t nCurrentUsage = CalculateCurrentUsage();
|
|
|
|
// We don't check to prune until after we've allocated new space for files
|
|
|
|
// We don't check to prune until after we've allocated new space for files
|
|
|
|
// So we should leave a buffer under our target to account for another allocation
|
|
|
|
// So we should leave a buffer under our target to account for another allocation
|
|
|
@ -4443,8 +4443,8 @@ void CChainState::LoadExternalBlockFile(FILE* fileIn, FlatFilePos* dbp)
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
// locate a header
|
|
|
|
// locate a header
|
|
|
|
unsigned char buf[CMessageHeader::MESSAGE_START_SIZE];
|
|
|
|
unsigned char buf[CMessageHeader::MESSAGE_START_SIZE];
|
|
|
|
blkdat.FindByte(m_params.MessageStart()[0]);
|
|
|
|
blkdat.FindByte(char(m_params.MessageStart()[0]));
|
|
|
|
nRewind = blkdat.GetPos()+1;
|
|
|
|
nRewind = blkdat.GetPos() + 1;
|
|
|
|
blkdat >> buf;
|
|
|
|
blkdat >> buf;
|
|
|
|
if (memcmp(buf, m_params.MessageStart(), CMessageHeader::MESSAGE_START_SIZE)) {
|
|
|
|
if (memcmp(buf, m_params.MessageStart(), CMessageHeader::MESSAGE_START_SIZE)) {
|
|
|
|
continue;
|
|
|
|
continue;
|
|
|
|