mirror of
https://github.com/overte-org/overte.git
synced 2025-04-20 11:45:36 +02:00
Local IDs - Reviewer's suggested improvements
This commit is contained in:
parent
e9ec4df36f
commit
734b48eee0
4 changed files with 11 additions and 29 deletions
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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());
|
||||
|
|
Loading…
Reference in a new issue