Merge pull request #4 from Atlante45/protocol

Some cleanup
This commit is contained in:
Stephen Birarda 2015-07-09 17:40:43 -04:00
commit 4e2cbb38bd
5 changed files with 14 additions and 26 deletions

View file

@ -463,8 +463,6 @@ int AudioMixer::prepareMixForListeningNode(Node* node) {
} }
void AudioMixer::sendAudioEnvironmentPacket(SharedNodePointer node) { void AudioMixer::sendAudioEnvironmentPacket(SharedNodePointer node) {
static char clientEnvBuffer[MAX_PACKET_SIZE];
// Send stream properties // Send stream properties
bool hasReverb = false; bool hasReverb = false;
float reverbTime, wetLevel; float reverbTime, wetLevel;

View file

@ -96,7 +96,7 @@ int EntityServer::sendSpecialPackets(const SharedNodePointer& node, OctreeQueryN
auto specialPacket = tree->encodeEntitiesDeletedSince(queryNode->getSequenceNumber(), deletedEntitiesSentAt, auto specialPacket = tree->encodeEntitiesDeletedSince(queryNode->getSequenceNumber(), deletedEntitiesSentAt,
hasMoreToSend); hasMoreToSend);
queryNode->packetSent(*specialPacket.get()); queryNode->packetSent(*specialPacket);
totalBytes += specialPacket->getSizeWithHeader(); totalBytes += specialPacket->getSizeWithHeader();
packetsSent++; packetsSent++;

View file

@ -30,16 +30,6 @@ qint64 NLPacket::localHeaderSize() const {
} }
std::unique_ptr<NLPacket> NLPacket::create(PacketType::Value type, qint64 size) { std::unique_ptr<NLPacket> NLPacket::create(PacketType::Value type, qint64 size) {
auto maxPayload = maxPayloadSize(type);
if (size == -1) {
// default size of -1, means biggest packet possible
size = maxPayload;
}
// Fail with invalid size
Q_ASSERT(size >= 0 || size < maxPayload);
// allocate memory
return std::unique_ptr<NLPacket>(new NLPacket(type, size)); return std::unique_ptr<NLPacket>(new NLPacket(type, size));
} }

View file

@ -24,16 +24,6 @@ qint64 Packet::maxPayloadSize(PacketType::Value type) {
} }
std::unique_ptr<Packet> Packet::create(PacketType::Value type, qint64 size) { std::unique_ptr<Packet> Packet::create(PacketType::Value type, qint64 size) {
auto maxPayload = maxPayloadSize(type);
if (size == -1) {
// default size of -1, means biggest packet possible
size = maxPayload;
}
// Fail with invalid size
Q_ASSERT(size >= 0 || size < maxPayload);
// allocate memory
return std::unique_ptr<Packet>(new Packet(type, size)); return std::unique_ptr<Packet>(new Packet(type, size));
} }
@ -55,8 +45,14 @@ Packet::Packet(PacketType::Value type, qint64 size) :
_packet(new char(_packetSize)), _packet(new char(_packetSize)),
_payloadStart(_packet.get() + localHeaderSize(_type)), _payloadStart(_packet.get() + localHeaderSize(_type)),
_capacity(size) { _capacity(size) {
auto maxPayload = maxPayloadSize(type);
if (size == -1) {
// default size of -1, means biggest packet possible
size = maxPayload;
}
// Sanity check // Sanity check
Q_ASSERT(size <= maxPayloadSize(type)); Q_ASSERT(size >= 0 || size < maxPayload);
// copy packet type and version in header // copy packet type and version in header
writePacketTypeAndVersion(type); writePacketTypeAndVersion(type);
@ -72,6 +68,8 @@ Packet::Packet(const Packet& other) {
} }
Packet& Packet::operator=(const Packet& other) { Packet& Packet::operator=(const Packet& other) {
_type = other._type;
_packetSize = other._packetSize; _packetSize = other._packetSize;
_packet = std::unique_ptr<char>(new char(_packetSize)); _packet = std::unique_ptr<char>(new char(_packetSize));
memcpy(_packet.get(), other._packet.get(), _packetSize); memcpy(_packet.get(), other._packet.get(), _packetSize);
@ -89,6 +87,8 @@ Packet::Packet(Packet&& other) {
} }
Packet& Packet::operator=(Packet&& other) { Packet& Packet::operator=(Packet&& other) {
_type = other._type;
_packetSize = other._packetSize; _packetSize = other._packetSize;
_packet = std::move(other._packet); _packet = std::move(other._packet);

View file

@ -108,7 +108,7 @@ void OctreeEditPacketSender::queuePacketToNode(const QUuid& nodeUUID, std::uniqu
} }
// add packet to history // add packet to history
_sentPacketHistories[nodeUUID].packetSent(sequence, *packet.get()); _sentPacketHistories[nodeUUID].packetSent(sequence, *packet);
queuePacketForSending(node, std::move(packet)); queuePacketForSending(node, std::move(packet));
} }
@ -186,7 +186,7 @@ void OctreeEditPacketSender::queuePacketToNodes(std::unique_ptr<NLPacket> packet
if (isMyJurisdiction) { if (isMyJurisdiction) {
// make a copy of this packet for this node and queue // make a copy of this packet for this node and queue
auto packetCopy = NLPacket::createCopy(*packet.get()); auto packetCopy = NLPacket::createCopy(*packet);
queuePacketToNode(nodeUUID, std::move(packetCopy)); queuePacketToNode(nodeUUID, std::move(packetCopy));
} }
} }