From 1c32cd8a6893ab5590014fca855db76bc8e019fd Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Mon, 5 Aug 2013 16:16:16 -0700 Subject: [PATCH 01/14] accept a script filename in the send assignment packet --- assignment-server/src/main.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/assignment-server/src/main.cpp b/assignment-server/src/main.cpp index 6cf7ddc952..b828b9749a 100644 --- a/assignment-server/src/main.cpp +++ b/assignment-server/src/main.cpp @@ -10,13 +10,17 @@ #include #include +#include + #include #include #include const int MAX_PACKET_SIZE_BYTES = 1400; -struct Assignment {}; +struct Assignment { + QString scriptFilename; +}; int main(int argc, const char* argv[]) { @@ -35,13 +39,16 @@ int main(int argc, const char* argv[]) { while (true) { if (serverSocket.receive((sockaddr*) &senderSocket, &senderData, &receivedBytes)) { - // int numHeaderBytes = numBytesForPacketHeader(senderData); + int numHeaderBytes = numBytesForPacketHeader(senderData); if (senderData[0] == PACKET_TYPE_REQUEST_ASSIGNMENT) { // grab the FI assignment in the queue, if it exists if (assignmentQueue.size() > 0) { - // Assignment firstAssignment = assignmentQueue.front(); + Assignment firstAssignment = assignmentQueue.front(); assignmentQueue.pop(); + + QString scriptURL = QString("http://base8-compute.s3.amazonaws.com/%1").arg(firstAssignment.scriptFilename); + memcpy(assignmentPacket + numHeaderBytes, scriptURL.toLocal8Bit().constData(), scriptURL.size()); // send the assignment serverSocket.send((sockaddr*) &senderSocket, assignmentPacket, sizeof(assignmentPacket)); @@ -49,6 +56,11 @@ int main(int argc, const char* argv[]) { } else if (senderData[0] == PACKET_TYPE_SEND_ASSIGNMENT) { Assignment newAssignment; + senderData[receivedBytes] = '\0'; + newAssignment.scriptFilename = QString((const char*)senderData + numHeaderBytes); + + qDebug() << "Added an assignment with script with filename" << newAssignment.scriptFilename << "\n"; + // add this assignment to the queue assignmentQueue.push(newAssignment); } From 51f978196b70d509ffe54fb5574f702a7349b87c Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Mon, 5 Aug 2013 17:21:06 -0700 Subject: [PATCH 02/14] add back node type unassigned, fix sending of script URL --- assignment-server/src/main.cpp | 5 +++-- libraries/shared/src/Node.cpp | 2 ++ libraries/shared/src/NodeTypes.h | 1 + 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/assignment-server/src/main.cpp b/assignment-server/src/main.cpp index b828b9749a..a878e644c0 100644 --- a/assignment-server/src/main.cpp +++ b/assignment-server/src/main.cpp @@ -48,10 +48,11 @@ int main(int argc, const char* argv[]) { assignmentQueue.pop(); QString scriptURL = QString("http://base8-compute.s3.amazonaws.com/%1").arg(firstAssignment.scriptFilename); - memcpy(assignmentPacket + numHeaderBytes, scriptURL.toLocal8Bit().constData(), scriptURL.size()); + int scriptURLBytes = scriptURL.size(); + memcpy(assignmentPacket + numHeaderBytes, scriptURL.toLocal8Bit().constData(), scriptURLBytes); // send the assignment - serverSocket.send((sockaddr*) &senderSocket, assignmentPacket, sizeof(assignmentPacket)); + serverSocket.send((sockaddr*) &senderSocket, assignmentPacket, numHeaderBytes + scriptURLBytes); } } else if (senderData[0] == PACKET_TYPE_SEND_ASSIGNMENT) { Assignment newAssignment; diff --git a/libraries/shared/src/Node.cpp b/libraries/shared/src/Node.cpp index 7aebb0c022..c91626d99d 100644 --- a/libraries/shared/src/Node.cpp +++ b/libraries/shared/src/Node.cpp @@ -94,6 +94,8 @@ const char* Node::getTypeName() const { return NODE_TYPE_NAME_AUDIO_INJECTOR; case NODE_TYPE_ANIMATION_SERVER: return NODE_TYPE_NAME_ANIMATION_SERVER; + case NODE_TYPE_UNASSIGNED: + return NODE_TYPE_NAME_UNASSIGNED; default: return NODE_TYPE_NAME_UNKNOWN; } diff --git a/libraries/shared/src/NodeTypes.h b/libraries/shared/src/NodeTypes.h index aa4ae51ec5..a9deebf333 100644 --- a/libraries/shared/src/NodeTypes.h +++ b/libraries/shared/src/NodeTypes.h @@ -24,5 +24,6 @@ const NODE_TYPE NODE_TYPE_AUDIO_MIXER = 'M'; const NODE_TYPE NODE_TYPE_AVATAR_MIXER = 'W'; const NODE_TYPE NODE_TYPE_AUDIO_INJECTOR = 'A'; const NODE_TYPE NODE_TYPE_ANIMATION_SERVER = 'a'; +const NODE_TYPE NODE_TYPE_UNASSIGNED = 1; #endif From ed5c9f617d4bd6ae9b11b8800a318d335fbf1f52 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Mon, 5 Aug 2013 17:38:47 -0700 Subject: [PATCH 03/14] add the voxels library to the hifi podspec --- hifi.podspec | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hifi.podspec b/hifi.podspec index a14381ffb4..e721ada8f9 100644 --- a/hifi.podspec +++ b/hifi.podspec @@ -51,6 +51,11 @@ Pod::Spec.new do |s| sp.dependency 'glm' end + s.subspec "voxels" do |sp| + sp.source_files = 'libraries/voxels/src', 'libraries/voxels/moc_*' + sp.dependency 'glm' + end + s.xcconfig = { 'HEADER_SEARCH_PATHS' => '${PODS_ROOT}/../../qt5-device/qtbase/include' } s.libraries = 'libQtCoreCombined', 'libQt5Network', 'libQt5Script' From d1aad8c387bfff6af9963dc370fc74eff1295f86 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Mon, 5 Aug 2013 17:39:23 -0700 Subject: [PATCH 04/14] fix sleep interval in Agent.cpp so it isn't 0 --- libraries/avatars/src/Agent.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/avatars/src/Agent.cpp b/libraries/avatars/src/Agent.cpp index 156499430d..f1495ee082 100644 --- a/libraries/avatars/src/Agent.cpp +++ b/libraries/avatars/src/Agent.cpp @@ -55,7 +55,7 @@ void Agent::run(QUrl scriptURL) { timeval lastDomainServerCheckIn = {}; int numMicrosecondsSleep = 0; - const float DATA_SEND_INTERVAL_USECS = (1 / 60) * 1000 * 1000; + const float DATA_SEND_INTERVAL_USECS = (1 / 60.0f) * 1000 * 1000; sockaddr_in senderAddress; unsigned char receivedData[MAX_PACKET_SIZE]; From d3b2ba107072c0b7100690521f6fffbdaa1d6cc3 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Mon, 5 Aug 2013 17:40:01 -0700 Subject: [PATCH 05/14] fix QtCore includes in voxels library --- libraries/voxels/src/CoverageMap.cpp | 2 +- libraries/voxels/src/CoverageMapV2.cpp | 2 +- libraries/voxels/src/GeometryUtil.cpp | 2 +- libraries/voxels/src/JurisdictionMap.cpp | 6 +++--- libraries/voxels/src/JurisdictionMap.h | 2 +- libraries/voxels/src/ViewFrustum.cpp | 2 +- libraries/voxels/src/VoxelNode.cpp | 2 +- libraries/voxels/src/VoxelProjectedPolygon.cpp | 2 +- libraries/voxels/src/VoxelTree.cpp | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/libraries/voxels/src/CoverageMap.cpp b/libraries/voxels/src/CoverageMap.cpp index 634c67a71c..530581e5f5 100644 --- a/libraries/voxels/src/CoverageMap.cpp +++ b/libraries/voxels/src/CoverageMap.cpp @@ -8,7 +8,7 @@ #include -#include +#include #include diff --git a/libraries/voxels/src/CoverageMapV2.cpp b/libraries/voxels/src/CoverageMapV2.cpp index 0e382d7f12..1404dc5d15 100644 --- a/libraries/voxels/src/CoverageMapV2.cpp +++ b/libraries/voxels/src/CoverageMapV2.cpp @@ -9,7 +9,7 @@ #include #include -#include +#include #include diff --git a/libraries/voxels/src/GeometryUtil.cpp b/libraries/voxels/src/GeometryUtil.cpp index 894f43ee3c..3360f68cfa 100644 --- a/libraries/voxels/src/GeometryUtil.cpp +++ b/libraries/voxels/src/GeometryUtil.cpp @@ -7,7 +7,7 @@ #include -#include +#include #include diff --git a/libraries/voxels/src/JurisdictionMap.cpp b/libraries/voxels/src/JurisdictionMap.cpp index f67bbbabf7..b452c12d14 100644 --- a/libraries/voxels/src/JurisdictionMap.cpp +++ b/libraries/voxels/src/JurisdictionMap.cpp @@ -6,9 +6,9 @@ // Copyright (c) 2013 High Fidelity, Inc. All rights reserved. // -#include -#include -#include +#include +#include +#include #include "JurisdictionMap.h" #include "VoxelNode.h" diff --git a/libraries/voxels/src/JurisdictionMap.h b/libraries/voxels/src/JurisdictionMap.h index 6c7cc4f0ca..5caec75b39 100644 --- a/libraries/voxels/src/JurisdictionMap.h +++ b/libraries/voxels/src/JurisdictionMap.h @@ -10,7 +10,7 @@ #define __hifi__JurisdictionMap__ #include -#include +#include class JurisdictionMap { public: diff --git a/libraries/voxels/src/ViewFrustum.cpp b/libraries/voxels/src/ViewFrustum.cpp index ae48dbbe7d..f12608f5dd 100644 --- a/libraries/voxels/src/ViewFrustum.cpp +++ b/libraries/voxels/src/ViewFrustum.cpp @@ -12,7 +12,7 @@ #include -#include +#include #include "CoverageMap.h" #include "GeometryUtil.h" diff --git a/libraries/voxels/src/VoxelNode.cpp b/libraries/voxels/src/VoxelNode.cpp index 42b34dd542..7355e91243 100644 --- a/libraries/voxels/src/VoxelNode.cpp +++ b/libraries/voxels/src/VoxelNode.cpp @@ -10,7 +10,7 @@ #include #include -#include +#include #include diff --git a/libraries/voxels/src/VoxelProjectedPolygon.cpp b/libraries/voxels/src/VoxelProjectedPolygon.cpp index 8a39d7f358..a6336665ad 100644 --- a/libraries/voxels/src/VoxelProjectedPolygon.cpp +++ b/libraries/voxels/src/VoxelProjectedPolygon.cpp @@ -7,7 +7,7 @@ #include -#include +#include #include "GeometryUtil.h" #include "SharedUtil.h" diff --git a/libraries/voxels/src/VoxelTree.cpp b/libraries/voxels/src/VoxelTree.cpp index a327b561bb..c0fcee02dd 100644 --- a/libraries/voxels/src/VoxelTree.cpp +++ b/libraries/voxels/src/VoxelTree.cpp @@ -17,7 +17,7 @@ #include -#include +#include #include "CoverageMap.h" #include "GeometryUtil.h" From f3d6f1edd8d059201ec9c2fcff629baa87d03494 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Tue, 6 Aug 2013 11:04:13 -0700 Subject: [PATCH 06/14] add Q_PROPERTY hooks for yaw, pitch, roll, chatMessage --- libraries/avatars/src/AvatarData.h | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/libraries/avatars/src/AvatarData.h b/libraries/avatars/src/AvatarData.h index a9e14caaa6..2978d54f3e 100755 --- a/libraries/avatars/src/AvatarData.h +++ b/libraries/avatars/src/AvatarData.h @@ -41,7 +41,12 @@ enum KeyState class JointData; class AvatarData : public NodeData { - Q_OBJECT + Q_OBJECT + + Q_PROPERTY(float bodyYaw READ getBodyYaw WRITE setBodyYaw) + Q_PROPERTY(float bodyPitch READ getBodyPitch WRITE setBodyPitch) + Q_PROPERTY(float bodyRoll READ getBodyRoll WRITE setBodyRoll) + Q_PROPERTY(QString chatMessage READ getQStringChatMessage WRITE setChatMessage) public: AvatarData(Node* owningNode = NULL); ~AvatarData(); @@ -56,10 +61,12 @@ public: // Body Rotation float getBodyYaw() const { return _bodyYaw; } + void setBodyYaw(float bodyYaw) { _bodyYaw = bodyYaw; } float getBodyPitch() const { return _bodyPitch; } void setBodyPitch(float bodyPitch) { _bodyPitch = bodyPitch; } float getBodyRoll() const {return _bodyRoll; } void setBodyRoll(float bodyRoll) { _bodyRoll = bodyRoll; } + // Hand State void setHandState(char s) { _handState = s; }; @@ -89,7 +96,9 @@ public: // chat message void setChatMessage(const std::string& msg) { _chatMessage = msg; } - const std::string& chatMessage () const { return _chatMessage; } + void setChatMessage(const QString& string) { _chatMessage = string.toLocal8Bit().constData(); } + const std::string& setChatMessage() const { return _chatMessage; } + QString getQStringChatMessage() { return QString(_chatMessage.data()); } // related to Voxel Sending strategies bool getWantColor() const { return _wantColor; } @@ -107,7 +116,7 @@ public: public slots: void setPosition(float x, float y, float z) { _position = glm::vec3(x, y, z); } - void setBodyYaw(float bodyYaw) { _bodyYaw = bodyYaw; } + void setHandPosition(float x, float y, float z) { _position = glm::vec3(x, y, z); } void sendData(); protected: From b0783e4cce707ac639b76de63d954d165d5caf8e Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Tue, 6 Aug 2013 11:25:29 -0700 Subject: [PATCH 07/14] add Q_PROPERTY macro for position QVariantMap --- libraries/avatars/src/AvatarData.cpp | 14 ++++++++++++++ libraries/avatars/src/AvatarData.h | 5 ++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/libraries/avatars/src/AvatarData.cpp b/libraries/avatars/src/AvatarData.cpp index 1dd6a0787b..4df93de340 100644 --- a/libraries/avatars/src/AvatarData.cpp +++ b/libraries/avatars/src/AvatarData.cpp @@ -51,6 +51,20 @@ AvatarData::~AvatarData() { delete _handData; } +void AvatarData::setPositionFromVariantMap(QVariantMap positionMap) { + _position = glm::vec3(positionMap.value("x"), positionMap.value("y"), positionMap.value("z")); +} + +QVariantMap AvatarData::getPositionVariantMap() { + QVariantMap positionMap; + + positionMap.insert("x", _position.x); + positionMap.insert("y", _position.y); + positionMap.insert("z", _position.z); + + return positionMap; +} + void AvatarData::sendData() { // called from Agent visual loop to send data diff --git a/libraries/avatars/src/AvatarData.h b/libraries/avatars/src/AvatarData.h index 2978d54f3e..90a01954ad 100755 --- a/libraries/avatars/src/AvatarData.h +++ b/libraries/avatars/src/AvatarData.h @@ -43,6 +43,7 @@ class JointData; class AvatarData : public NodeData { Q_OBJECT + Q_PROPERTY(QVariantMap position READ getPositionVariantMap WRITE setPositionFromVariantMap) Q_PROPERTY(float bodyYaw READ getBodyYaw WRITE setBodyYaw) Q_PROPERTY(float bodyPitch READ getBodyPitch WRITE setBodyPitch) Q_PROPERTY(float bodyRoll READ getBodyRoll WRITE setBodyRoll) @@ -56,6 +57,9 @@ public: void setPosition (const glm::vec3 position ) { _position = position; } void setHandPosition (const glm::vec3 handPosition ) { _handPosition = handPosition; } + void setPositionFromVariantMap(QVariantMap positionMap); + QVariantMap getPositionVariantMap(); + int getBroadcastData(unsigned char* destinationBuffer); int parseData(unsigned char* sourceBuffer, int numBytes); @@ -115,7 +119,6 @@ public: void setHandData(HandData* handData) { _handData = handData; } public slots: - void setPosition(float x, float y, float z) { _position = glm::vec3(x, y, z); } void setHandPosition(float x, float y, float z) { _position = glm::vec3(x, y, z); } void sendData(); From d0330b0a28de7f19ca4a4fc0d9a22c7ebaa04286 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Tue, 6 Aug 2013 11:56:54 -0700 Subject: [PATCH 08/14] include QVariantMap in AvatarData, map values to floats for glm::vec3 --- libraries/avatars/src/AvatarData.cpp | 4 +++- libraries/avatars/src/AvatarData.h | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/libraries/avatars/src/AvatarData.cpp b/libraries/avatars/src/AvatarData.cpp index 4df93de340..f4a3ab8067 100644 --- a/libraries/avatars/src/AvatarData.cpp +++ b/libraries/avatars/src/AvatarData.cpp @@ -52,7 +52,9 @@ AvatarData::~AvatarData() { } void AvatarData::setPositionFromVariantMap(QVariantMap positionMap) { - _position = glm::vec3(positionMap.value("x"), positionMap.value("y"), positionMap.value("z")); + _position = glm::vec3(positionMap.value("x").toFloat(), + positionMap.value("y").toFloat(), + positionMap.value("z").toFloat()); } QVariantMap AvatarData::getPositionVariantMap() { diff --git a/libraries/avatars/src/AvatarData.h b/libraries/avatars/src/AvatarData.h index 90a01954ad..5d8b022e34 100755 --- a/libraries/avatars/src/AvatarData.h +++ b/libraries/avatars/src/AvatarData.h @@ -17,6 +17,7 @@ #include #include +#include #include #include "HeadData.h" From c0793146bdcfb5d387222f69dcef6dd850c9c1b1 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Wed, 7 Aug 2013 10:41:17 -0700 Subject: [PATCH 09/14] Avatar instance in JS should be referenced as Avatar --- libraries/avatars/src/Agent.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/avatars/src/Agent.cpp b/libraries/avatars/src/Agent.cpp index f1495ee082..25a0a21d68 100644 --- a/libraries/avatars/src/Agent.cpp +++ b/libraries/avatars/src/Agent.cpp @@ -42,7 +42,7 @@ void Agent::run(QUrl scriptURL) { AvatarData *testAvatarData = new AvatarData; QScriptValue avatarDataValue = engine.newQObject(testAvatarData); - engine.globalObject().setProperty("AvatarData", avatarDataValue); + engine.globalObject().setProperty("Avatar", avatarDataValue); QScriptValue agentValue = engine.newQObject(this); engine.globalObject().setProperty("Agent", agentValue); From 72b53ea089a55791f1fadbf603f8ed81b6029236 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Wed, 7 Aug 2013 10:41:32 -0700 Subject: [PATCH 10/14] add Q_PROPERTY for handPosition --- libraries/avatars/src/AvatarData.cpp | 18 +++++++++++++++++- libraries/avatars/src/AvatarData.h | 5 ++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/libraries/avatars/src/AvatarData.cpp b/libraries/avatars/src/AvatarData.cpp index 821cedb507..58e42ccfb7 100644 --- a/libraries/avatars/src/AvatarData.cpp +++ b/libraries/avatars/src/AvatarData.cpp @@ -1,4 +1,4 @@ -// +=// // AvatarData.cpp // hifi // @@ -68,6 +68,22 @@ QVariantMap AvatarData::getPositionVariantMap() { return positionMap; } +void AvatarData::setHandPositionFromVariantMap(QVariantMap handPositionMap) { + _handPosition = glm::vec3(handPositionMap.value("x").toFloat(), + handPositionMap.value("y").toFloat(), + handPositionMap.value("z").toFloat()); +} + +QVariantMap AvatarData::getHandPositionVariantMap() { + QVariantMap positionMap; + + positionMap.insert("x", _handPosition.x); + positionMap.insert("y", _handPosition.y); + positionMap.insert("z", _handPosition.z); + + return positionMap; +} + void AvatarData::sendData() { // called from Agent visual loop to send data diff --git a/libraries/avatars/src/AvatarData.h b/libraries/avatars/src/AvatarData.h index 2510260147..c3def00140 100755 --- a/libraries/avatars/src/AvatarData.h +++ b/libraries/avatars/src/AvatarData.h @@ -45,6 +45,7 @@ class AvatarData : public NodeData { Q_OBJECT Q_PROPERTY(QVariantMap position READ getPositionVariantMap WRITE setPositionFromVariantMap) + Q_PROPERTY(QVariantMap handPosition READ getHandPositionVariantMap WRITE setHandPositionFromVariantMap) Q_PROPERTY(float bodyYaw READ getBodyYaw WRITE setBodyYaw) Q_PROPERTY(float bodyPitch READ getBodyPitch WRITE setBodyPitch) Q_PROPERTY(float bodyRoll READ getBodyRoll WRITE setBodyRoll) @@ -61,6 +62,9 @@ public: void setPositionFromVariantMap(QVariantMap positionMap); QVariantMap getPositionVariantMap(); + void setHandPositionFromVariantMap(QVariantMap handPositionMap); + QVariantMap getHandPositionVariantMap(); + int getBroadcastData(unsigned char* destinationBuffer); int parseData(unsigned char* sourceBuffer, int numBytes); @@ -121,7 +125,6 @@ public: void setHandData(HandData* handData) { _handData = handData; } public slots: - void setHandPosition(float x, float y, float z) { _position = glm::vec3(x, y, z); } void sendData(); protected: From a6cf3be4c4e8b0dca31c9e4a857b3401d0f6900a Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Wed, 7 Aug 2013 15:52:04 -0700 Subject: [PATCH 11/14] only keep one assignment in assignment-server for demo --- assignment-server/src/main.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/assignment-server/src/main.cpp b/assignment-server/src/main.cpp index a878e644c0..ad6d3b9391 100644 --- a/assignment-server/src/main.cpp +++ b/assignment-server/src/main.cpp @@ -63,6 +63,12 @@ int main(int argc, const char* argv[]) { qDebug() << "Added an assignment with script with filename" << newAssignment.scriptFilename << "\n"; // add this assignment to the queue + + // we're not a queue right now, only keep one assignment + if (assignmentQueue.size() > 0) { + assignmentQueue.pop(); + } + assignmentQueue.push(newAssignment); } } From 94d270b3d5123cbf14cc47d9d545ef22828c1bb0 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Thu, 8 Aug 2013 11:21:39 -0700 Subject: [PATCH 12/14] remove equals at beginning of AvatarData --- libraries/avatars/src/AvatarData.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/avatars/src/AvatarData.cpp b/libraries/avatars/src/AvatarData.cpp index 58e42ccfb7..796e5e5884 100644 --- a/libraries/avatars/src/AvatarData.cpp +++ b/libraries/avatars/src/AvatarData.cpp @@ -1,4 +1,4 @@ -=// +// // AvatarData.cpp // hifi // From 287bead0b7c3fbde2f1c84b4ca81809a30dd9a91 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Thu, 8 Aug 2013 11:22:02 -0700 Subject: [PATCH 13/14] add extra debugging to assignment server --- assignment-server/src/main.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/assignment-server/src/main.cpp b/assignment-server/src/main.cpp index ad6d3b9391..0cb0eb84db 100644 --- a/assignment-server/src/main.cpp +++ b/assignment-server/src/main.cpp @@ -41,13 +41,17 @@ int main(int argc, const char* argv[]) { int numHeaderBytes = numBytesForPacketHeader(senderData); - if (senderData[0] == PACKET_TYPE_REQUEST_ASSIGNMENT) { + if (senderData[0] == PACKET_TYPE_REQUEST_ASSIGNMENT) { + qDebug() << "Assignment request received.\n"; // grab the FI assignment in the queue, if it exists if (assignmentQueue.size() > 0) { Assignment firstAssignment = assignmentQueue.front(); assignmentQueue.pop(); QString scriptURL = QString("http://base8-compute.s3.amazonaws.com/%1").arg(firstAssignment.scriptFilename); + + qDebug() << "Sending assignment with URL" << scriptURL << "\n"; + int scriptURLBytes = scriptURL.size(); memcpy(assignmentPacket + numHeaderBytes, scriptURL.toLocal8Bit().constData(), scriptURLBytes); From f60cbed7095438c0997c46e52fdc782c8c2911fe Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Thu, 8 Aug 2013 12:09:59 -0700 Subject: [PATCH 14/14] fix packet size of assignment packet --- assignment-server/src/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assignment-server/src/main.cpp b/assignment-server/src/main.cpp index 0cb0eb84db..374009b917 100644 --- a/assignment-server/src/main.cpp +++ b/assignment-server/src/main.cpp @@ -33,7 +33,7 @@ int main(int argc, const char* argv[]) { UDPSocket serverSocket(ASSIGNMENT_SERVER_PORT); int numHeaderBytes = numBytesForPacketHeader((unsigned char*) &PACKET_TYPE_SEND_ASSIGNMENT); - unsigned char assignmentPacket[numHeaderBytes + sizeof(char)]; + unsigned char assignmentPacket[MAX_PACKET_SIZE_BYTES]; populateTypeAndVersion(assignmentPacket, PACKET_TYPE_SEND_ASSIGNMENT); while (true) {