![]() |
CernVM-FS
2.13.0
|
#include <lru_md.h>
Public Member Functions | |
Md5PathCache (unsigned int cache_size, perf::Statistics *statistics) | |
bool | Insert (const shash::Md5 &hash, const catalog::DirectoryEntry &dirent) |
bool | InsertNegative (const shash::Md5 &hash) |
bool | Lookup (const shash::Md5 &hash, catalog::DirectoryEntry *dirent, bool update_lru=true) |
bool | Forget (const shash::Md5 &hash) |
void | Drop () |
![]() | |
LruCache (const unsigned cache_size, const shash::Md5 &empty_key, uint32_t(*hasher)(const shash::Md5 &key), perf::StatisticsTemplate statistics) | |
virtual | ~LruCache () |
virtual void | Update (const shash::Md5 &key) |
virtual bool | UpdateValue (const shash::Md5 &key, const catalog::DirectoryEntry &value) |
void | Pause () |
void | Resume () |
bool | IsFull () const |
bool | IsEmpty () const |
Counters | counters () |
virtual void | FilterBegin () |
virtual void | FilterGet (shash::Md5 *key, catalog::DirectoryEntry *value) |
virtual bool | FilterNext () |
virtual void | FilterDelete () |
virtual void | FilterEnd () |
Private Attributes | |
catalog::DirectoryEntry | dirent_negative_ |
Additional Inherited Members | |
![]() | |
static double | GetEntrySize () |
![]() | |
Counters | counters_ |
|
inlineexplicit |
|
inlinevirtual |
Clears all elements from the cache. All memory of internal data structures will be freed but data of cache entries may stay in use, we do not call delete on any user data.
Reimplemented from lru::LruCache< shash::Md5, catalog::DirectoryEntry >.
Definition at line 152 of file lru_md.h.
Referenced by TalkManager::MainResponder(), and FuseRemounter::TryFinish().
|
inlinevirtual |
Forgets about a specific cache entry
key | the key to delete from the cache |
Reimplemented from lru::LruCache< shash::Md5, catalog::DirectoryEntry >.
Definition at line 146 of file lru_md.h.
|
inlinevirtual |
Insert a new key-value pair to the list. If the cache is already full, the least recently used object is removed; afterwards the new object is inserted. If the object is already present it is updated and moved back to the end of the list
key | the key where the value is saved |
value | the value of the cache entry |
Reimplemented from lru::LruCache< shash::Md5, catalog::DirectoryEntry >.
Definition at line 121 of file lru_md.h.
Referenced by LibContext::GetDirentForPath(), cvmfs::GetDirentForPath(), and InsertNegative().
|
inline |
Definition at line 129 of file lru_md.h.
Referenced by LibContext::GetDirentForPath(), and cvmfs::GetDirentForPath().
|
inlinevirtual |
Retrieve an element from the cache. If the element was found, it will be marked as 'recently used' and returned
key | the key to perform a lookup on |
value | (out) here the result is saved (not touch in case of miss) |
Reimplemented from lru::LruCache< shash::Md5, catalog::DirectoryEntry >.
Definition at line 136 of file lru_md.h.
Referenced by LibContext::GetDirentForPath(), and cvmfs::GetDirentForPath().
|
private |
Definition at line 158 of file lru_md.h.
Referenced by InsertNegative(), and Md5PathCache().