userver: userver/cache/update_type.hpp Source File
Loading...
Searching...
No Matches
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