LdClient(Configuration configuration, User user) { Config = configuration; connectionLock = new SemaphoreSlim(1, 1); persister = Factory.CreatePersister(configuration); deviceInfo = Factory.CreateDeviceInfo(configuration); flagListenerManager = Factory.CreateFeatureFlagListenerManager(configuration); // If you pass in a null user or user with a null key, one will be assigned to them. if (user == null || user.Key == null) { User = UserWithUniqueKey(user); } else { User = user; } flagCacheManager = Factory.CreateFlagCacheManager(configuration, persister, flagListenerManager, User); connectionManager = Factory.CreateConnectionManager(configuration); updateProcessor = Factory.CreateUpdateProcessor(configuration, User, flagCacheManager); eventProcessor = Factory.CreateEventProcessor(configuration); SetupConnectionManager(); }
internal static IFlagCacheManager CreateFlagCacheManager(Configuration configuration, ISimplePersistance persister, IFlagListenerUpdater updater, User user) { if (configuration.FlagCacheManager != null) { return(configuration.FlagCacheManager); } else { var inMemoryCache = new UserFlagInMemoryCache(); var deviceCache = new UserFlagDeviceCache(persister); return(new FlagCacheManager(inMemoryCache, deviceCache, updater, user)); } }
LdClient(Configuration configuration, User user) { if (configuration == null) { throw new ArgumentNullException("configuration"); } if (user == null) { throw new ArgumentNullException("user"); } Config = configuration; connectionLock = new SemaphoreSlim(1, 1); persister = Factory.CreatePersister(configuration); deviceInfo = Factory.CreateDeviceInfo(configuration); flagListenerManager = Factory.CreateFeatureFlagListenerManager(configuration); platformAdapter = Factory.CreatePlatformAdapter(configuration); // If you pass in a user with a null or blank key, one will be assigned to them. if (String.IsNullOrEmpty(user.Key)) { User = UserWithUniqueKey(user); } else { User = user; } flagCacheManager = Factory.CreateFlagCacheManager(configuration, persister, flagListenerManager, User); connectionManager = Factory.CreateConnectionManager(configuration); updateProcessor = Factory.CreateUpdateProcessor(configuration, User, flagCacheManager); eventProcessor = Factory.CreateEventProcessor(configuration); eventProcessor.SendEvent(eventFactory.NewIdentifyEvent(User)); SetupConnectionManager(); }
public UserFlagDeviceCache(ISimplePersistance persister) { this.persister = persister; }
/// <summary> /// Sets the ISimplePersistance instance, used internally for stubbing mock instances. /// </summary> /// <param name="configuration">Configuration.</param> /// <param name="persister">Persister.</param> /// <returns>the same <c>Configuration</c> instance</returns> public static Configuration WithPersister(this Configuration configuration, ISimplePersistance persister) { configuration.Persister = persister; return(configuration); }