public SimulationRunner( IRateLimitingConfig ratingConfig, IRateLimiting rateLimiting, ISimulationConcurrencyConfig simulationConcurrencyConfig, ILogger logger, IDiagnosticsLogger diagnosticsLogger, IDeviceModels deviceModels, IDeviceModelsGeneration deviceModelsOverriding, IDevices devices, ISimulations simulations, IFactory factory) { this.connectionLoopSettings = new ConnectionLoopSettings(ratingConfig); this.propertiesLoopSettings = new PropertiesLoopSettings(ratingConfig); this.simulationConcurrencyConfig = simulationConcurrencyConfig; this.log = logger; this.diagnosticsLogger = diagnosticsLogger; this.deviceModels = deviceModels; this.deviceModelsOverriding = deviceModelsOverriding; this.devices = devices; this.simulations = simulations; this.factory = factory; this.startLock = new { }; this.running = false; this.starting = false; this.rateLimiting = rateLimiting; this.deviceStateActors = new ConcurrentDictionary <string, IDeviceStateActor>(); this.deviceConnectionActors = new ConcurrentDictionary <string, IDeviceConnectionActor>(); this.deviceTelemetryActors = new ConcurrentDictionary <string, IDeviceTelemetryActor>(); this.devicePropertiesActors = new ConcurrentDictionary <string, IDevicePropertiesActor>(); }
public DeviceModels( ICustomDeviceModels customDeviceModels, IStockDeviceModels stockDeviceModels, IDeviceModelsGeneration deviceModelsOverriding, ILogger logger) { this.stockDeviceModels = stockDeviceModels; this.customDeviceModels = customDeviceModels; this.deviceModelsOverriding = deviceModelsOverriding; this.log = logger; }