switch back to returning iterator from killNodeAtHashIterator

This commit is contained in:
Stephen Birarda 2014-01-17 15:13:56 -08:00
parent bb41fe6ddb
commit 3355b71d6b
2 changed files with 5 additions and 10 deletions

View file

@ -276,9 +276,7 @@ void NodeList::clear() {
// iterate the nodes in the list
while (nodeItem != _nodeHash.end()) {
NodeHash::iterator previousNodeItem = nodeItem;
++nodeItem;
killNodeAtHashIterator(previousNodeItem);
nodeItem = killNodeAtHashIterator(nodeItem);
}
}
@ -444,10 +442,10 @@ void NodeList::killNodeWithUUID(const QUuid& nodeUUID) {
}
}
void NodeList::killNodeAtHashIterator(NodeHash::iterator& nodeItemToKill) {
NodeHash::iterator NodeList::killNodeAtHashIterator(NodeHash::iterator& nodeItemToKill) {
qDebug() << "Killed" << *nodeItemToKill.value();
emit nodeKilled(nodeItemToKill.value());
_nodeHash.erase(nodeItemToKill);
return _nodeHash.erase(nodeItemToKill);
}
void NodeList::sendKillNode(const char* nodeTypes, int numNodeTypes) {
@ -790,10 +788,7 @@ void NodeList::removeSilentNodes() {
if ((usecTimestampNow() - node->getLastHeardMicrostamp()) > NODE_SILENCE_THRESHOLD_USECS) {
// call our private method to kill this node (removes it and emits the right signal)
NodeHash::iterator previousNodeItem = nodeItem;
++nodeItem;
killNodeAtHashIterator(previousNodeItem);
nodeItem = killNodeAtHashIterator(nodeItem);
} else {
// we didn't kill this node, push the iterator forwards
++nodeItem;

View file

@ -140,7 +140,7 @@ private:
void processSTUNResponse(unsigned char* packetData, size_t dataBytes);
void processKillNode(unsigned char* packetData, size_t dataBytes);
void killNodeAtHashIterator(NodeHash::iterator& nodeItemToKill);
NodeHash::iterator killNodeAtHashIterator(NodeHash::iterator& nodeItemToKill);
NodeHash _nodeHash;
QString _domainHostname;