internal static IMobileUpdateProcessor CreateUpdateProcessor(Configuration configuration, User user, IFlagCacheManager flagCacheManager, StreamManager.EventSourceCreator source = null) { if (configuration.MobileUpdateProcessor != null) { return(configuration.MobileUpdateProcessor); } IMobileUpdateProcessor updateProcessor = null; if (configuration.Offline) { Log.InfoFormat("Was configured to be offline, starting service with NullUpdateProcessor"); return(new NullUpdateProcessor()); } if (configuration.IsStreamingEnabled) { updateProcessor = new MobileStreamingProcessor(configuration, flagCacheManager, user, source); } else { var featureFlagRequestor = new FeatureFlagRequestor(configuration, user); updateProcessor = new MobilePollingProcessor(featureFlagRequestor, flagCacheManager, user, configuration.PollingInterval); } return(updateProcessor); }
internal static IMobileUpdateProcessor CreateUpdateProcessor(Configuration configuration, User user, IFlagCacheManager flagCacheManager, StreamManager.EventSourceCreator source = null) { if (configuration.MobileUpdateProcessor != null) { return(configuration.MobileUpdateProcessor); } if (configuration.Offline) { Log.InfoFormat("Starting LaunchDarkly client in offline mode"); return(new NullUpdateProcessor()); } if (configuration.IsStreamingEnabled) { return(new MobileStreamingProcessor(configuration, flagCacheManager, user, source)); } else { var featureFlagRequestor = new FeatureFlagRequestor(configuration, user); return(new MobilePollingProcessor(featureFlagRequestor, flagCacheManager, user, configuration.PollingInterval)); } }
internal MobileStreamingProcessor(IMobileConfiguration configuration, IFlagCacheManager cacheManager, User user, StreamManager.EventSourceCreator eventSourceCreator) { this._configuration = configuration; this._cacheManager = cacheManager; this._user = user; StreamProperties streamProperties; if (_configuration.UseReport) { streamProperties = MakeStreamPropertiesForREPORT(); } else { streamProperties = MakeStreamPropertiesForGET(); } _streamManager = new StreamManager(this, streamProperties, _configuration, MobileClientEnvironment.Instance, eventSourceCreator); }
internal StreamProcessor(Configuration config, IFeatureRequestor featureRequestor, IFeatureStore featureStore, StreamManager.EventSourceCreator eventSourceCreator) { _streamManager = new StreamManager(this, MakeStreamProperties(config), config, ServerSideClientEnvironment.Instance, eventSourceCreator); _config = config; _featureRequestor = featureRequestor; _featureStore = featureStore; }
internal MobileStreamingProcessor(Configuration configuration, IFlagCacheManager cacheManager, User user, StreamManager.EventSourceCreator eventSourceCreator) { this._configuration = configuration; this._cacheManager = cacheManager; this._user = user; var streamProperties = _configuration.UseReport ? MakeStreamPropertiesForReport() : MakeStreamPropertiesForGet(); _streamManager = new StreamManager(this, streamProperties, _configuration.StreamManagerConfiguration, MobileClientEnvironment.Instance, eventSourceCreator); }