Пример #1
0
        public ConfigurationBuilder(Configuration copyFrom)
        {
            _allAttributesPrivate = copyFrom.AllAttributesPrivate;
            _baseUri                     = copyFrom.BaseUri;
            _diagnosticOptOut            = copyFrom.DiagnosticOptOut;
            _diagnosticRecordingInterval = copyFrom.DiagnosticRecordingInterval;
            _eventCapacity               = copyFrom.EventCapacity;
            _eventFlushInterval          = copyFrom.EventFlushInterval;
            _eventProcessorFactory       = copyFrom.EventProcessorFactory;
#pragma warning disable 618
            _eventSamplingInterval = copyFrom.EventSamplingInterval;
#pragma warning restore 618
            _eventsUri             = copyFrom.EventsUri;
            _featureStore          = copyFrom.FeatureStore;
            _featureStoreFactory   = copyFrom.FeatureStoreFactory;
            _httpClientHandler     = copyFrom.HttpClientHandler;
            _httpClientTimeout     = copyFrom.HttpClientTimeout;
            _inlineUsersInEvents   = copyFrom.InlineUsersInEvents;
            _isStreamingEnabled    = copyFrom.IsStreamingEnabled;
            _offline               = copyFrom.Offline;
            _pollingInterval       = copyFrom.PollingInterval;
            _privateAttributeNames = copyFrom.PrivateAttributeNames is null ? null :
                                     new HashSet <string>(copyFrom.PrivateAttributeNames);
            _readTimeout            = copyFrom.ReadTimeout;
            _reconnectTime          = copyFrom.ReconnectTime;
            _sdkKey                 = copyFrom.SdkKey;
            _startWaitTime          = copyFrom.StartWaitTime;
            _streamUri              = copyFrom.StreamUri;
            _updateProcessorFactory = copyFrom.UpdateProcessorFactory;
            _useLdd                 = copyFrom.UseLdd;
            _userKeysCapacity       = copyFrom.UserKeysCapacity;
            _userKeysFlushInterval  = copyFrom.UserKeysFlushInterval;
            _wrapperName            = copyFrom.WrapperName;
            _wrapperVersion         = copyFrom.WrapperVersion;
        }
        private string NormalizeDataStoreType(IFeatureStoreFactory storeFactory)
        {
            if (storeFactory is null)
            {
                return("memory");
            }
            var typeName = storeFactory.GetType().Name;

            switch (typeName)
            {
            // These hard-coded tests will eventually be replaced by an interface that lets components describe themselves.
            case "InMemoryFeatureStoreFactory":
                return("memory");

            case "ConsulFeatureStoreBuilder":
                return("Consul");

            case "DynamoFeatureStoreBuilder":
                return("Dynamo");

            case "RedisFeatureStoreBuilder":
                return("Redis");
            }
            return("custom");
        }
Пример #3
0
 public FeaturesController(IFeatureStoreFactory featureStoreFactory)
 {
     FeatureStoreFactory = featureStoreFactory;
 }
Пример #4
0
 /// <summary>
 /// Sets the implementation of <see cref="IFeatureStore"/> to be used for holding feature flags
 /// and related data received from LaunchDarkly, using a factory object. The default is
 /// <see cref="Components.InMemoryFeatureStore"/>, but you may choose to use a custom implementation.
 /// </summary>
 /// <param name="configuration">the configuration</param>
 /// <param name="factory">the factory object</param>
 /// <returns>the same <c>Configuration</c> instance</returns>
 public static Configuration WithFeatureStoreFactory(this Configuration configuration, IFeatureStoreFactory factory)
 {
     configuration.FeatureStoreFactory = factory;
     return(configuration);
 }
Пример #5
0
 public IConfigurationBuilder FeatureStoreFactory(IFeatureStoreFactory featureStoreFactory)
 {
     _featureStoreFactory = featureStoreFactory;
     return(this);
 }