/// <summary> /// Gets adjacent nodes from settings and joins servers in ServerNodes. /// </summary> private void JoinNodes() { //Gets adjacents of all nodes var adjacentsOfServers = new SortedList <string, string>(); foreach (var server in _settings.Servers) { adjacentsOfServers.Add(server.Name, server.Adjacents); } //Join adjacents of all nodes foreach (var serverName in adjacentsOfServers.Keys) { //Create adjacent list ServerNodes[serverName].Adjacents = new SortedList <string, NGRIDServerNode>(); //Get adjacent names var adjacents = adjacentsOfServers[serverName].Split(','); //Add nodes as adjacent foreach (var adjacent in adjacents) { var trimmedAdjacentName = adjacent.Trim(); if (string.IsNullOrEmpty(trimmedAdjacentName)) { continue; } if (!ServerNodes.ContainsKey(trimmedAdjacentName)) { throw new NGRIDException("Adjacent server (" + trimmedAdjacentName + ") of server (" + serverName + ") can not be found in servers list."); } ServerNodes[serverName].Adjacents.Add(trimmedAdjacentName, ServerNodes[trimmedAdjacentName]); } } }
/// <summary> /// Sets ThisServerNode field according to _settings and ServerNodes /// </summary> private void SetCurrentServer() { if (ServerNodes.ContainsKey(_settings.ThisServerName)) { ThisServerNode = ServerNodes[_settings.ThisServerName]; } else { throw new NGRIDException("Current server is not defined in settings file."); } }
/// <summary> /// Sets ThisServerNode field according to _settings and ServerNodes /// </summary> private void SetCurrentServer() { if (ServerNodes.ContainsKey(_settings.ThisServerName)) { ThisServerNode = ServerNodes[_settings.ThisServerName]; } //else //{ // throw new MDSException("Current server is not defined in settings file."); //} }