Fix removing all downstream nodes in settings not killing nodes

This commit is contained in:
Ryan Huffman 2017-06-15 14:25:21 -07:00 committed by Stephen Birarda
parent 8f154321a4
commit 330a27b3a0

View file

@ -2227,11 +2227,12 @@ static const QString REPLICATION_SETTINGS_KEY = "replication";
void DomainServer::updateDownstreamNodes() { void DomainServer::updateDownstreamNodes() {
auto settings = _settingsManager.getSettingsMap(); auto settings = _settingsManager.getSettingsMap();
if (settings.contains(REPLICATION_SETTINGS_KEY)) { if (settings.contains(REPLICATION_SETTINGS_KEY)) {
auto nodeList = DependencyManager::get<LimitedNodeList>();
std::vector<HifiSockAddr> downstreamNodesInSettings;
auto replicationSettings = settings.value(REPLICATION_SETTINGS_KEY).toMap(); auto replicationSettings = settings.value(REPLICATION_SETTINGS_KEY).toMap();
if (replicationSettings.contains("downstream_servers")) { if (replicationSettings.contains("downstream_servers")) {
auto serversSettings = replicationSettings.value("downstream_servers").toList(); auto serversSettings = replicationSettings.value("downstream_servers").toList();
auto nodeList = DependencyManager::get<LimitedNodeList>();
std::vector<HifiSockAddr> knownDownstreamNodes; std::vector<HifiSockAddr> knownDownstreamNodes;
nodeList->eachNode([&](const SharedNodePointer& otherNode) { nodeList->eachNode([&](const SharedNodePointer& otherNode) {
if (NodeType::isDownstream(otherNode->getType())) { if (NodeType::isDownstream(otherNode->getType())) {
@ -2239,8 +2240,6 @@ void DomainServer::updateDownstreamNodes() {
} }
}); });
std::vector<HifiSockAddr> downstreamNodesInSettings;
for (auto& server : serversSettings) { for (auto& server : serversSettings) {
auto downstreamServer = server.toMap(); auto downstreamServer = server.toMap();
@ -2277,6 +2276,7 @@ void DomainServer::updateDownstreamNodes() {
} }
} }
}
std::vector<SharedNodePointer> nodesToKill; std::vector<SharedNodePointer> nodesToKill;
nodeList->eachNode([&](const SharedNodePointer& otherNode) { nodeList->eachNode([&](const SharedNodePointer& otherNode) {
if (NodeType::isDownstream(otherNode->getType())) { if (NodeType::isDownstream(otherNode->getType())) {
@ -2292,7 +2292,6 @@ void DomainServer::updateDownstreamNodes() {
handleKillNode(node); handleKillNode(node);
} }
} }
}
} }
void DomainServer::updateReplicatedNodes() { void DomainServer::updateReplicatedNodes() {