3 #include "../item_change.hpp"
5 #include <launchdarkly/data_model/change_set.hpp>
6 #include <launchdarkly/data_sources/data_source_status_error_info.hpp>
13 #include <string_view>
14 #include <system_error>
17 namespace launchdarkly::server_side::data_interfaces {
26 static constexpr std::chrono::seconds
kDefaultTtl = std::chrono::hours(1);
33 static std::optional<std::chrono::seconds>
ParseTtl(
34 std::string_view value) {
35 std::uint64_t seconds = 0;
36 auto const* begin = value.data();
37 auto const* end = begin + value.size();
38 auto const [ptr, ec] = std::from_chars(begin, end, seconds);
39 if (ec != std::errc{} || ptr != end) {
42 return std::chrono::seconds(seconds);
63 data_model::ChangeSet<ChangeSetData> change_set;
89 std::optional<std::string> reason;
93 std::variant<ChangeSet, Interrupted, TerminalError, Shutdown, Goodbye>;
Definition: data_source_status_error_info.hpp:14
Definition: fdv2_source_result.hpp:24
static std::optional< std::chrono::seconds > ParseTtl(std::string_view value)
Definition: fdv2_source_result.hpp:33
std::chrono::seconds ttl
Definition: fdv2_source_result.hpp:50
static constexpr std::chrono::seconds kDefaultTtl
Definition: fdv2_source_result.hpp:26
Definition: fdv2_source_result.hpp:62
Definition: fdv2_source_result.hpp:88
Definition: fdv2_source_result.hpp:69
Definition: fdv2_source_result.hpp:83
Definition: fdv2_source_result.hpp:76
Definition: fdv2_source_result.hpp:56
std::optional< FDv1FallbackDirective > fdv1_fallback
Definition: fdv2_source_result.hpp:100