Showing the changes to libraries/networking/src/ThreadedAssignment.cpp (1 of 4 files). Show all
Unified · Split
| @@ -30,6 +30,10 @@ ThreadedAssignment::ThreadedAssignment(ReceivedMessage& message) : · 29 unmodified lines | ||
| 30 | 30 | |
| 31 | 31 | connect(&_domainServerTimer, &QTimer::timeout, this, &ThreadedAssignment::checkInWithDomainServerOrExit); |
| 32 | 32 | _domainServerTimer.setInterval(DOMAIN_SERVER_CHECK_IN_MSECS); |
| 33 | + | |
| 34 | + // if the NL tells us we got a DS response, clear our member variable of queued check-ins | |
| 35 | + auto nodeList = DependencyManager::get<NodeList>(); | |
| 36 | + connect(nodeList.data(), &NodeList::receivedDomainServerList, this, &ThreadedAssignment::clearQueuedCheckIns); | |
| 33 | 37 | } |
| 34 | 38 | |
| 35 | 39 | void ThreadedAssignment::setFinished(bool isFinished) { |
| @@ -103,11 +107,18 @@ void ThreadedAssignment::sendStatsPacket() { · 67 unmodified lines | ||
| 103 | 107 | } |
| 104 | 108 | |
| 105 | 109 | void ThreadedAssignment::checkInWithDomainServerOrExit() { |
| 106 | − if (DependencyManager::get<NodeList>()->getNumNoReplyDomainCheckIns() == MAX_SILENT_DOMAIN_SERVER_CHECK_INS) { | |
| 110 | + qDebug() << "WE ARE AT" << _numQueuedCheckIns << "queued check-ins"; | |
| 111 | + | |
| 112 | + // verify that the number of queued check-ins is not >= our max | |
| 113 | + // the number of queued check-ins is cleared anytime we get a response from the domain-server | |
| 114 | + if (_numQueuedCheckIns >= MAX_SILENT_DOMAIN_SERVER_CHECK_INS) { | |
| 107 | 115 | setFinished(true); |
| 108 | 116 | } else { |
| 109 | 117 | auto nodeList = DependencyManager::get<NodeList>(); |
| 110 | 118 | QMetaObject::invokeMethod(nodeList.data(), "sendDomainServerCheckIn"); |
| 119 | + | |
| 120 | + // increase the number of queued check ins | |
| 121 | + _numQueuedCheckIns++; | |
| 111 | 122 | } |
| 112 | 123 | } |
| 113 | 124 | |