public DeviceInfoProcessingService(
     MqttClientRepository mqttClientRepository,
     DeviceFactory deviceFactory,
     DeviceRepository deviceRepository,
     ConstantImpactActuatorsProvider constantImpactActuatorsProvider,
     ILogger <BaseProcessingService <DeviceInfo> > logger) : base(mqttClientRepository, logger)
 {
     _deviceFactory    = deviceFactory;
     _deviceRepository = deviceRepository;
     _constantImpactActuatorsProvider = constantImpactActuatorsProvider;
     _logger = logger;
 }
Example #2
0
        public SensorProcessingService(MqttClientRepository mqttClientRepository,
                                       IEnumerable <IParameterAggregator> parameterAggregators,
                                       DeviceRepository deviceRepository,
                                       IConfiguration configuration,
                                       ILogger <BaseProcessingService <SensorValues> > logger) : base(mqttClientRepository, logger)
        {
            var timerPeriod = int.Parse(configuration["SensorsAggregationTime"]);

            _parameterAggregators = parameterAggregators.ToArray();
            _deviceRepository     = deviceRepository;
            _logger = logger;
            _timer  = new Timer(timerPeriod)
            {
                AutoReset = true
            };
            _timer.Elapsed += (_, __) => AggregateResults();
            _timer.Enabled  = true;
        }