diff --git a/assignment-client/src/messages/MessagesMixer.cpp b/assignment-client/src/messages/MessagesMixer.cpp index e23eb5ba66..eb004ddad7 100644 --- a/assignment-client/src/messages/MessagesMixer.cpp +++ b/assignment-client/src/messages/MessagesMixer.cpp @@ -49,13 +49,15 @@ void MessagesMixer::handleMessages(QSharedPointer receivedMessa MessagesClient::decodeMessagesPacket(receivedMessage, channel, isText, message, data, senderID); auto nodeList = DependencyManager::get(); - 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 {