C++ Client-Side SDK
LaunchDarkly SDK
Public Types | Public Member Functions | List of all members
launchdarkly::client_side::flag_manager::FlagPersistence Class Reference
Inheritance diagram for launchdarkly::client_side::flag_manager::FlagPersistence:
Inheritance graph
[legend]
Collaboration diagram for launchdarkly::client_side::flag_manager::FlagPersistence:
Collaboration graph
[legend]

Public Types

using TimeStampsource = std::function< std::chrono::time_point< std::chrono::system_clock >()>
 

Public Member Functions

 FlagPersistence (std::string const &sdk_key, IDataSourceUpdateSink &sink, FlagStore &flag_store, std::shared_ptr< IPersistence > persistence, Logger &logger, std::size_t max_cached_contexts, TimeStampsource time_stamper=[]() { return std::chrono::system_clock::now();})
 
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
 
void LoadCached (Context const &context)
 
- 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
 

Member Function Documentation

◆ Apply()

void launchdarkly::client_side::flag_manager::FlagPersistence::Apply ( Context const &  context,
FlagChangeSet  change_set,
bool  from_cache 
)
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.

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

Implements launchdarkly::client_side::IDataSourceUpdateSink.


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