mirror of
https://github.com/overte-org/overte.git
synced 2025-04-22 22:33:34 +02:00
Add iterator to improve max messages check performance.
This commit is contained in:
parent
9d15b00fbb
commit
008c0f0b1e
1 changed files with 8 additions and 6 deletions
|
@ -49,13 +49,15 @@ void MessagesMixer::handleMessages(QSharedPointer<ReceivedMessage> receivedMessa
|
|||
MessagesClient::decodeMessagesPacket(receivedMessage, channel, isText, message, data, senderID);
|
||||
|
||||
auto nodeList = DependencyManager::get<NodeList>();
|
||||
if (_allSubscribers.value(senderUUID) >= _maxMessagesPerSecond) {
|
||||
// We will reject all messages that go over this limit for that second.
|
||||
// FIXME: We will add logging options to offer analytics on this later.
|
||||
return;
|
||||
}
|
||||
|
||||
_allSubscribers[senderUUID] += 1;
|
||||
auto itr = _allSubscribers.find(senderUUID);
|
||||
if (itr == _allSubscribers.end()) {
|
||||
_allSubscribers[senderUUID] = 1;
|
||||
} else if (*itr >= _maxMessagesPerSecond) { // this syntax might be wrong I forget
|
||||
return;
|
||||
} else {
|
||||
*itr += 1;
|
||||
}
|
||||
|
||||
nodeList->eachMatchingNode(
|
||||
[&](const SharedNodePointer& node)->bool {
|
||||
|
|
Loading…
Reference in a new issue