Github   Telegram
Loading...
Searching...
No Matches
Classes | Enumerations | Functions | Variables
cache Namespace Reference

Utilities for caching. More...

Classes

class  CacheUpdateTrait
 Base class for periodically updated caches. More...
 
struct  Config
 
class  ConfigError
 
struct  ConfigPatch
 
class  EmptyCacheError
 
class  ExpirableLruCache
 Class for expirable LRU cache. Use cache::LruMap for not expirable LRU Cache. More...
 
class  LruCacheComponent
 Base class for LRU-cache components. More...
 
struct  LruCacheConfig
 
struct  LruCacheConfigStatic
 
class  LruCacheWrapper
 
class  LruMap
 
class  LruSet
 
class  NWayLRU
 
class  UpdateStatisticsScope
 Allows a specific cache to fill cache statistics during an Update More...
 
class  UpdateStatisticsScopeMock
 Allows to test helper functions of CacheUpdateTrait::Update that use UpdateStatisticsScope. More...
 

Enumerations

enum class  FirstUpdateMode {
  kRequired ,
  kBestEffort ,
  kSkip
}
 
enum class  FirstUpdateType {
  kFull ,
  kIncremental ,
  kIncrementalThenAsyncFull
}
 
enum class  BackgroundUpdateMode {
  kEnabled ,
  kDisabled
}
 
enum class  UpdateType {
  kFull ,
  kIncremental
}
 Type of CachingComponentBase update. More...
 
enum class  AllowedUpdateTypes {
  kFullAndIncremental ,
  kOnlyFull ,
  kOnlyIncremental
}
 Update types allowed for a CachingComponentBase instance by static config. More...
 

Functions

ConfigPatch Parse (const formats::json::Value &value, formats::parse::To< ConfigPatch >)
 
std::unordered_map< std::string, ConfigPatchParseCacheConfigSet (const dynamic_config::DocsMap &docs_map)
 
LruCacheConfig Parse (const formats::json::Value &value, formats::parse::To< LruCacheConfig >)
 
std::unordered_map< std::string, LruCacheConfigParseLruCacheConfigSet (const dynamic_config::DocsMap &docs_map)
 
std::optional< LruCacheConfigGetLruConfig (const dynamic_config::Snapshot &config, const std::string &cache_name)
 
AllowedUpdateTypes Parse (const yaml_config::YamlConfig &value, formats::parse::To< AllowedUpdateTypes >)
 
UpdateType Parse (const formats::json::Value &value, formats::parse::To< UpdateType >)
 

Variables

constexpr dynamic_config::Key< ParseCacheConfigSet > kCacheConfigSet
 
constexpr dynamic_config::Key< ParseLruCacheConfigSet > kLruCacheConfigSet
 

Detailed Description

Utilities for caching.

Enumeration Type Documentation

◆ AllowedUpdateTypes

enum class cache::AllowedUpdateTypes
strong

Update types allowed for a CachingComponentBase instance by static config.

Definition at line 20 of file update_type.hpp.

◆ BackgroundUpdateMode

enum class cache::BackgroundUpdateMode
strong

Definition at line 17 of file lru_cache_config.hpp.

◆ FirstUpdateMode

enum class cache::FirstUpdateMode
strong

Definition at line 27 of file cache_config.hpp.

◆ FirstUpdateType

enum class cache::FirstUpdateType
strong

Definition at line 33 of file cache_config.hpp.

◆ UpdateType

enum class cache::UpdateType
strong

Type of CachingComponentBase update.

Enumerator
kFull 

requests all the items, starting from scratch

kIncremental 

requests only newly updated items

Definition at line 14 of file update_type.hpp.

Variable Documentation

◆ kCacheConfigSet

constexpr dynamic_config::Key<ParseCacheConfigSet> cache::kCacheConfigSet
inlineconstexpr

Definition at line 77 of file cache_config.hpp.

◆ kLruCacheConfigSet

constexpr dynamic_config::Key<ParseLruCacheConfigSet> cache::kLruCacheConfigSet
inlineconstexpr

Definition at line 52 of file lru_cache_config.hpp.