Fix packet ctors size param

This commit is contained in:
Atlante45 2015-07-30 15:56:42 -07:00
parent 784cc880a7
commit 3a9aedea68
3 changed files with 4 additions and 26 deletions

View file

@ -25,16 +25,7 @@ int NLPacket::maxPayloadSize(PacketType type, bool isPartOfMessage) {
} }
std::unique_ptr<NLPacket> NLPacket::create(PacketType type, qint64 size, bool isReliable, bool isPartOfMessage) { std::unique_ptr<NLPacket> NLPacket::create(PacketType type, qint64 size, bool isReliable, bool isPartOfMessage) {
std::unique_ptr<NLPacket> packet; auto packet = std::unique_ptr<NLPacket>(new NLPacket(type, size, isReliable, isPartOfMessage));
if (size == -1) {
packet = std::unique_ptr<NLPacket>(new NLPacket(type, isReliable, isPartOfMessage));
} else {
// Fail with invalid size
Q_ASSERT(size >= 0);
packet = std::unique_ptr<NLPacket>(new NLPacket(type, size, isReliable, isPartOfMessage));
}
packet->open(QIODevice::ReadWrite); packet->open(QIODevice::ReadWrite);
@ -70,23 +61,11 @@ std::unique_ptr<NLPacket> NLPacket::createCopy(const NLPacket& other) {
return std::unique_ptr<NLPacket>(new NLPacket(other)); return std::unique_ptr<NLPacket>(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) : 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), _type(type),
_version(versionForPacketType(type)) _version(versionForPacketType(type))
{ {
Q_ASSERT(size >= 0);
adjustPayloadStartAndCapacity(NLPacket::localHeaderSize(_type)); adjustPayloadStartAndCapacity(NLPacket::localHeaderSize(_type));
writeTypeAndVersion(); writeTypeAndVersion();

View file

@ -61,8 +61,7 @@ public:
protected: protected:
NLPacket(PacketType type, bool forceReliable = false, bool isPartOfMessage = false); NLPacket(PacketType type, qint64 size = -1, bool forceReliable = false, bool isPartOfMessage = false);
NLPacket(PacketType type, qint64 size, bool forceReliable = false, bool isPartOfMessage = false);
NLPacket(std::unique_ptr<char> data, qint64 size, const HifiSockAddr& senderSockAddr); NLPacket(std::unique_ptr<char> data, qint64 size, const HifiSockAddr& senderSockAddr);
NLPacket(std::unique_ptr<Packet> packet); NLPacket(std::unique_ptr<Packet> packet);
NLPacket(const NLPacket& other); NLPacket(const NLPacket& other);

View file

@ -52,7 +52,7 @@ std::unique_ptr<Packet> Packet::createCopy(const Packet& other) {
} }
Packet::Packet(qint64 size, bool isReliable, bool isPartOfMessage) : Packet::Packet(qint64 size, bool isReliable, bool isPartOfMessage) :
BasePacket(Packet::localHeaderSize() + size), BasePacket((size == -1) ? -1 : (Packet::localHeaderSize() + size)),
_isReliable(isReliable), _isReliable(isReliable),
_isPartOfMessage(isPartOfMessage) _isPartOfMessage(isPartOfMessage)
{ {