From a7bff474e30d8970c68a199fc1b25791be57a6a6 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Fri, 1 May 2015 15:18:49 -0700 Subject: [PATCH] use JSONBreakableMarshal in AC monitor to get QJsonObject --- assignment-client/src/AssignmentClientMonitor.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/assignment-client/src/AssignmentClientMonitor.cpp b/assignment-client/src/AssignmentClientMonitor.cpp index d591087acd..f058502cd3 100644 --- a/assignment-client/src/AssignmentClientMonitor.cpp +++ b/assignment-client/src/AssignmentClientMonitor.cpp @@ -11,8 +11,9 @@ #include -#include #include +#include +#include #include "AssignmentClientMonitor.h" #include "AssignmentClientApp.h" @@ -196,13 +197,9 @@ void AssignmentClientMonitor::readPendingDatagrams() { // update our records about how to reach this child matchingNode->setLocalSocket(senderSockAddr); - // push past the packet header - QDataStream packetStream(receivedPacket); - packetStream.skipRawData(numBytesForPacketHeader(receivedPacket)); - // decode json - QVariantMap unpackedVariantMap; - packetStream >> unpackedVariantMap; - QJsonObject unpackedStatsJSON = QJsonObject::fromVariantMap(unpackedVariantMap); + QVariantMap packetVariantMap = + JSONBreakableMarshal::fromStringBuffer(receivedPacket.mid(numBytesForPacketHeader(receivedPacket))); + QJsonObject unpackedStatsJSON = QJsonObject::fromVariantMap(packetVariantMap); // get child's assignment type out of the decoded json QString childType = unpackedStatsJSON["assignment_type"].toString();