Exemplo n.º 1
0
 private Task <PayloadVoid> OnValueSet(DeviceIdentity devid, KeyValueData data)
 {
     _logger.Info($"Settings changed[sys:{devid.SystemId}, com:{devid.ComponentId}]: {data.Key} = {data.Value}");
     Status.Log(MavSeverity.MavSeverityInfo, $"Write {data.Key}={data.Value}");
     return(Task.Factory.StartNew(() =>
     {
         _settings.OnRemoteUpdate(data);
         return new PayloadVoid();
     }));
 }
Exemplo n.º 2
0
        private Task <PayloadVoid> OnGetAll(DeviceIdentity devid, KeyValueData data)
        {
            foreach (var item in _valuesDig)
            {
                item.Value.LastSyncTime = DateTime.MinValue;
            }
            foreach (var item in _valuesStr)
            {
                item.Value.LastSyncTime = DateTime.MinValue;
            }
            foreach (var item in _settingsDict)
            {
                item.Value.LastSyncTime = DateTime.MinValue;
            }

            return(Task.FromResult(PayloadVoid.Default));
        }
Exemplo n.º 3
0
 public void OnRemoteUpdate(KeyValueData value)
 {
     _values.AddOrUpdate(value.Key, _ => new ValueWithFlag <string> {
         Value = value.Value
     }, (k, v) =>
     {
         v.Value = value.Value;
         return(v);
     });
     try
     {
         _remoteChanges.OnNext(value);
     }
     catch (Exception e)
     {
         _logger.Error(e, $"Error to publish remote changes settings event:{e.Message}");
     }
 }
 private Task SendUpdate(KeyValueData value, CancellationToken cancel)
 {
     return(Send <KeyValueData, PayloadVoid>(WellKnownDiag.DiagSettingsSetMethodName, value, DefaultTimeout, DefaultAttemptCount, cancel, null));
 }