3 #include "../../data_interfaces/source/ifdv2_initializer.hpp"
5 #include <launchdarkly/async/promise.hpp>
6 #include <launchdarkly/data_model/selector.hpp>
7 #include <launchdarkly/logging/logger.hpp>
8 #include <launchdarkly/network/requester.hpp>
9 #include <launchdarkly/server_side/config/built/all_built.hpp>
11 #include <boost/asio/any_io_executor.hpp>
17 namespace launchdarkly::server_side::data_systems {
38 std::string
const& polling_base_url,
40 data_model::Selector selector,
41 std::optional<std::string> filter_key);
45 async::Future<data_interfaces::FDv2SourceResult>
Run()
override;
47 void Close()
override;
49 [[nodiscard]] std::string
const&
Identity()
const override;
58 explicit State(Logger logger) : logger(std::move(logger)) {}
63 std::shared_ptr<State> state,
64 network::HttpResult
const& res);
67 network::HttpRequest
const request_;
68 network::Requester
const requester_;
72 async::Promise<std::monostate> close_promise_;
75 std::shared_ptr<State> state_;
Definition: http_properties.hpp:70
Definition: ifdv2_initializer.hpp:16
Definition: polling_initializer.hpp:30
std::string const & Identity() const override
Definition: polling_initializer.cpp:69
FDv2PollingInitializer(boost::asio::any_io_executor const &executor, Logger const &logger, std::string const &polling_base_url, config::built::HttpProperties const &http_properties, data_model::Selector selector, std::optional< std::string > filter_key)
Definition: polling_initializer.cpp:13
async::Future< data_interfaces::FDv2SourceResult > Run() override
Definition: polling_initializer.cpp:32
void Close() override
Definition: polling_initializer.cpp:65
Definition: fdv2_source_result.hpp:56