Make AreaStore cache setting private

master
ShadowNinja 2015-10-29 23:17:44 -04:00
parent 095db16990
commit f021db7243
2 changed files with 6 additions and 7 deletions

View File

@ -112,14 +112,14 @@ void AreaStore::serialize(std::ostream &os) const
void AreaStore::invalidateCache() void AreaStore::invalidateCache()
{ {
if (cache_enabled) { if (m_cache_enabled) {
m_res_cache.invalidate(); m_res_cache.invalidate();
} }
} }
void AreaStore::setCacheParams(bool enabled, u8 block_radius, size_t limit) void AreaStore::setCacheParams(bool enabled, u8 block_radius, size_t limit)
{ {
cache_enabled = enabled; m_cache_enabled = enabled;
m_cacheblock_radius = MYMAX(block_radius, 16); m_cacheblock_radius = MYMAX(block_radius, 16);
m_res_cache.setLimit(MYMAX(limit, 20)); m_res_cache.setLimit(MYMAX(limit, 20));
invalidateCache(); invalidateCache();
@ -148,7 +148,7 @@ void AreaStore::cacheMiss(void *data, const v3s16 &mpos, std::vector<Area *> *de
void AreaStore::getAreasForPos(std::vector<Area *> *result, v3s16 pos) void AreaStore::getAreasForPos(std::vector<Area *> *result, v3s16 pos)
{ {
if (cache_enabled) { if (m_cache_enabled) {
v3s16 mblock = getContainerPos(pos, m_cacheblock_radius); v3s16 mblock = getContainerPos(pos, m_cacheblock_radius);
const std::vector<Area *> *pre_list = m_res_cache.lookupCache(mblock); const std::vector<Area *> *pre_list = m_res_cache.lookupCache(mblock);

View File

@ -62,7 +62,6 @@ protected:
// TODO change to unordered_map when we can // TODO change to unordered_map when we can
std::map<u32, Area> areas_map; std::map<u32, Area> areas_map;
bool cache_enabled; // don't write to this from subclasses, only read.
public: public:
// Updates the area's ID // Updates the area's ID
virtual bool insertArea(Area *a) = 0; virtual bool insertArea(Area *a) = 0;
@ -83,10 +82,10 @@ public:
{} {}
AreaStore() : AreaStore() :
cache_enabled(true),
m_cacheblock_radius(64), m_cacheblock_radius(64),
m_res_cache(1000, &cacheMiss, this), m_res_cache(1000, &cacheMiss, this),
m_next_id(0) m_next_id(0),
m_cache_enabled(true)
{ {
} }
@ -103,7 +102,7 @@ private:
u8 m_cacheblock_radius; // if you modify this, call invalidateCache() u8 m_cacheblock_radius; // if you modify this, call invalidateCache()
LRUCache<v3s16, std::vector<Area *> > m_res_cache; LRUCache<v3s16, std::vector<Area *> > m_res_cache;
u32 m_next_id; u32 m_next_id;
bool m_cache_enabled;
}; };