Changeset View
Changeset View
Standalone View
Standalone View
src/coins.cpp
Show First 20 Lines • Show All 283 Lines • ▼ Show 20 Lines | |||||
bool CCoinsViewCache::Flush() { | bool CCoinsViewCache::Flush() { | ||||
bool fOk = base->BatchWrite(cacheCoins, hashBlock); | bool fOk = base->BatchWrite(cacheCoins, hashBlock); | ||||
cacheCoins.clear(); | cacheCoins.clear(); | ||||
cachedCoinsUsage = 0; | cachedCoinsUsage = 0; | ||||
return fOk; | return fOk; | ||||
} | } | ||||
void CCoinsViewCache::Uncache(const uint256 &hash) { | void CCoinsViewCache::Uncache(const COutPoint &outpoint) { | ||||
CCoinsMap::iterator it = cacheCoins.find(hash); | CCoinsMap::iterator it = cacheCoins.find(outpoint.hash); | ||||
if (it != cacheCoins.end() && it->second.flags == 0) { | if (it != cacheCoins.end() && it->second.flags == 0) { | ||||
cachedCoinsUsage -= it->second.coins.DynamicMemoryUsage(); | cachedCoinsUsage -= it->second.coins.DynamicMemoryUsage(); | ||||
cacheCoins.erase(it); | cacheCoins.erase(it); | ||||
} | } | ||||
} | } | ||||
unsigned int CCoinsViewCache::GetCacheSize() const { | unsigned int CCoinsViewCache::GetCacheSize() const { | ||||
return cacheCoins.size(); | return cacheCoins.size(); | ||||
▲ Show 20 Lines • Show All 75 Lines • Show Last 20 Lines |