History

Add disable domain port auto discovery by assignment client option.

Kalila L committed 5 years ago

Commit 2d4da7b1 parent 78ab7a68 files · +62 −31Browse files

Showing the changes to assignment-client/src/AssignmentClient.cpp (1 of 8 files). Show all

Unified · Split

assignment-client/src/AssignmentClient.cpp+16−8
@@ -44,7 +44,8 @@ const long long ASSIGNMENT_REQUEST_INTERVAL_MSECS = 1 * 1000; · 43 unmodified lines
4444
4545 AssignmentClient::AssignmentClient(Assignment::Type requestAssignmentType, QString assignmentPool,
4646 quint16 listenPort, QUuid walletUUID, QString assignmentServerHostname,
47− quint16 assignmentServerPort, quint16 assignmentMonitorPort) :
47+ quint16 assignmentServerPort, quint16 assignmentMonitorPort,
48+ bool disableDomainPortAutoDiscovery) :
4849 _assignmentServerHostname(DEFAULT_ASSIGNMENT_SERVER_HOSTNAME)
4950 {
5051 LogUtils::init();
@@ -89,6 +90,13 @@ AssignmentClient::AssignmentClient(Assignment::Type requestAssignmentType, QStri · 38 unmodified lines
8990 _assignmentServerSocket.setObjectName("AssignmentServer");
9091 nodeList->setAssignmentServerSocket(_assignmentServerSocket);
9192
93+ if (disableDomainPortAutoDiscovery == true) {
94+ _disableDomainPortAutoDiscovery = disableDomainPortAutoDiscovery;
95+ qCDebug(assignment_client) << "Disabling domain port auto discovery by the assignment client due to parsed command line parameter.";
96+ }
97+
98+ nodeList->setDomainPortAutoDiscovery(_disableDomainPortAutoDiscovery);
99+
92100 qCDebug(assignment_client) << "Assignment server socket is" << _assignmentServerSocket;
93101
94102 // call a timer function every ASSIGNMENT_REQUEST_INTERVAL_MSECS to ask for assignment, if required
@@ -164,7 +172,7 @@ void AssignmentClient::setUpStatusToMonitor() { · 69 unmodified lines
164172 void AssignmentClient::sendStatusPacketToACM() {
165173 // tell the assignment client monitor what this assignment client is doing (if anything)
166174 auto nodeList = DependencyManager::get<NodeList>();
167−
175+
168176 quint8 assignmentType = Assignment::Type::AllTypes;
169177
170178 if (_currentAssignment) {
@@ -175,7 +183,7 @@ void AssignmentClient::sendStatusPacketToACM() { · 4 unmodified lines
175183
176184 statusPacket->write(_childAssignmentUUID.toRfc4122());
177185 statusPacket->writePrimitive(assignmentType);
178−
186+
179187 nodeList->sendPacket(std::move(statusPacket), _assignmentClientMonitorSocket);
180188 }
181189
@@ -185,7 +193,7 @@ void AssignmentClient::sendAssignmentRequest() { · 3 unmodified lines
185193
186194 auto nodeList = DependencyManager::get<NodeList>();
187195
188− if (_assignmentServerHostname == "localhost") {
196+ if (_assignmentServerHostname == "localhost" && _disableDomainPortAutoDiscovery == false) {
189197 // we want to check again for the local domain-server port in case the DS has restarted
190198 quint16 localAssignmentServerPort;
191199 if (nodeList->getLocalServerPortFromSharedMemory(DOMAIN_SERVER_LOCAL_PORT_SMEM_KEY, localAssignmentServerPort)) {
@@ -270,10 +278,10 @@ void AssignmentClient::handleCreateAssignmentPacket(QSharedPointer<ReceivedMessa · 78 unmodified lines
270278
271279 void AssignmentClient::handleStopNodePacket(QSharedPointer<ReceivedMessage> message) {
272280 const HifiSockAddr& senderSockAddr = message->getSenderSockAddr();
273−
281+
274282 if (senderSockAddr.getAddress() == QHostAddress::LocalHost ||
275283 senderSockAddr.getAddress() == QHostAddress::LocalHostIPv6) {
276−
284+
277285 qCDebug(assignment_client) << "AssignmentClientMonitor at" << senderSockAddr << "requested stop via PacketType::StopNode.";
278286 QCoreApplication::quit();
279287 } else {
@@ -307,7 +315,7 @@ void AssignmentClient::handleAuthenticationRequest() { · 27 unmodified lines
307315
308316 void AssignmentClient::assignmentCompleted() {
309317 crash::annotations::setShutdownState(true);
310−
318+
311319 // we expect that to be here the previous assignment has completely cleaned up
312320 assert(_currentAssignment.isNull());
313321
@@ -328,6 +336,6 @@ void AssignmentClient::assignmentCompleted() { · 14 unmodified lines
328336 nodeList->setOwnerType(NodeType::Unassigned);
329337 nodeList->reset("Assignment completed");
330338 nodeList->resetNodeInterestSet();
331−
339+
332340 _isAssigned = false;
333341 }