From 3cb4be6c021b70cacc72b2b698b81dec35ec5586 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Tue, 14 Jul 2015 17:04:45 -0700 Subject: [PATCH] fix order of setup at startup --- assignment-client/src/AssignmentClient.cpp | 8 ++++---- assignment-client/src/AssignmentClientApp.cpp | 6 +++--- libraries/networking/src/DomainHandler.cpp | 6 ------ libraries/networking/src/NodeList.cpp | 4 ++++ libraries/networking/src/PacketReceiver.cpp | 2 +- 5 files changed, 12 insertions(+), 14 deletions(-) diff --git a/assignment-client/src/AssignmentClient.cpp b/assignment-client/src/AssignmentClient.cpp index 926a0da786..71a90d2c53 100644 --- a/assignment-client/src/AssignmentClient.cpp +++ b/assignment-client/src/AssignmentClient.cpp @@ -49,11 +49,11 @@ AssignmentClient::AssignmentClient(Assignment::Type requestAssignmentType, QStri LogUtils::init(); QSettings::setDefaultFormat(QSettings::IniFormat); - - // create a NodeList as an unassigned client - DependencyManager::registerInheritance(); + auto addressManager = DependencyManager::set(); - auto nodeList = DependencyManager::set(NodeType::Unassigned); // Order is important + + // create a NodeList as an unassigned client, must be after addressManager + auto nodeList = DependencyManager::set(NodeType::Unassigned); auto animationCache = DependencyManager::set(); auto avatarHashMap = DependencyManager::set(); diff --git a/assignment-client/src/AssignmentClientApp.cpp b/assignment-client/src/AssignmentClientApp.cpp index 796e8ed3b0..7268f9281b 100644 --- a/assignment-client/src/AssignmentClientApp.cpp +++ b/assignment-client/src/AssignmentClientApp.cpp @@ -184,15 +184,15 @@ AssignmentClientApp::AssignmentClientApp(int argc, char* argv[]) : DependencyManager::registerInheritance(); if (numForks || minForks || maxForks) { - AssignmentClientMonitor* monitor = new AssignmentClientMonitor(numForks, minForks, maxForks, + AssignmentClientMonitor* monitor = new AssignmentClientMonitor(numForks, minForks, maxForks, requestAssignmentType, assignmentPool, - walletUUID, assignmentServerHostname, + walletUUID, assignmentServerHostname, assignmentServerPort); monitor->setParent(this); connect(this, &QCoreApplication::aboutToQuit, monitor, &AssignmentClientMonitor::aboutToQuit); } else { AssignmentClient* client = new AssignmentClient(requestAssignmentType, assignmentPool, - walletUUID, assignmentServerHostname, + walletUUID, assignmentServerHostname, assignmentServerPort, monitorPort); client->setParent(this); connect(this, &QCoreApplication::aboutToQuit, client, &AssignmentClient::aboutToQuit); diff --git a/libraries/networking/src/DomainHandler.cpp b/libraries/networking/src/DomainHandler.cpp index 20d13169a3..643d55ae6f 100644 --- a/libraries/networking/src/DomainHandler.cpp +++ b/libraries/networking/src/DomainHandler.cpp @@ -38,12 +38,6 @@ DomainHandler::DomainHandler(QObject* parent) : { // if we get a socket that make sure our NetworkPeer ping timer stops connect(this, &DomainHandler::completedSocketDiscovery, &_icePeer, &NetworkPeer::stopPingTimer); - - auto& packetReceiver = DependencyManager::get()->getPacketReceiver(); - - packetReceiver.registerListener(PacketType::ICEServerPeerInformation, this, "processICEResponsePacket"); - packetReceiver.registerListener(PacketType::DomainServerRequireDTLS, this, "processDTLSRequirementPacket"); - packetReceiver.registerListener(PacketType::ICEPingReply, this, "processICEPingReplyPacket"); } void DomainHandler::clearConnectionInfo() { diff --git a/libraries/networking/src/NodeList.cpp b/libraries/networking/src/NodeList.cpp index 9d0e6d566e..87aad0630e 100644 --- a/libraries/networking/src/NodeList.cpp +++ b/libraries/networking/src/NodeList.cpp @@ -101,6 +101,10 @@ NodeList::NodeList(char newOwnerType, unsigned short socketListenPort, unsigned packetReceiver.registerListener(PacketType::Ping, this, "processPingPacket"); packetReceiver.registerListener(PacketType::PingReply, this, "processPingReplyPacket"); packetReceiver.registerListener(PacketType::ICEPing, this, "processICEPingPacket"); + + packetReceiver.registerListener(PacketType::ICEServerPeerInformation, &_domainHandler, "processICEResponsePacket"); + packetReceiver.registerListener(PacketType::DomainServerRequireDTLS, &_domainHandler, "processDTLSRequirementPacket"); + packetReceiver.registerListener(PacketType::ICEPingReply, &_domainHandler, "processICEPingReplyPacket"); } qint64 NodeList::sendStats(const QJsonObject& statsObject, const HifiSockAddr& destination) { diff --git a/libraries/networking/src/PacketReceiver.cpp b/libraries/networking/src/PacketReceiver.cpp index 462678d76a..f9fe5a9c23 100644 --- a/libraries/networking/src/PacketReceiver.cpp +++ b/libraries/networking/src/PacketReceiver.cpp @@ -104,7 +104,7 @@ QMetaMethod PacketReceiver::matchingMethodForListener(PacketType::Value type, QO << possibleSignatures.toList() << "- but such a method was not found."; } - Q_ASSERT(methodIndex >= 0); + assert(methodIndex >= 0); // return the converted QMetaMethod if (methodIndex >= 0) {