44 const std::string&
Name()
const;
49 CacheUpdateTrait(
const components::ComponentConfig& config,
const components::ComponentContext& context);
52 explicit CacheUpdateTrait(CacheDependencies&& dependencies);
54 virtual ~CacheUpdateTrait();
75 rcu::ReadablePtr<Config> GetConfig()
const;
79 bool HasPreAssignCheck()
const;
83 bool IsSafeDataLifetime()
const;
86 void SetDataSizeStatistic(std::size_t size)
noexcept;
90 engine::TaskProcessor& GetCacheTaskProcessor()
const;
132 const std::chrono::system_clock::time_point& last_update,
133 const std::chrono::system_clock::time_point& now,
134 UpdateStatisticsScope& stats_scope
146 void EarlyStopPeriodicUpdates();
150 void StartPeriodicUpdates();
152 void StopPeriodicUpdates();
154 virtual void Cleanup() = 0;
156 virtual void MarkAsExpired();
158 virtual void GetAndWrite(
dump::
Writer& writer)
const;
160 virtual void ReadAndSet(
dump::
Reader& reader);
163 std::unique_ptr<Impl> impl_;