Sirikata
|
#include <CacheLRUOriginal.hpp>
Public Member Functions | |
CacheLRUOriginal (Context *ctx, uint32 maxSize, uint32 cleanGroupSize, Duration entryLifetime) | |
virtual | ~CacheLRUOriginal () |
virtual void | insert (const UUID &uuid, const OSegEntry &sID) |
virtual const OSegEntry & | get (const UUID &uuid) |
virtual void | remove (const UUID &uuid) |
Private Types | |
typedef std::tr1::unordered_map< UUID, CraqCacheRecordLRUOriginal *, UUID::Hasher > | IDRecordMap |
typedef std::multimap< int, CraqCacheRecordLRUOriginal * > | TimeRecordMap |
Private Member Functions | |
void | maintain () |
bool | satisfiesCacheAgeCondition (int inAge) |
Private Attributes | |
Context * | mContext |
IDRecordMap | idRecMap |
TimeRecordMap | timeRecMap |
Network::IOStrand * | mStrand |
Timer | mTimer |
boost::mutex | mMutex |
double | insertMilliseconds |
int | numInserted |
double | maintainDur |
int | numMaintained |
uint32 | mMaxCacheSize |
uint32 | mCleanGroupSize |
Duration | mEntryLifetime |
typedef std::tr1::unordered_map<UUID,CraqCacheRecordLRUOriginal*,UUID::Hasher> Sirikata::CacheLRUOriginal::IDRecordMap [private] |
typedef std::multimap<int,CraqCacheRecordLRUOriginal*> Sirikata::CacheLRUOriginal::TimeRecordMap [private] |
Sirikata::CacheLRUOriginal::CacheLRUOriginal | ( | Context * | ctx, |
uint32 | maxSize, | ||
uint32 | cleanGroupSize, | ||
Duration | entryLifetime | ||
) |
References insertMilliseconds, maintainDur, mTimer, numInserted, numMaintained, and Sirikata::Timer::start().
Sirikata::CacheLRUOriginal::~CacheLRUOriginal | ( | ) | [virtual] |
References Sirikata::Logging::debug, insertMilliseconds, maintainDur, numInserted, numMaintained, and OSEGLRU_LOG.
Implements Sirikata::OSegCache.
References idRecMap, mMutex, Sirikata::OSegEntry::null(), and satisfiesCacheAgeCondition().
Implements Sirikata::OSegCache.
References Sirikata::CraqCacheRecordLRUOriginal::age, Sirikata::Timer::elapsed(), Sirikata::Logging::fatal, idRecMap, insertMilliseconds, maintain(), mMutex, mTimer, numInserted, Sirikata::CraqCacheRecordLRUOriginal::obj_id, OSEGLRU_LOG, Sirikata::CraqCacheRecordLRUOriginal::sID, timeRecMap, and Sirikata::UUID::toString().
void Sirikata::CacheLRUOriginal::maintain | ( | ) | [private] |
References Sirikata::Timer::elapsed(), Sirikata::Logging::fatal, idRecMap, maintainDur, mCleanGroupSize, mContext, mMaxCacheSize, mTimer, Sirikata::Time::null(), numMaintained, OSEGLRU_LOG, Sirikata::Context::recentSimTime(), and timeRecMap.
Referenced by insert().
void Sirikata::CacheLRUOriginal::remove | ( | const UUID & | uuid | ) | [virtual] |
Implements Sirikata::OSegCache.
References Sirikata::Logging::fatal, idRecMap, mMutex, OSEGLRU_LOG, and timeRecMap.
bool Sirikata::CacheLRUOriginal::satisfiesCacheAgeCondition | ( | int | inAge | ) | [private] |
References mContext, mEntryLifetime, Sirikata::Time::null(), and Sirikata::Context::recentSimTime().
Referenced by get().
Referenced by get(), insert(), maintain(), and remove().
double Sirikata::CacheLRUOriginal::insertMilliseconds [private] |
Referenced by CacheLRUOriginal(), insert(), and ~CacheLRUOriginal().
double Sirikata::CacheLRUOriginal::maintainDur [private] |
Referenced by CacheLRUOriginal(), maintain(), and ~CacheLRUOriginal().
uint32 Sirikata::CacheLRUOriginal::mCleanGroupSize [private] |
Referenced by maintain().
Context* Sirikata::CacheLRUOriginal::mContext [private] |
Referenced by maintain(), and satisfiesCacheAgeCondition().
Referenced by satisfiesCacheAgeCondition().
uint32 Sirikata::CacheLRUOriginal::mMaxCacheSize [private] |
Referenced by maintain().
boost::mutex Sirikata::CacheLRUOriginal::mMutex [private] |
Timer Sirikata::CacheLRUOriginal::mTimer [private] |
Referenced by CacheLRUOriginal(), insert(), and maintain().
int Sirikata::CacheLRUOriginal::numInserted [private] |
Referenced by CacheLRUOriginal(), insert(), and ~CacheLRUOriginal().
int Sirikata::CacheLRUOriginal::numMaintained [private] |
Referenced by CacheLRUOriginal(), maintain(), and ~CacheLRUOriginal().
Referenced by insert(), maintain(), and remove().