From 3a9aedea68daf7ace5d86c9b848916db0a1e7f27 Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Thu, 30 Jul 2015 15:56:42 -0700 Subject: [PATCH] Fix packet ctors size param --- libraries/networking/src/NLPacket.cpp | 25 ++----------------------- libraries/networking/src/NLPacket.h | 3 +-- libraries/networking/src/udt/Packet.cpp | 2 +- 3 files changed, 4 insertions(+), 26 deletions(-) diff --git a/libraries/networking/src/NLPacket.cpp b/libraries/networking/src/NLPacket.cpp index a5e7feb6f5..146054ccc7 100644 --- a/libraries/networking/src/NLPacket.cpp +++ b/libraries/networking/src/NLPacket.cpp @@ -25,16 +25,7 @@ int NLPacket::maxPayloadSize(PacketType type, bool isPartOfMessage) { } std::unique_ptr NLPacket::create(PacketType type, qint64 size, bool isReliable, bool isPartOfMessage) { - std::unique_ptr packet; - - if (size == -1) { - packet = std::unique_ptr(new NLPacket(type, isReliable, isPartOfMessage)); - } else { - // Fail with invalid size - Q_ASSERT(size >= 0); - - packet = std::unique_ptr(new NLPacket(type, size, isReliable, isPartOfMessage)); - } + auto packet = std::unique_ptr(new NLPacket(type, size, isReliable, isPartOfMessage)); packet->open(QIODevice::ReadWrite); @@ -70,23 +61,11 @@ std::unique_ptr NLPacket::createCopy(const NLPacket& other) { return std::unique_ptr(new NLPacket(other)); } -NLPacket::NLPacket(PacketType type, bool isReliable, bool isPartOfMessage) : - Packet(-1, isReliable, isPartOfMessage), - _type(type), - _version(versionForPacketType(type)) -{ - adjustPayloadStartAndCapacity(NLPacket::localHeaderSize(_type)); - - writeTypeAndVersion(); -} - NLPacket::NLPacket(PacketType type, qint64 size, bool isReliable, bool isPartOfMessage) : - Packet(NLPacket::localHeaderSize(type) + size, isReliable, isPartOfMessage), + Packet((size == -1) ? -1 : NLPacket::localHeaderSize(type) + size, isReliable, isPartOfMessage), _type(type), _version(versionForPacketType(type)) { - Q_ASSERT(size >= 0); - adjustPayloadStartAndCapacity(NLPacket::localHeaderSize(_type)); writeTypeAndVersion(); diff --git a/libraries/networking/src/NLPacket.h b/libraries/networking/src/NLPacket.h index 25efd673aa..2303150e66 100644 --- a/libraries/networking/src/NLPacket.h +++ b/libraries/networking/src/NLPacket.h @@ -61,8 +61,7 @@ public: protected: - NLPacket(PacketType type, bool forceReliable = false, bool isPartOfMessage = false); - NLPacket(PacketType type, qint64 size, bool forceReliable = false, bool isPartOfMessage = false); + NLPacket(PacketType type, qint64 size = -1, bool forceReliable = false, bool isPartOfMessage = false); NLPacket(std::unique_ptr data, qint64 size, const HifiSockAddr& senderSockAddr); NLPacket(std::unique_ptr packet); NLPacket(const NLPacket& other); diff --git a/libraries/networking/src/udt/Packet.cpp b/libraries/networking/src/udt/Packet.cpp index 67fb3b8378..4e77079a22 100644 --- a/libraries/networking/src/udt/Packet.cpp +++ b/libraries/networking/src/udt/Packet.cpp @@ -52,7 +52,7 @@ std::unique_ptr Packet::createCopy(const Packet& other) { } Packet::Packet(qint64 size, bool isReliable, bool isPartOfMessage) : - BasePacket(Packet::localHeaderSize() + size), + BasePacket((size == -1) ? -1 : (Packet::localHeaderSize() + size)), _isReliable(isReliable), _isPartOfMessage(isPartOfMessage) {