mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-18 19:10:12 +02:00
Factor members copy
This commit is contained in:
parent
f06ac911c5
commit
17b4d6fcf9
2 changed files with 18 additions and 34 deletions
|
@ -95,54 +95,26 @@ Packet::Packet(std::unique_ptr<char[]> data, qint64 size, const HifiSockAddr& se
|
|||
adjustPayloadStartAndCapacity(Packet::localHeaderSize(_isPartOfMessage), _payloadSize > 0);
|
||||
}
|
||||
|
||||
Packet::Packet(const Packet& other) :
|
||||
BasePacket(other)
|
||||
{
|
||||
_isReliable = other._isReliable;
|
||||
_isPartOfMessage = other._isPartOfMessage;
|
||||
_obfuscationLevel = other._obfuscationLevel;
|
||||
_sequenceNumber = other._sequenceNumber;
|
||||
_packetPosition = other._packetPosition;
|
||||
_messageNumber = other._messageNumber;
|
||||
_messagePartNumber = other._messagePartNumber;
|
||||
Packet::Packet(const Packet& other) : BasePacket(other) {
|
||||
copyMembers(other);
|
||||
}
|
||||
|
||||
Packet& Packet::operator=(const Packet& other) {
|
||||
BasePacket::operator=(other);
|
||||
|
||||
_isReliable = other._isReliable;
|
||||
_isPartOfMessage = other._isPartOfMessage;
|
||||
_obfuscationLevel = other._obfuscationLevel;
|
||||
_sequenceNumber = other._sequenceNumber;
|
||||
_packetPosition = other._packetPosition;
|
||||
_messageNumber = other._messageNumber;
|
||||
_messagePartNumber = other._messagePartNumber;
|
||||
copyMembers(other);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
Packet::Packet(Packet&& other) :
|
||||
BasePacket(std::move(other))
|
||||
{
|
||||
_isReliable = other._isReliable;
|
||||
_isPartOfMessage = other._isPartOfMessage;
|
||||
_obfuscationLevel = other._obfuscationLevel;
|
||||
_sequenceNumber = other._sequenceNumber;
|
||||
_packetPosition = other._packetPosition;
|
||||
_messageNumber = other._messageNumber;
|
||||
_messagePartNumber = other._messagePartNumber;
|
||||
Packet::Packet(Packet&& other) : BasePacket(std::move(other)) {
|
||||
copyMembers(other);
|
||||
}
|
||||
|
||||
Packet& Packet::operator=(Packet&& other) {
|
||||
BasePacket::operator=(std::move(other));
|
||||
|
||||
_isReliable = other._isReliable;
|
||||
_isPartOfMessage = other._isPartOfMessage;
|
||||
_obfuscationLevel = other._obfuscationLevel;
|
||||
_sequenceNumber = other._sequenceNumber;
|
||||
_packetPosition = other._packetPosition;
|
||||
_messageNumber = other._messageNumber;
|
||||
_messagePartNumber = other._messagePartNumber;
|
||||
copyMembers(other);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
@ -161,6 +133,16 @@ void Packet::writeSequenceNumber(SequenceNumber sequenceNumber, ObfuscationLevel
|
|||
writeHeader();
|
||||
}
|
||||
|
||||
void Packet::copyMembers(const Packet& other) {
|
||||
_isReliable = other._isReliable;
|
||||
_isPartOfMessage = other._isPartOfMessage;
|
||||
_obfuscationLevel = other._obfuscationLevel;
|
||||
_sequenceNumber = other._sequenceNumber;
|
||||
_packetPosition = other._packetPosition;
|
||||
_messageNumber = other._messageNumber;
|
||||
_messagePartNumber = other._messagePartNumber;
|
||||
}
|
||||
|
||||
void Packet::readHeader() const {
|
||||
SequenceNumberAndBitField* seqNumBitField = reinterpret_cast<SequenceNumberAndBitField*>(_packet.get());
|
||||
|
||||
|
|
|
@ -104,6 +104,8 @@ protected:
|
|||
Packet& operator=(Packet&& other);
|
||||
|
||||
private:
|
||||
void copyMembers(const Packet& other);
|
||||
|
||||
// Header readers - these read data to member variables after pulling packet off wire
|
||||
void readHeader() const;
|
||||
void writeHeader() const;
|
||||
|
|
Loading…
Reference in a new issue