33 startTimestamp(startTimestamp),
34 maxFrequency(maxFrequency)
41 std::unique_lock lock(queueMutex);
47 std::unique_lock lock(queueMutex);
50 if (!checkTimestamp(current.operation, now))
56 dataQueue.emplace(topicName, now - startTimestamp, current.operation, inParams);
64 bool GenericTopicSubscriber::checkTimestamp(
const std::string& operationName,
const IceUtil::Time& timestamp)
68 auto it = functionCallTimestamps.find(operationName);
69 if (it != functionCallTimestamps.end())
71 if ((timestamp - it->second).toSecondsDouble() < 1.0 / maxFrequency)
77 it->second = timestamp;
82 functionCallTimestamps[operationName] = timestamp;