Bitcoin
Public Member Functions | Static Private Member Functions | Private Attributes | List of all members
leveldb::anonymous_namespace{cache.cc}::ShardedLRUCache Class Reference
Inheritance diagram for leveldb::anonymous_namespace{cache.cc}::ShardedLRUCache:
leveldb::Cache

Public Member Functions

 ShardedLRUCache (size_t capacity)
 
virtual ~ShardedLRUCache ()
 
virtual HandleInsert (const Slice &key, void *value, size_t charge, void(*deleter)(const Slice &key, void *value))
 
virtual HandleLookup (const Slice &key)
 
virtual void Release (Handle *handle)
 
virtual void Erase (const Slice &key)
 
virtual void * Value (Handle *handle)
 
virtual uint64_t NewId ()
 
virtual void Prune ()
 
virtual size_t TotalCharge () const
 
- Public Member Functions inherited from leveldb::Cache
 Cache ()
 
virtual ~Cache ()
 

Static Private Member Functions

static uint32_t HashSlice (const Slice &s)
 
static uint32_t Shard (uint32_t hash)
 

Private Attributes

LRUCache shard_ [kNumShards]
 
port::Mutex id_mutex_
 
uint64_t last_id_
 

Constructor & Destructor Documentation

◆ ShardedLRUCache()

leveldb::anonymous_namespace{cache.cc}::ShardedLRUCache::ShardedLRUCache ( size_t  capacity)
inlineexplicit

◆ ~ShardedLRUCache()

virtual leveldb::anonymous_namespace{cache.cc}::ShardedLRUCache::~ShardedLRUCache ( )
inlinevirtual

Member Function Documentation

◆ Erase()

virtual void leveldb::anonymous_namespace{cache.cc}::ShardedLRUCache::Erase ( const Slice key)
inlinevirtual

Implements leveldb::Cache.

◆ HashSlice()

static uint32_t leveldb::anonymous_namespace{cache.cc}::ShardedLRUCache::HashSlice ( const Slice s)
inlinestaticprivate

◆ Insert()

virtual Handle* leveldb::anonymous_namespace{cache.cc}::ShardedLRUCache::Insert ( const Slice key,
void *  value,
size_t  charge,
void(*)(const Slice &key, void *value)  deleter 
)
inlinevirtual

Implements leveldb::Cache.

◆ Lookup()

virtual Handle* leveldb::anonymous_namespace{cache.cc}::ShardedLRUCache::Lookup ( const Slice key)
inlinevirtual

Implements leveldb::Cache.

◆ NewId()

virtual uint64_t leveldb::anonymous_namespace{cache.cc}::ShardedLRUCache::NewId ( )
inlinevirtual

Implements leveldb::Cache.

◆ Prune()

virtual void leveldb::anonymous_namespace{cache.cc}::ShardedLRUCache::Prune ( )
inlinevirtual

Reimplemented from leveldb::Cache.

◆ Release()

virtual void leveldb::anonymous_namespace{cache.cc}::ShardedLRUCache::Release ( Handle handle)
inlinevirtual

Implements leveldb::Cache.

◆ Shard()

static uint32_t leveldb::anonymous_namespace{cache.cc}::ShardedLRUCache::Shard ( uint32_t  hash)
inlinestaticprivate

◆ TotalCharge()

virtual size_t leveldb::anonymous_namespace{cache.cc}::ShardedLRUCache::TotalCharge ( ) const
inlinevirtual

Implements leveldb::Cache.

◆ Value()

virtual void* leveldb::anonymous_namespace{cache.cc}::ShardedLRUCache::Value ( Handle handle)
inlinevirtual

Implements leveldb::Cache.

Member Data Documentation

◆ id_mutex_

port::Mutex leveldb::anonymous_namespace{cache.cc}::ShardedLRUCache::id_mutex_
private

◆ last_id_

uint64_t leveldb::anonymous_namespace{cache.cc}::ShardedLRUCache::last_id_
private

◆ shard_

LRUCache leveldb::anonymous_namespace{cache.cc}::ShardedLRUCache::shard_[kNumShards]
private

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