72 const std::string&
Name()
const noexcept;
77 CacheUpdateTrait(
const components::ComponentConfig& config,
const components::ComponentContext& context);
80 explicit CacheUpdateTrait(CacheDependencies&& dependencies);
82 virtual ~CacheUpdateTrait();
103 rcu::ReadablePtr<Config> GetConfig()
const;
107 bool HasPreAssignCheck()
const noexcept;
111 bool IsSafeDataLifetime()
const noexcept;
114 void SetDataSizeStatistic(std::size_t size)
noexcept;
118 engine::TaskProcessor& GetCacheTaskProcessor()
const noexcept;
160 const std::chrono::system_clock::time_point& last_update,
161 const std::chrono::system_clock::time_point& now,
162 UpdateStatisticsScope& stats_scope
174 void EarlyStopPeriodicUpdates();
178 void StartPeriodicUpdates();
180 void StopPeriodicUpdates();
182 virtual void Cleanup() = 0;
184 virtual void MarkAsExpired();
186 virtual void GetAndWrite(
dump::
Writer& writer)
const;
188 virtual void ReadAndSet(
dump::
Reader& reader);
191 std::unique_ptr<Impl> impl_;