From 7d278300647a66805e510dfb20c1498fdf72a6ba Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Wed, 29 Jan 2014 14:23:39 -0800 Subject: [PATCH] domain-server patches while looking for payload/pool errors --- domain-server/src/DomainServer.cpp | 8 ++++---- libraries/shared/src/Assignment.cpp | 8 +------- libraries/shared/src/Assignment.h | 3 +-- 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/domain-server/src/DomainServer.cpp b/domain-server/src/DomainServer.cpp index 6e4a4cdff4..b4ec326d37 100644 --- a/domain-server/src/DomainServer.cpp +++ b/domain-server/src/DomainServer.cpp @@ -575,7 +575,7 @@ void DomainServer::prepopulateStaticAssignmentFile() { Assignment voxelServerAssignment(Assignment::CreateCommand, Assignment::VoxelServerType, - (assignmentPool.isEmpty() ? NULL : assignmentPool.toLocal8Bit().constData())); + assignmentPool); voxelServerAssignment.setPayload(config.toUtf8()); @@ -615,8 +615,8 @@ void DomainServer::prepopulateStaticAssignmentFile() { } Assignment particleServerAssignment(Assignment::CreateCommand, - Assignment::ParticleServerType, - (assignmentPool.isEmpty() ? NULL : assignmentPool.toLocal8Bit().constData())); + Assignment::ParticleServerType, + assignmentPool); particleServerAssignment.setPayload(config.toLocal8Bit()); @@ -689,7 +689,7 @@ Assignment* DomainServer::deployableAssignmentForRequest(Assignment& requestAssi bool assignmentTypesMatch = (*assignment)->getType() == requestAssignment.getType(); bool nietherHasPool = (*assignment)->getPool().isEmpty() && requestAssignment.getPool().isEmpty(); bool assignmentPoolsMatch = (*assignment)->getPool() == requestAssignment.getPool(); - + if ((requestIsAllTypes || assignmentTypesMatch) && (nietherHasPool || assignmentPoolsMatch)) { Assignment* deployableAssignment = *assignment; diff --git a/libraries/shared/src/Assignment.cpp b/libraries/shared/src/Assignment.cpp index 2bff4ddcd0..76ee4b04cf 100644 --- a/libraries/shared/src/Assignment.cpp +++ b/libraries/shared/src/Assignment.cpp @@ -14,9 +14,6 @@ #include "Assignment.h" -const char IPv4_ADDRESS_DESIGNATOR = 4; -const char IPv6_ADDRESS_DESIGNATOR = 6; - Assignment::Type Assignment::typeForNodeType(NodeType_t nodeType) { switch (nodeType) { case NodeType::AudioMixer: @@ -95,10 +92,7 @@ Assignment::Assignment(const QByteArray& packet) : } packetStream >> _pool; - - if (!packetStream.atEnd()) { - _payload = packet.mid(packetStream.device()->pos()); - } + packetStream >> _payload; } #ifdef WIN32 diff --git a/libraries/shared/src/Assignment.h b/libraries/shared/src/Assignment.h index 418ea7fe09..fb69271db3 100644 --- a/libraries/shared/src/Assignment.h +++ b/libraries/shared/src/Assignment.h @@ -20,7 +20,6 @@ #include "NodeList.h" const int MAX_PAYLOAD_BYTES = 1024; -const int MAX_ASSIGNMENT_POOL_BYTES = 64 + sizeof('\0'); const QString emptyPool = QString(); @@ -76,7 +75,7 @@ public: Assignment::Location getLocation() const { return _location; } const QByteArray& getPayload() const { return _payload; } - void setPayload(const QByteArray& payload) { _payload = payload; } + void setPayload(const QByteArray& payload) { _payload = payload.left(MAX_PAYLOAD_BYTES); } void setPool(const QString& pool) { _pool = pool; }; const QString& getPool() const { return _pool; }