C++ Client-Side SDK
LaunchDarkly SDK
Public Member Functions | List of all members
launchdarkly::client_side::IDataSourceUpdateSink Class Referenceabstract

#include <data_source_update_sink.hpp>

Inheritance diagram for launchdarkly::client_side::IDataSourceUpdateSink:
Inheritance graph
[legend]

Public Member Functions

virtual void Init (Context const &context, std::unordered_map< std::string, ItemDescriptor > data)=0
 
virtual void Upsert (Context const &context, std::string key, ItemDescriptor item)=0
 
virtual void Apply (Context const &context, FlagChangeSet change_set, bool from_cache)=0
 
 IDataSourceUpdateSink (IDataSourceUpdateSink const &item)=delete
 
 IDataSourceUpdateSink (IDataSourceUpdateSink &&item)=delete
 
IDataSourceUpdateSink & operator= (IDataSourceUpdateSink const &)=delete
 
IDataSourceUpdateSink & operator= (IDataSourceUpdateSink &&)=delete
 

Detailed Description

Interface for handling updates from LaunchDarkly.

Implementations must be thread-safe. A data source calls these from whichever thread it runs on, concurrently with flag evaluation and listener registration on the application's threads.

Member Function Documentation

◆ Apply()

virtual void launchdarkly::client_side::IDataSourceUpdateSink::Apply ( Context const &  context,
FlagChangeSet  change_set,
bool  from_cache 
)
pure virtual

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.

Parameters
from_cacheWhether the changeset was loaded from the local cache, in which case it is not written back to it.

Implemented in launchdarkly::client_side::flag_manager::FlagUpdater, and launchdarkly::client_side::flag_manager::FlagPersistence.


The documentation for this class was generated from the following file: