Sirikata
Classes | Public Member Functions | Static Public Member Functions | Public Attributes | Private Types | Private Member Functions | Private Attributes | Static Private Attributes
Sirikata::FCache Class Reference

#include <FCache.hpp>

Inheritance diagram for Sirikata::FCache:
Collaboration diagram for Sirikata::FCache:

List of all members.

Classes

class  FCachePropDataStruct

Public Member Functions

 FCache (double avgPopPar, std::string cacheName, FCacheScoreFunc scoreFunc, FCacheScoreFuncPrint scoreFuncPrint, SpaceContext *contex)
 FCache (double avgPopPar, std::string cacheName, FCacheScoreFunc scoreFunc, FCacheScoreFuncPrint scoreFuncPrint, SpaceContext *context, int CACHE_SIZE)
virtual ~FCache ()
virtual void insert (const UUID &toInsert, ServerID bid, CacheTimeMS tms, double vMag, double weight, double distance, double radius, double lookupWeight, double unitsScaling)
virtual const OSegEntrylookup (const UUID &lookingFor)
virtual std::string getCacheName ()
virtual void remove (const UUID &toRemove)

Static Public Member Functions

static void checkThisRecord (const FCacheRecord *bcr)
static void printVecRecs (const std::vector< FCacheRecord * > &recs)

Public Attributes

SpaceContextctx
OSegEntry mCraqEntry

Private Types

typedef std::map< UUID,
FCacheRecord * > 
FCacheDataMap
typedef std::pair< UUID,
FCacheRecord * > 
FCacheInsertionPair
typedef std::vector< UUIDFCacheObjVec
typedef std::map< int, bool > FCacheValidMap

Private Member Functions

void updatePopAndIncrement (FCacheRecord *)
void updatePopNoIncrement (FCacheRecord *)
void updatePopNoIncrement (std::vector< FCacheRecord * > &)
void updateRecord (FCacheRecord *rec, ServerID bid, double weight, double distance, double radius, double vMag)
void generateRandomCacheProper (int numToSelect, std::vector< FCacheRecord * > &randRecs)
void printCacheRecordVec (const std::vector< FCacheRecord * > &vec)
void checkStaticTimeSanity ()
void checkCacheProperSanity ()
void printCacheProper ()
void removeCacheProper (FCacheRecord *rec)
void printWorstRecords ()
void killRecord ()

Private Attributes

double ewmaRecPopPar
std::string mName
FCacheScoreFunc mScoreFunc
FCacheScoreFuncPrint mScoreFuncPrint
unsigned int MAX_SIZE_CACHE_PROPER
FCachePropDataStruct cacheProper
std::vector< FCacheRecord * > worstRecords

Static Private Attributes

static const int FCACHE_RAND_SELECT_NUMBER = 15
static const int FCACHE_KEEP_NUMBER = 3

Member Typedef Documentation

typedef std::map<UUID, FCacheRecord*> Sirikata::FCache::FCacheDataMap [private]
typedef std::vector<UUID> Sirikata::FCache::FCacheObjVec [private]
typedef std::map<int,bool> Sirikata::FCache::FCacheValidMap [private]

Constructor & Destructor Documentation

Sirikata::FCache::FCache ( double  avgPopPar,
std::string  cacheName,
FCacheScoreFunc  scoreFunc,
FCacheScoreFuncPrint  scoreFuncPrint,
SpaceContext contex 
)
Sirikata::FCache::FCache ( double  avgPopPar,
std::string  cacheName,
FCacheScoreFunc  scoreFunc,
FCacheScoreFuncPrint  scoreFuncPrint,
SpaceContext context,
int  CACHE_SIZE 
)
Sirikata::FCache::~FCache ( ) [virtual]

References worstRecords.


Member Function Documentation

void Sirikata::FCache::checkCacheProperSanity ( ) [private]
void Sirikata::FCache::checkStaticTimeSanity ( ) [private]
static void Sirikata::FCache::checkThisRecord ( const FCacheRecord bcr) [static]
void Sirikata::FCache::generateRandomCacheProper ( int  numToSelect,
std::vector< FCacheRecord * > &  randRecs 
) [private]
std::string Sirikata::FCache::getCacheName ( ) [virtual]

Implements Sirikata::Cache.

References mName.

void Sirikata::FCache::insert ( const UUID toInsert,
ServerID  bid,
CacheTimeMS  tms,
double  vMag,
double  weight,
double  distance,
double  radius,
double  lookupWeight,
double  unitsScaling 
) [virtual]
void Sirikata::FCache::killRecord ( ) [private]
const OSegEntry & Sirikata::FCache::lookup ( const UUID lookingFor) [virtual]
void Sirikata::FCache::printCacheProper ( ) [private]
void Sirikata::FCache::printCacheRecordVec ( const std::vector< FCacheRecord * > &  vec) [private]
void Sirikata::FCache::printVecRecs ( const std::vector< FCacheRecord * > &  recs) [static]

References PTR_AS_INT.

void Sirikata::FCache::printWorstRecords ( ) [private]

References worstRecords.

void Sirikata::FCache::remove ( const UUID toRemove) [virtual]
void Sirikata::FCache::removeCacheProper ( FCacheRecord rec) [private]
void Sirikata::FCache::updatePopAndIncrement ( FCacheRecord bcRec) [private]
void Sirikata::FCache::updatePopNoIncrement ( std::vector< FCacheRecord * > &  bcRecVec) [private]
void Sirikata::FCache::updatePopNoIncrement ( FCacheRecord bcRec) [private]
void Sirikata::FCache::updateRecord ( FCacheRecord rec,
ServerID  bid,
double  weight,
double  distance,
double  radius,
double  vMag 
) [private]

Member Data Documentation

const int Sirikata::FCache::FCACHE_KEEP_NUMBER = 3 [static, private]
const int Sirikata::FCache::FCACHE_RAND_SELECT_NUMBER = 15 [static, private]

Referenced by killRecord().

Referenced by lookup().

std::string Sirikata::FCache::mName [private]

Referenced by getCacheName().

Referenced by killRecord().


The documentation for this class was generated from the following files: