38 #ifndef CACHE_CHACHEMANAGER_H
39 #define CACHE_CHACHEMANAGER_H
90 void init(
unsigned char* cache,
91 unsigned long blocks,
unsigned long blockSize,
long handDiff = -1)
102 memset(
m_cache, 0, blocks * blockSize);
119 long get(
unsigned long blockId,
unsigned long &cacheOffset,
unsigned char* &data)
123 long oldBlockId = blockId;
150 bool tryGet(
unsigned long blockId,
unsigned long &cacheOffset,
const unsigned char* &data)
188 #endif // CACHE_CACHEMANAGER_H
Controls a list of blocks.
threads::Mutex m_cacheMutex
unsigned long m_blockSize
void init(unsigned char *cache, unsigned long blocks, unsigned long blockSize, long handDiff=-1)
long getFreeIndex(unsigned long block, unsigned long &index)
void init(unsigned long size, long handDiff=-1)
bool tryGet(unsigned long blockId, unsigned long &cacheOffset, const unsigned char *&data)
threads::Mutex * m_blockMutexes
bool getIndex(unsigned long block, unsigned long &index, bool access=true)
void unlock(unsigned long cacheOffset)