userver: userver/cache/update_type.hpp Source File
⚠️ This is the documentation for an old userver version. Click here to switch to the latest version.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
update_type.hpp
Go to the documentation of this file.
1#pragma once
2
3/// @file userver/cache/update_type.hpp
4/// @brief Enums representing periodic update types for `CachingComponentBase`
5
6#include <string_view>
7
8#include <userver/formats/json_fwd.hpp>
9#include <userver/yaml_config/fwd.hpp>
10
11USERVER_NAMESPACE_BEGIN
12
13namespace cache {
14
15/// Type of `CachingComponentBase` update
16enum class UpdateType {
17 kFull, ///< requests all the items, starting from scratch
18 kIncremental, ///< requests only newly updated items
19};
20
21UpdateType Parse(const formats::json::Value& value,
22 formats::parse::To<UpdateType>);
23
24std::string_view ToString(UpdateType update_type);
25
26/// Update types allowed for a `CachingComponentBase` instance by static config
28 kFullAndIncremental,
29 kOnlyFull,
30 kOnlyIncremental,
31};
32
33AllowedUpdateTypes Parse(const yaml_config::YamlConfig& value,
34 formats::parse::To<AllowedUpdateTypes>);
35
36std::string_view ToString(AllowedUpdateTypes allowed_update_types);
37
38} // namespace cache
39
40USERVER_NAMESPACE_END