34 this->maxFrequency = maxFrequency;
45 const std::optional<float>& frequency)
48 std::unique_lock lock(mutex);
49 auto it = operationData.find(operationName);
50 if (it == operationData.end())
52 float maxFrequency = frequency ? *frequency : this->maxFrequency;
53 operationData[operationName] = {now, maxFrequency};
58 SkippingData&
data = it->second;
59 float maxFrequency = frequency ? *frequency :
data.maxFrequency;
60 float minInterval = 1.0 / maxFrequency;
61 if (now <
data.lastTimestamp + IceUtil::Time::secondsDouble(minInterval))
67 data.lastTimestamp = now;