|
C++ Client-Side SDK
LaunchDarkly SDK
|
#include <flag_updater.hpp>


Public Member Functions | |
| FlagUpdater (FlagStore &flag_store) | |
| void | Init (Context const &context, std::unordered_map< std::string, ItemDescriptor > data) override |
| void | Upsert (Context const &context, std::string key, ItemDescriptor item) override |
| void | Apply (Context const &context, FlagChangeSet change_set, bool from_cache) override |
| std::unique_ptr< IConnection > | OnFlagChange (std::string const &key, std::function< void(std::shared_ptr< FlagValueChangeEvent >)> handler) override |
Public Member Functions inherited from launchdarkly::client_side::IDataSourceUpdateSink | |
| IDataSourceUpdateSink (IDataSourceUpdateSink const &item)=delete | |
| IDataSourceUpdateSink (IDataSourceUpdateSink &&item)=delete | |
| IDataSourceUpdateSink & | operator= (IDataSourceUpdateSink const &)=delete |
| IDataSourceUpdateSink & | operator= (IDataSourceUpdateSink &&)=delete |
Public Member Functions inherited from launchdarkly::client_side::flag_manager::IFlagNotifier | |
| virtual std::unique_ptr< IConnection > | OnFlagChange (std::string const &key, ChangeHandler handler)=0 |
| IFlagNotifier (IFlagNotifier const &item)=delete | |
| IFlagNotifier (IFlagNotifier &&item)=delete | |
| IFlagNotifier & | operator= (IFlagNotifier const &)=delete |
| IFlagNotifier & | operator= (IFlagNotifier &&)=delete |
Additional Inherited Members | |
Public Types inherited from launchdarkly::client_side::flag_manager::IFlagNotifier | |
| using | ChangeHandler = std::function< void(std::shared_ptr< FlagValueChangeEvent >)> |
Applies data source updates to the store and dispatches the resulting change events to registered listeners.
Thread-safe. Every method takes signal_mutex_, so an update arriving on a data source's thread cannot interleave with a listener being registered or removed. Listener callbacks run on the thread that delivered the update, while that mutex is held, so a callback must not register listeners of its own.
|
overridevirtual |
Applies a changeset as a single unit. Unlike Upsert, this path does not order or reject updates by version. FDv2 reserves the per-flag version for event tracking and manages payload consistency through selectors instead.
| from_cache | Whether the changeset was loaded from the local cache, in which case it is not written back to it. |
Implements launchdarkly::client_side::IDataSourceUpdateSink.
|
override |
Listen for changes for the specific flag.
| key | The flag to listen to. |
| handler | The handler to signal when the flag changes. |