C++ Server-Side SDK
LaunchDarkly SDK
idata_synchronizer.hpp
1 #pragma once
2 
3 #include <launchdarkly/data_model/sdk_data_set.hpp>
4 
5 #include <functional>
6 #include <optional>
7 #include <string>
8 
9 #include "../destination/idestination.hpp"
10 
11 namespace launchdarkly::server_side::data_interfaces {
12 
18  public:
38  virtual void StartAsync(IDestination* destination,
39  data_model::SDKDataSet const* bootstrap_data) = 0;
40 
47  virtual void ShutdownAsync(std::function<void()> complete) = 0;
48 
52  [[nodiscard]] virtual std::string const& Identity() const = 0;
53 
54  virtual ~IDataSynchronizer() = default;
55  IDataSynchronizer(IDataSynchronizer const& item) = delete;
56  IDataSynchronizer(IDataSynchronizer&& item) = delete;
57  IDataSynchronizer& operator=(IDataSynchronizer const&) = delete;
58  IDataSynchronizer& operator=(IDataSynchronizer&&) = delete;
59 
60  protected:
61  IDataSynchronizer() = default;
62 };
63 
64 } // namespace launchdarkly::server_side::data_interfaces
IDataSynchronizer obtains data via a background synchronization mechanism, updating an IDestination w...
Definition: idata_synchronizer.hpp:17
virtual void StartAsync(IDestination *destination, data_model::SDKDataSet const *bootstrap_data)=0
Starts synchronizing data into the given IDestination.
virtual void ShutdownAsync(std::function< void()> complete)=0
Stops the synchronization mechanism. Stop will be called only once after StartAsync....
IDestination represents a sink for data received by the SDK. A destination may be a database,...
Definition: idestination.hpp:14