Bitcoin
Public Member Functions | Private Member Functions | Private Attributes | List of all members
leveldb::anonymous_namespace{cache.cc}::LRUCache Class Reference

Public Member Functions

 LRUCache ()
 
 ~LRUCache ()
 
void SetCapacity (size_t capacity)
 
Cache::HandleInsert (const Slice &key, uint32_t hash, void *value, size_t charge, void(*deleter)(const Slice &key, void *value))
 
Cache::HandleLookup (const Slice &key, uint32_t hash)
 
void Release (Cache::Handle *handle)
 
void Erase (const Slice &key, uint32_t hash)
 
void Prune ()
 
size_t TotalCharge () const
 

Private Member Functions

void LRU_Remove (LRUHandle *e)
 
void LRU_Append (LRUHandle *list, LRUHandle *e)
 
void Ref (LRUHandle *e)
 
void Unref (LRUHandle *e)
 
bool FinishErase (LRUHandle *e)
 

Private Attributes

size_t capacity_
 
port::Mutex mutex_
 
size_t usage_
 
LRUHandle lru_
 
LRUHandle in_use_
 
HandleTable table_
 

Constructor & Destructor Documentation

◆ LRUCache()

leveldb::anonymous_namespace{cache.cc}::LRUCache::LRUCache ( )

◆ ~LRUCache()

leveldb::anonymous_namespace{cache.cc}::LRUCache::~LRUCache ( )

Member Function Documentation

◆ Erase()

void leveldb::anonymous_namespace{cache.cc}::LRUCache::Erase ( const Slice key,
uint32_t  hash 
)

◆ FinishErase()

bool leveldb::anonymous_namespace{cache.cc}::LRUCache::FinishErase ( LRUHandle e)
private

◆ Insert()

Cache::Handle * leveldb::anonymous_namespace{cache.cc}::LRUCache::Insert ( const Slice key,
uint32_t  hash,
void *  value,
size_t  charge,
void(*)(const Slice &key, void *value)  deleter 
)

◆ Lookup()

Cache::Handle * leveldb::anonymous_namespace{cache.cc}::LRUCache::Lookup ( const Slice key,
uint32_t  hash 
)

◆ LRU_Append()

void leveldb::anonymous_namespace{cache.cc}::LRUCache::LRU_Append ( LRUHandle list,
LRUHandle e 
)
private

◆ LRU_Remove()

void leveldb::anonymous_namespace{cache.cc}::LRUCache::LRU_Remove ( LRUHandle e)
private

◆ Prune()

void leveldb::anonymous_namespace{cache.cc}::LRUCache::Prune ( )

◆ Ref()

void leveldb::anonymous_namespace{cache.cc}::LRUCache::Ref ( LRUHandle e)
private

◆ Release()

void leveldb::anonymous_namespace{cache.cc}::LRUCache::Release ( Cache::Handle handle)

◆ SetCapacity()

void leveldb::anonymous_namespace{cache.cc}::LRUCache::SetCapacity ( size_t  capacity)
inline

◆ TotalCharge()

size_t leveldb::anonymous_namespace{cache.cc}::LRUCache::TotalCharge ( ) const
inline

◆ Unref()

void leveldb::anonymous_namespace{cache.cc}::LRUCache::Unref ( LRUHandle e)
private

Member Data Documentation

◆ capacity_

size_t leveldb::anonymous_namespace{cache.cc}::LRUCache::capacity_
private

◆ in_use_

LRUHandle leveldb::anonymous_namespace{cache.cc}::LRUCache::in_use_
private

◆ lru_

LRUHandle leveldb::anonymous_namespace{cache.cc}::LRUCache::lru_
private

◆ mutex_

port::Mutex leveldb::anonymous_namespace{cache.cc}::LRUCache::mutex_
mutableprivate

◆ table_

HandleTable leveldb::anonymous_namespace{cache.cc}::LRUCache::table_
private

◆ usage_

size_t leveldb::anonymous_namespace{cache.cc}::LRUCache::usage_
private

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