mirror of
https://github.com/overte-org/overte.git
synced 2025-08-16 09:52:07 +02:00
Merge pull request #1538 from birarda/nodelist-container
don't return an iterator from killNodeAtHashIterator
This commit is contained in:
commit
106c8f9f22
3 changed files with 12 additions and 7 deletions
|
@ -55,7 +55,8 @@ void Agent::run() {
|
|||
// XXXBHG - this seems less than ideal. There might be classes (like jurisdiction listeners, that need access to
|
||||
// other node types, but for them to get access to those node types, we have to add them here. It seems like
|
||||
// NodeList should support adding types of interest
|
||||
const NODE_TYPE AGENT_NODE_TYPES_OF_INTEREST[] = { NODE_TYPE_VOXEL_SERVER, NODE_TYPE_PARTICLE_SERVER };
|
||||
const NODE_TYPE AGENT_NODE_TYPES_OF_INTEREST[] = { NODE_TYPE_VOXEL_SERVER, NODE_TYPE_PARTICLE_SERVER,
|
||||
NODE_TYPE_AUDIO_MIXER };
|
||||
|
||||
nodeList->setNodeTypesOfInterest(AGENT_NODE_TYPES_OF_INTEREST, sizeof(AGENT_NODE_TYPES_OF_INTEREST));
|
||||
|
||||
|
|
|
@ -274,7 +274,9 @@ void NodeList::clear() {
|
|||
|
||||
// iterate the nodes in the list
|
||||
while (nodeItem != _nodeHash.end()) {
|
||||
nodeItem = killNodeAtHashIterator(nodeItem);
|
||||
NodeHash::iterator previousNodeItem = nodeItem;
|
||||
++nodeItem;
|
||||
killNodeAtHashIterator(previousNodeItem);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -440,14 +442,13 @@ void NodeList::killNodeWithUUID(const QUuid& nodeUUID) {
|
|||
}
|
||||
}
|
||||
|
||||
NodeHash::iterator NodeList::killNodeAtHashIterator(NodeHash::iterator& nodeItemToKill) {
|
||||
void NodeList::killNodeAtHashIterator(NodeHash::iterator& nodeItemToKill) {
|
||||
qDebug() << "Killed" << *nodeItemToKill.value();
|
||||
emit nodeKilled(nodeItemToKill.value());
|
||||
|
||||
return _nodeHash.erase(nodeItemToKill);
|
||||
_nodeHash.erase(nodeItemToKill);
|
||||
}
|
||||
|
||||
|
||||
void NodeList::sendKillNode(const char* nodeTypes, int numNodeTypes) {
|
||||
unsigned char packet[MAX_PACKET_SIZE];
|
||||
unsigned char* packetPosition = packet;
|
||||
|
@ -790,7 +791,10 @@ 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)
|
||||
nodeItem = killNodeAtHashIterator(nodeItem);
|
||||
NodeHash::iterator previousNodeItem = nodeItem;
|
||||
++nodeItem;
|
||||
|
||||
killNodeAtHashIterator(previousNodeItem);
|
||||
} else {
|
||||
// we didn't kill this node, push the iterator forwards
|
||||
++nodeItem;
|
||||
|
|
|
@ -137,7 +137,7 @@ private:
|
|||
|
||||
void processKillNode(unsigned char* packetData, size_t dataBytes);
|
||||
|
||||
NodeHash::iterator killNodeAtHashIterator(NodeHash::iterator& nodeItemToKill);
|
||||
void killNodeAtHashIterator(NodeHash::iterator& nodeItemToKill);
|
||||
|
||||
NodeHash _nodeHash;
|
||||
QString _domainHostname;
|
||||
|
|
Loading…
Reference in a new issue