3#include "../../data_components/change_notifier/change_notifier.hpp"
4#include "../../data_components/memory_store/memory_store.hpp"
5#include "../../data_components/status_notifications/data_source_status_manager.hpp"
6#include "../../data_interfaces/source/idata_synchronizer.hpp"
7#include "../../data_interfaces/system/idata_system.hpp"
9#include <launchdarkly/data_model/descriptors.hpp>
10#include <launchdarkly/logging/logger.hpp>
11#include <launchdarkly/server_side/config/built/all_built.hpp>
13#include <boost/asio/any_io_executor.hpp>
15namespace launchdarkly::server_side::data_systems {
33 boost::asio::any_io_executor ioc,
35 Logger
const& logger);
42 std::shared_ptr<data_model::FlagDescriptor>
GetFlag(
43 std::string
const& key)
const override;
44 std::shared_ptr<data_model::SegmentDescriptor>
GetSegment(
45 std::string
const& key)
const override;
46 std::unordered_map<std::string, std::shared_ptr<data_model::FlagDescriptor>>
48 std::unordered_map<std::string,
49 std::shared_ptr<data_model::SegmentDescriptor>>
52 std::string
const&
Identity()
const override;
63 std::shared_ptr<data_interfaces::IDataSynchronizer> synchronizer_;
Definition http_properties.hpp:26
Definition service_endpoints.hpp:11
Definition change_notifier.hpp:17
Definition data_source_status_manager.hpp:16
Definition memory_store.hpp:14
IDataSystem obtains data used for flag evaluations and makes it available to other components.
Definition idata_system.hpp:11
Definition background_sync_system.hpp:27
bool Initialized() const override
Definition background_sync_system.cpp:41
std::string const & Identity() const override
Definition background_sync_system.cpp:45
std::unordered_map< std::string, std::shared_ptr< data_model::SegmentDescriptor > > AllSegments() const override
Get a map of all segments.
Definition background_sync_system.cpp:66
std::unordered_map< std::string, std::shared_ptr< data_model::FlagDescriptor > > AllFlags() const override
Get a map of all flags.
Definition background_sync_system.cpp:61
std::shared_ptr< data_model::SegmentDescriptor > GetSegment(std::string const &key) const override
Get the segment named by key. Returns nullptr if no such flag exists.
Definition background_sync_system.cpp:55
void Initialize() override
Initializes the system. This method will be called before any of the IStore methods are called.
Definition background_sync_system.cpp:36
std::shared_ptr< data_model::FlagDescriptor > GetFlag(std::string const &key) const override
Get the flag named by key. Returns nullptr if no such flag exists.
Definition background_sync_system.cpp:50
Definition background_sync_config.hpp:14