protected override async Task ProcessImpl() { RegisterWatch(this); var result = await _client.GetDataAsync(_path); if (result != null) { _action(_currentData, result); this.SetCurrentData(result); } }
private async Task <ServiceCommandDescriptor> GetServiceCommand(string path) { ServiceCommandDescriptor result = null; var watcher = new NodeMonitorWatcher(_consul, _manager, path, (oldData, newData) => NodeChange(oldData, newData)); var data = (await _consul.GetDataAsync(path)); watcher.SetCurrentData(data); result = GetServiceCommand(data); return(result); }
private async Task <ServiceSubscriber> GetSubscriber(string path) { ServiceSubscriber result = null; var queryResult = await _consul.KV.Keys(path); if (queryResult.Response != null) { var data = (await _consul.GetDataAsync(path)); result = await GetSubscriber(data); } return(result); }
private async Task <ServiceRoute> GetRoute(string path) { ServiceRoute result = null; var watcher = new NodeMonitorWatcher(_consul, _manager, path, async(oldData, newData) => await NodeChange(oldData, newData)); var data = (await _consul.GetDataAsync(path)); watcher.SetCurrentData(data); result = await GetRoute(data); return(result); }
protected override async Task ProcessImpl() { var watcher = new NodeMonitorWatcher(_client, _manager, _path, _action); RegisterWatch(watcher); var result = await _client.GetDataAsync(_path); if (result != null) { _action(_currentData, result); watcher.SetCurrentData(result); } }
private async Task <ServiceCache> GetCache(string path) { ServiceCache result = null; var watcher = new NodeMonitorWatcher(_consul, _manager, path, async(oldData, newData) => await NodeChange(oldData, newData)); var queryResult = await _consul.KV.Keys(path); if (queryResult.Response != null) { var data = (await _consul.GetDataAsync(path)); if (data != null) { watcher.SetCurrentData(data); result = await GetCache(data); } } return(result); }
private async Task <MqttServiceRoute> GetRoute(string path) { MqttServiceRoute result = null; var watcher = new NodeMonitorWatcher(_consul, _manager, path, async(oldData, newData) => await NodeChange(oldData, newData), tmpPath => { var index = tmpPath.LastIndexOf("/"); return(_serviceHeartbeatManager.ExistsWhitelist(tmpPath.Substring(index + 1))); }); var queryResult = await _consul.KV.Keys(path); if (queryResult.Response != null) { var data = (await _consul.GetDataAsync(path)); if (data != null) { watcher.SetCurrentData(data); result = await GetRoute(data); } } return(result); }