LaunchDarkly Dotnet Server SDK
Search Results for

    Show / Hide Table of Contents

    Class DataSystemModes

    A set of different data system modes which provided pre-configured DataSystemBuilders.

    This class is not stable, and not subject to any backwards compatibility guarantees or semantic versioning. It is not suitable for production usage. Do not use it. You have been warned.

    Inheritance
    object
    DataSystemModes
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: LaunchDarkly.Sdk.Server.Integrations
    Assembly: LaunchDarkly.ServerSdk.dll
    Syntax
    public sealed class DataSystemModes

    Constructors

    View Source

    DataSystemModes()

    Declaration
    public DataSystemModes()

    Methods

    | Edit this page View Source

    Custom()

    Custom returns a builder suitable for creating a custom data acquisition strategy. You may configure how the SDK uses a Persistent Store, how the SDK obtains an initial set of data, and how the SDK keeps data up to date.

    Declaration
    public DataSystemBuilder Custom()
    Returns
    Type Description
    DataSystemBuilder

    a builder without any base configuration

    Remarks
    var config = Configuration.Builder("my-sdk-key")
      .DataSystem(Components.DataSystem().Custom()
        .Initializers(DataSystemComponents.Polling())
        .Synchronizers(DataSystemComponents.Streaming(), DataSystemComponents.Polling())
        .FDv1FallbackSynchronizer(DataSystemComponents.FDv1Polling());
    | Edit this page View Source

    Daemon(IComponentConfigurer<IDataStore>)

    Configures the SDK to read from a persistent store integration that is populated by Relay Proxy or other SDKs. The SDK will not connect to LaunchDarkly. In this mode, the SDK never writes to the data store.

    Declaration
    public DataSystemBuilder Daemon(IComponentConfigurer<IDataStore> persistentStore)
    Parameters
    Type Name Description
    IComponentConfigurer<IDataStore> persistentStore
    Returns
    Type Description
    DataSystemBuilder

    a builder which is configured for daemon mode

    Remarks
    var config = Configuration.Builder("my-sdk-key")
      .DataSystem(Components.DataSystem().Daemon());
    | Edit this page View Source

    Default()

    Configure's LaunchDarkly's recommended flag data acquisition strategy.

    Currently, it operates a two-phase method for getting data: first, it requests data from LaunchDarkly's global CDN. Then, it initiates a streaming connection to LaunchDarkly's Flag Delivery services to receive real-time updates. If the streaming connection is interrupted for an extended period of time, the SDK will automatically fall back to polling the global CDN for updates.

    Declaration
    public DataSystemBuilder Default()
    Returns
    Type Description
    DataSystemBuilder

    a builder containing our default configuration

    Remarks
    var config = Configuration.Builder("my-sdk-key")
      .DataSystem(Components.DataSystem().Default());
    | Edit this page View Source

    PersistentStore(IComponentConfigurer<IDataStore>)

    PersistentStore is similar to Default, with the addition of a persistent store integration. Before data has arrived from LaunchDarkly, the SDK is able to evaluate flags using data from the persistent store. Once fresh data is available, the SDK will no longer read from the persistent store, although it will keep it up to date.

    Declaration
    public DataSystemBuilder PersistentStore(IComponentConfigurer<IDataStore> persistentStore)
    Parameters
    Type Name Description
    IComponentConfigurer<IDataStore> persistentStore
    Returns
    Type Description
    DataSystemBuilder

    a builder which is configured for persistent store mode

    Remarks
    var config = Configuration.Builder("my-sdk-key")
      .DataSystem(Components.DataSystem().
        PersistentStore(Components.PersistentDataStore(SomeDatabaseName.DataStore()))););
    | Edit this page View Source

    Polling()

    Configured the SDK to poll data instead of receiving real-time updates via a stream.

    This is not our recommended strategy, which is Default(), but it may be required for certain network configurations.

    Declaration
    public DataSystemBuilder Polling()
    Returns
    Type Description
    DataSystemBuilder

    a builder containing a polling-only configuration

    Remarks
    var config = Configuration.Builder("my-sdk-key")
      .DataSystem(Components.DataSystem().Polling());
    | Edit this page View Source

    Streaming()

    Configures the SDK to stream data without polling for the initial payload.

    This is not our recommended strategy, which is Default(), but it may be suitable for some situations.

    Declaration
    public DataSystemBuilder Streaming()
    Returns
    Type Description
    DataSystemBuilder

    a builder containing a primarily streaming configuration

    Remarks

    This configuration will not automatically fall back to polling, but it can be instructed by LaunchDarkly to fall back to polling in certain situations.

    Extension Methods

    PluginExtensions.GetPluginHooks<TClient, THook>(TClient, IEnumerable<PluginBase<TClient, THook>>, EnvironmentMetadata, Logger)
    PluginExtensions.GetPluginHooks<TClient, THook>(TClient, IEnumerable<PluginBase<TClient, THook>>, EnvironmentMetadata, Logger)
    PluginExtensions.GetPluginHooks<TClient, THook>(TClient, IEnumerable<PluginBase<TClient, THook>>, EnvironmentMetadata, Logger)
    PluginExtensions.GetPluginHooks<TClient, THook>(TClient, IEnumerable<PluginBase<TClient, THook>>, EnvironmentMetadata, Logger)
    PluginExtensions.GetPluginHooks<TClient, THook>(TClient, IEnumerable<PluginBase<TClient, THook>>, EnvironmentMetadata, Logger)
    PluginExtensions.GetPluginHooks<TClient, THook>(TClient, IEnumerable<PluginBase<TClient, THook>>, EnvironmentMetadata, Logger)
    PluginExtensions.GetPluginHooks<TClient, THook>(TClient, IEnumerable<PluginBase<TClient, THook>>, EnvironmentMetadata, Logger)
    PluginExtensions.RegisterPlugins<TClient, THook>(TClient, IEnumerable<PluginBase<TClient, THook>>, EnvironmentMetadata, Logger)
    PluginExtensions.RegisterPlugins<TClient, THook>(TClient, IEnumerable<PluginBase<TClient, THook>>, EnvironmentMetadata, Logger)
    PluginExtensions.RegisterPlugins<TClient, THook>(TClient, IEnumerable<PluginBase<TClient, THook>>, EnvironmentMetadata, Logger)
    PluginExtensions.RegisterPlugins<TClient, THook>(TClient, IEnumerable<PluginBase<TClient, THook>>, EnvironmentMetadata, Logger)
    PluginExtensions.RegisterPlugins<TClient, THook>(TClient, IEnumerable<PluginBase<TClient, THook>>, EnvironmentMetadata, Logger)
    PluginExtensions.RegisterPlugins<TClient, THook>(TClient, IEnumerable<PluginBase<TClient, THook>>, EnvironmentMetadata, Logger)
    PluginExtensions.RegisterPlugins<TClient, THook>(TClient, IEnumerable<PluginBase<TClient, THook>>, EnvironmentMetadata, Logger)
    • Edit this page
    • View Source
    In this article
    Back to top Generated by DocFX