internal MonitoringJob(Sensor sensor, TimeSpan timeSpan, OnNewValue onNewValue) { Sensor = sensor; Interval = timeSpan; OnNewValue = onNewValue; LastUpdated = DateTimeOffset.UtcNow; }
private void GetValue(object state) { if (_device.DeviceIsDead) { state = null; _timer.Dispose(); return; } try { if (OnNewValue == null) { return; } var temp = GetTemperature(); Task.Run(() => OnNewValue.Invoke(temp)); } catch (Exception) { //ignore } }