diff --git a/assignment-client/src/assets/AssetServer.cpp b/assignment-client/src/assets/AssetServer.cpp index 9085828d88..347e79fd5c 100644 --- a/assignment-client/src/assets/AssetServer.cpp +++ b/assignment-client/src/assets/AssetServer.cpp @@ -140,6 +140,13 @@ void AssetServer::handleAssetGet(QSharedPointer packet, SharedNodePoin void AssetServer::handleAssetUpload(QSharedPointer packetList, SharedNodePointer senderNode) { + auto data = packetList->getMessage(); + QBuffer buffer { &data }; + buffer.open(QIODevice::ReadOnly); + + MessageID messageID; + buffer.read(reinterpret_cast(&messageID), sizeof(messageID)); + if (!senderNode->getCanRez()) { // this is a node the domain told us is not allowed to rez entities // for now this also means it isn't allowed to add assets @@ -147,10 +154,8 @@ void AssetServer::handleAssetUpload(QSharedPointer packetList, Sha auto permissionErrorPacket = NLPacket::create(PacketType::AssetUploadReply, sizeof(MessageID) + sizeof(AssetServerError)); - MessageID defaultMessageID; - - // write the default message ID and permission denied error - permissionErrorPacket->writePrimitive(defaultMessageID); + // write the message ID and a permission denied error + permissionErrorPacket->writePrimitive(messageID); permissionErrorPacket->writePrimitive(AssetServerError::PERMISSION_DENIED); // send off the packet @@ -160,13 +165,6 @@ void AssetServer::handleAssetUpload(QSharedPointer packetList, Sha // return so we're not attempting to handle upload return; } - - auto data = packetList->getMessage(); - QBuffer buffer { &data }; - buffer.open(QIODevice::ReadOnly); - - MessageID messageID; - buffer.read(reinterpret_cast(&messageID), sizeof(messageID)); uint8_t extensionLength; buffer.read(reinterpret_cast(&extensionLength), sizeof(extensionLength)); diff --git a/interface/src/Menu.h b/interface/src/Menu.h index 948e159b04..7dfd1bc8d8 100644 --- a/interface/src/Menu.h +++ b/interface/src/Menu.h @@ -288,7 +288,7 @@ namespace MenuOption { const QString ToolWindow = "Tool Window"; const QString TransmitterDrive = "Transmitter Drive"; const QString TurnWithHead = "Turn using Head"; - const QString UploadAsset = "Upload File to Local Asset Server"; + const QString UploadAsset = "Upload File to Asset Server"; const QString UseAudioForMouth = "Use Audio for Mouth"; const QString UseCamera = "Use Camera"; const QString VelocityFilter = "Velocity Filter"; diff --git a/libraries/networking/src/udt/Connection.cpp b/libraries/networking/src/udt/Connection.cpp index 1fa4111f85..61e2ac2cdf 100644 --- a/libraries/networking/src/udt/Connection.cpp +++ b/libraries/networking/src/udt/Connection.cpp @@ -655,6 +655,7 @@ void Connection::processTimeoutNAK(std::unique_ptr controlPacket) } void Connection::resetReceiveState() { + // reset all SequenceNumber member variables back to default SequenceNumber defaultSequenceNumber; @@ -665,6 +666,9 @@ void Connection::resetReceiveState() { _lastSentACK = defaultSequenceNumber; + // clear the sent ACKs + _sentACKs.clear(); + // clear the loss list and _lastNAKTime _lossList.clear(); _lastNAKTime = high_resolution_clock::time_point();