From df24fafe49c2ae3563ab9a54b513a680baf41165 Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Wed, 16 Dec 2015 11:28:26 -0800 Subject: [PATCH] CR feedback --- assignment-client/src/octree/OctreeServer.cpp | 17 +++++++++++------ assignment-client/src/octree/OctreeServer.h | 6 +++++- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/assignment-client/src/octree/OctreeServer.cpp b/assignment-client/src/octree/OctreeServer.cpp index acc9537a56..9cb809f48f 100644 --- a/assignment-client/src/octree/OctreeServer.cpp +++ b/assignment-client/src/octree/OctreeServer.cpp @@ -868,6 +868,16 @@ void OctreeServer::parsePayload() { } } +OctreeServer::UniqueSendThread OctreeServer::createSendThread(const SharedNodePointer& node) { + auto sendThread = std::unique_ptr(new OctreeSendThread(this, node)); + + // we want to be notified when the thread finishes + connect(sendThread.get(), &GenericThread::finished, this, &OctreeServer::removeSendThread); + sendThread->initialize(true); + + return sendThread; +} + void OctreeServer::removeSendThread() { auto sendThread = static_cast(sender()); @@ -884,12 +894,7 @@ void OctreeServer::handleOctreeQueryPacket(QSharedPointer messa auto it = _sendThreads.find(senderNode->getUUID()); if (it == _sendThreads.end() || it->second->isShuttingDown()) { - auto sendThread = std::unique_ptr(new OctreeSendThread(this, senderNode)); - - // we want to be notified when the thread finishes - connect(sendThread.get(), &GenericThread::finished, this, &OctreeServer::removeSendThread); - sendThread->initialize(true); - _sendThreads.emplace(senderNode->getUUID(), std::move(sendThread)); + _sendThreads.emplace(senderNode->getUUID(), createSendThread(senderNode)); } } } diff --git a/assignment-client/src/octree/OctreeServer.h b/assignment-client/src/octree/OctreeServer.h index 98f6c79893..2aabb97428 100644 --- a/assignment-client/src/octree/OctreeServer.h +++ b/assignment-client/src/octree/OctreeServer.h @@ -140,6 +140,9 @@ private slots: void removeSendThread(); protected: + using UniqueSendThread = std::unique_ptr; + using SendThreads = std::unordered_map; + virtual OctreePointer createTree() = 0; bool readOptionBool(const QString& optionName, const QJsonObject& settingsSectionObject, bool& result); bool readOptionInt(const QString& optionName, const QJsonObject& settingsSectionObject, int& result); @@ -153,6 +156,8 @@ protected: QString getFileLoadTime(); QString getConfiguration(); QString getStatusLink(); + + UniqueSendThread createSendThread(const SharedNodePointer& node); int _argc; const char** _argv; @@ -191,7 +196,6 @@ protected: quint64 _startedUSecs; QString _safeServerName; - using SendThreads = std::unordered_map>; SendThreads _sendThreads; static int _clientCount;