public AFDFlightsProvider(IKeyValueStorage keyValueStorage, string flightsKey, IFlightsStreamParser flightsStreamParser, IExperimentationFilterProvider filterProvider, IHttpWebRequestFactory httpWebRequestFactory) : base(keyValueStorage, flightsStreamParser, 1800000) { CodeContract.RequiresArgumentNotNullAndNotEmpty(flightsKey, "flightsKey"); CodeContract.RequiresArgumentNotNull <IExperimentationFilterProvider>(filterProvider, "filterProvider"); CodeContract.RequiresArgumentNotNull <IHttpWebRequestFactory>(httpWebRequestFactory, "httpWebRequestFactory"); this.filterProvider = filterProvider; this.flightsKey = flightsKey; this.httpWebRequestFactory = httpWebRequestFactory; }
/// <summary> /// Construct experimentation service object using initializer object. /// </summary> /// <param name="initializer"></param> public ExperimentationService(ExperimentationServiceInitializer initializer) { CodeContract.RequiresArgumentNotNull <ExperimentationServiceInitializer>(initializer, "initializer"); initializer.FillWithDefaults(); telemetry = initializer.ExperimentationTelemetry; filterProvider = initializer.ExperimentationFilterProvider; flightsProvider = initializer.FlightsProvider; setFlightsProvider = initializer.SetFlightsProvider; flightsProvider.FlightsUpdated += OnFlightsUpdated; SetFlightsTelemetry(); }