diff --git a/assignment-client/src/AssignmentClient.cpp b/assignment-client/src/AssignmentClient.cpp index d60885e2a7..e4b38258f0 100644 --- a/assignment-client/src/AssignmentClient.cpp +++ b/assignment-client/src/AssignmentClient.cpp @@ -17,11 +17,13 @@ #include #include +#include #include #include #include #include + #include "AssignmentFactory.h" #include "AssignmentThread.h" @@ -144,6 +146,11 @@ void AssignmentClient::readPendingDatagrams() { // start the deployed assignment AssignmentThread* workerThread = new AssignmentThread(_currentAssignment, this); + qDebug() << "workerThread->eventDispatcher()=" << workerThread->eventDispatcher(); + qDebug() << "thread()->eventDispatcher()=" << thread()->eventDispatcher(); + + //DebuggingEventDispatcher* debugDispatcher = new DebuggingEventDispatcher(workerThread); + connect(workerThread, &QThread::started, _currentAssignment.data(), &ThreadedAssignment::run); connect(_currentAssignment.data(), &ThreadedAssignment::finished, workerThread, &QThread::quit); connect(_currentAssignment.data(), &ThreadedAssignment::finished, @@ -162,6 +169,10 @@ void AssignmentClient::readPendingDatagrams() { // Starts an event loop, and emits workerThread->started() workerThread->start(); + + qDebug() << "workerThread->eventDispatcher()=" << workerThread->eventDispatcher(); + qDebug() << "thread()->eventDispatcher()=" << thread()->eventDispatcher(); + } else { qDebug() << "Received an assignment that could not be unpacked. Re-requesting."; } diff --git a/assignment-client/src/octree/OctreeServer.cpp b/assignment-client/src/octree/OctreeServer.cpp index 1a593f3be7..24d179b707 100644 --- a/assignment-client/src/octree/OctreeServer.cpp +++ b/assignment-client/src/octree/OctreeServer.cpp @@ -9,6 +9,7 @@ // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // +#include #include #include #include @@ -842,6 +843,9 @@ quint64 lastReadPendingDatagrams = usecTimestampNow(); quint64 lastProcessNodeData = usecTimestampNow(); void OctreeServer::readPendingDatagrams() { + qDebug() << "OctreeServer::readPendingDatagrams()... thread()->eventDispatcher()=" << thread()->eventDispatcher(); + + quint64 now = usecTimestampNow(); if ((now - lastReadPendingDatagrams) > 100000) { //qDebug() << "OctreeServer::readPendingDatagrams(): since lastReadPendingDatagrams=" << (now - lastReadPendingDatagrams) << "usecs"; @@ -969,7 +973,22 @@ qDebug() << "got a query..."; } +void OctreeServer::aboutToBlock() { + qDebug() << "OctreeServer::aboutToBlock()..."; +} + +void OctreeServer::awake() { + qDebug() << "OctreeServer::awake()..."; +} + void OctreeServer::run() { + + QAbstractEventDispatcher* eventDispatcher = thread()->eventDispatcher(); + qDebug() << "OctreeServer::run()... thread()->eventDispatcher()=" << eventDispatcher; + + connect(eventDispatcher, &QAbstractEventDispatcher::aboutToBlock, this, &OctreeServer::aboutToBlock); + connect(eventDispatcher, &QAbstractEventDispatcher::awake, this, &OctreeServer::awake); + _safeServerName = getMyServerName(); // Before we do anything else, create our tree... diff --git a/assignment-client/src/octree/OctreeServer.h b/assignment-client/src/octree/OctreeServer.h index 7427ee0dbe..1b57f3e63d 100644 --- a/assignment-client/src/octree/OctreeServer.h +++ b/assignment-client/src/octree/OctreeServer.h @@ -127,6 +127,8 @@ public slots: void nodeKilled(SharedNodePointer node); void sendStatsPacket(); void doNothing(); + void awake(); + void aboutToBlock(); protected: void parsePayload(); diff --git a/libraries/networking/src/ThreadedAssignment.cpp b/libraries/networking/src/ThreadedAssignment.cpp index 528c0b0ff3..d3de3cdd74 100644 --- a/libraries/networking/src/ThreadedAssignment.cpp +++ b/libraries/networking/src/ThreadedAssignment.cpp @@ -12,6 +12,7 @@ #include #include #include +#include #include "Logging.h" #include "SharedUtil.h" @@ -57,6 +58,9 @@ void ThreadedAssignment::commonInit(const QString& targetName, NodeType_t nodeTy connect(statsTimer, &QTimer::timeout, this, &ThreadedAssignment::sendStatsPacket); statsTimer->start(1000); } + + qDebug() << "ThreadedAssignment::commonInit()... thread()->eventDispatcher()=" << thread()->eventDispatcher(); + } void ThreadedAssignment::addPacketStatsAndSendStatsPacket(QJsonObject &statsObject) { @@ -79,6 +83,10 @@ void ThreadedAssignment::sendStatsPacket() { quint64 lastCheckIn = usecTimestampNow(); void ThreadedAssignment::checkInWithDomainServerOrExit() { + + qDebug() << "ThreadedAssignment::checkInWithDomainServerOrExit()... thread()->eventDispatcher()=" << thread()->eventDispatcher(); + + quint64 now = usecTimestampNow(); if ((now - lastCheckIn) > 100000) { //qDebug() << "ThreadedAssignment::checkInWithDomainServerOrExit(): since lastCheckIn=" << (now - lastCheckIn) << "usecs";