public DeviceReplayTask(
     IAppConcurrencyConfig appConcurrencyConfig,
     ILogger logger)
 {
     this.appConcurrencyConfig = appConcurrencyConfig;
     this.log = logger;
 }
 public DeviceConnectionTask(
     IAppConcurrencyConfig appConcurrencyConfig,
     ILogger logger)
 {
     this.appConcurrencyConfig = appConcurrencyConfig;
     this.log = logger;
 }
        public Agent(
            IServicesConfig servicesConfig,
            IAppConcurrencyConfig appConcurrencyConfig,
            ISimulations simulations,
            IFactory factory,
            ILogger logger,
            IDiagnosticsLogger diagnosticsLogger)
        {
            this.appConcurrencyConfig = appConcurrencyConfig;
            this.simulations          = simulations;
            this.factory        = factory;
            this.log            = logger;
            this.logDiagnostics = diagnosticsLogger;

            this.startingOrStopping      = false;
            this.running                 = false;
            this.deviceTwinEnabled       = servicesConfig.DeviceTwinEnabled;
            this.runningToken            = new CancellationTokenSource();
            this.lastPolledTime          = DateTimeOffset.UtcNow;
            this.lastPrintStatisticsTime = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
            this.lastSaveStatisticsTime  = DateTimeOffset.UtcNow;

            this.simulationManagers     = new ConcurrentDictionary <string, ISimulationManager>();
            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 UpdatePropertiesTask(
     IAppConcurrencyConfig appConcurrencyConfig,
     ILogger logger)
 {
     this.appConcurrencyConfig = appConcurrencyConfig;
     this.log = logger;
 }