Local IDs - Reviewer's suggested improvements

This commit is contained in:
Simon Walton 2018-03-30 17:27:52 -07:00
parent e9ec4df36f
commit 734b48eee0
4 changed files with 11 additions and 29 deletions

View file

@ -137,7 +137,7 @@ void AudioMixer::queueReplicatedAudioPacket(QSharedPointer<ReceivedMessage> mess
auto replicatedMessage = QSharedPointer<ReceivedMessage>::create(audioData, rewrittenType,
versionForPacketType(rewrittenType),
message->getSenderSockAddr(), nodeList->getSessionLocalID());
message->getSenderSockAddr(), message->getSourceID());
getOrCreateClientData(replicatedNode.data())->queuePacket(replicatedMessage, replicatedNode);
}

View file

@ -132,6 +132,7 @@ void LimitedNodeList::setSessionUUID(const QUuid& sessionUUID) {
}
Node::LocalID LimitedNodeList::getSessionLocalID() const {
QReadLocker readLock { &_sessionUUIDLock };
return _sessionLocalID;
}
@ -578,7 +579,7 @@ void LimitedNodeList::eraseAllNodes() {
// and then remove them from the hash
QWriteLocker writeLocker(&_nodeMutex);
_localIDMap.erase(_localIDMap.begin(), _localIDMap.end());
_localIDMap.clear();
if (_nodeHash.size() > 0) {
qCDebug(networking) << "LimitedNodeList::eraseAllNodes() removing all nodes from NodeList.";
@ -851,9 +852,10 @@ void LimitedNodeList::removeSilentNodes() {
});
foreach(const SharedNodePointer& killedNode, killedNodes) {
_nodeMutex.lockForWrite();
_localIDMap.erase(killedNode->getLocalID());
_nodeMutex.unlock();
{
QWriteLocker writeLock { &_nodeMutex };
_localIDMap.erase(killedNode->getLocalID());
}
handleNodeKill(killedNode);
}
}

View file

@ -22,7 +22,7 @@ class NLPacket : public udt::Packet {
Q_OBJECT
public:
//
// Current NLPacket format:
// NLPacket format:
//
// | BYTE | BYTE | BYTE | BYTE |
// 0 1 2 3
@ -35,28 +35,6 @@ public:
// | (ONLY FOR VERIFIED PACKETS) |
// | |
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// Old NLPacket format:
//
// | BYTE | BYTE | BYTE | BYTE |
//
// 0 1 2 3
// 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// | Packet Type | Version | |
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
// | |
// | Node UUID - 16 bytes |
// | (ONLY FOR SOURCED PACKETS) |
// | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// | | |
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
// | |
// | MD5 Verification - 16 bytes |
// | (ONLY FOR VERIFIED PACKETS) |
// | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// | | |
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
//
using LocalID = NetworkLocalID;

View file

@ -261,7 +261,9 @@ void PacketReceiver::handleVerifiedMessage(QSharedPointer<ReceivedMessage> recei
SharedNodePointer matchingNode;
matchingNode = nodeList->nodeWithLocalID(receivedMessage->getSourceID());
if (receivedMessage->getSourceID() != 0) {
matchingNode = nodeList->nodeWithLocalID(receivedMessage->getSourceID());
}
QMutexLocker packetListenerLocker(&_packetListenerLock);
auto it = _messageListenerMap.find(receivedMessage->getType());