#include <userver/cache/base_mongo_cache.hpp>
Base class for all caches polling mongo collection
You have to provide a traits class in order to use this.
See components::CachingComponentBase
All options of CachingComponentBase and
| Name | Description | Default value |
|---|---|---|
| update-correction | adjusts incremental updates window to overlap with previous update | 0 |
All fields below (except for function overrides) are mandatory.
Definition at line 122 of file base_mongo_cache.hpp.
Inheritance diagram for components::MongoCache< MongoCacheTraits >:
Collaboration diagram for components::MongoCache< MongoCacheTraits >:Public Member Functions | |
| MongoCache (const ComponentConfig &, const ComponentContext &) | |
Public Member Functions inherited from components::CachingComponentBase< MongoCacheTraits::DataType > | |
| CachingComponentBase (const ComponentConfig &config, const ComponentContext &) | |
| utils::SharedReadablePtr< MongoCacheTraits::DataType > | Get () const |
| utils::SharedReadablePtr< MongoCacheTraits::DataType > | GetUnsafe () const |
| concurrent::AsyncEventSubscriberScope | UpdateAndListen (Class *obj, std::string name, void(Class::*func)(const std::shared_ptr< const MongoCacheTraits::DataType > &)) |
| concurrent::AsyncEventChannel< const std::shared_ptr< const MongoCacheTraits::DataType > & > & | GetEventChannel () |
Public Member Functions inherited from components::LoggableComponentBase | |
| LoggableComponentBase (const ComponentConfig &, const ComponentContext &) | |
| LoggableComponentBase (LoggableComponentBase &&)=delete | |
| LoggableComponentBase (const LoggableComponentBase &)=delete | |
| ~LoggableComponentBase () override=default | |
| ComponentHealth | GetComponentHealth () const override |
| void | OnLoadingCancelled () override |
| void | OnAllComponentsLoaded () override |
| void | OnAllComponentsAreStopping () override |
Static Public Member Functions | |
| static yaml_config::Schema | GetStaticConfigSchema () |
Static Public Member Functions inherited from components::CachingComponentBase< MongoCacheTraits::DataType > | |
| static yaml_config::Schema | GetStaticConfigSchema () |
Static Public Member Functions inherited from components::LoggableComponentBase | |
| static yaml_config::Schema | GetStaticConfigSchema () |
Static Public Attributes | |
| static constexpr std::string_view | kName = MongoCacheTraits::kName |
Additional Inherited Members | |
Public Types inherited from components::CachingComponentBase< MongoCacheTraits::DataType > | |
| using | DataType |
Protected Types inherited from cache::CacheUpdateTrait | |
| enum class | Flag { kNone = 0 , kNoFirstUpdate = 1 << 0 } |
| Periodic update flags. More... | |
Protected Member Functions inherited from components::CachingComponentBase< MongoCacheTraits::DataType > | |
| void | Set (std::unique_ptr< const MongoCacheTraits::DataType > value_ptr) |
| void | Set (MongoCacheTraits::DataType &&value) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| void | Emplace (Args &&... args) |
| void | Clear () |
| Clears the content of the cache by string a default constructed T. | |
| virtual bool | MayReturnNull () const |
| virtual void | PreAssignCheck (const MongoCacheTraits::DataType *old_value_ptr, const MongoCacheTraits::DataType *new_value_ptr) const |
| If the option has-pre-assign-check is set true in static config, this function is called before assigning the new value to the cache. | |
| virtual void | WriteContents (dump::Writer &writer, const MongoCacheTraits::DataType &contents) const |
| virtual std::unique_ptr< const MongoCacheTraits::DataType > | ReadContents (dump::Reader &reader) const |
Protected Member Functions inherited from cache::CacheUpdateTrait | |
| AllowedUpdateTypes | GetAllowedUpdateTypes () const |
| Update types configured for the cache. | |
| void | StartPeriodicUpdates (utils::Flags< Flag > flags={}) |
| Starts periodic updates. | |
| void | StopPeriodicUpdates () |
| Stops periodic updates. | |
| void | AssertPeriodicUpdateStarted () |
| void | OnCacheModified () |
| CacheUpdateTrait (CacheUpdateTrait &&)=delete | |
| CacheUpdateTrait & | operator= (CacheUpdateTrait &&)=delete |
| void | InvalidateAsync (UpdateType update_type) |
| Non-blocking forced cache update of specified type. | |
| void | UpdateSyncDebug (UpdateType update_type) |
| Forces a cache update of specified type. | |
| const std::string & | Name () const |
| components::MongoCache< MongoCacheTraits >::MongoCache | ( | const ComponentConfig & | config, |
| const ComponentContext & | context ) |
Definition at line 164 of file base_mongo_cache.hpp.
| components::MongoCache< MongoCacheTraits >::~MongoCache | ( | ) |
Definition at line 200 of file base_mongo_cache.hpp.
|
static |
Definition at line 346 of file base_mongo_cache.hpp.
|
staticconstexpr |
Definition at line 128 of file base_mongo_cache.hpp.