Code cleanup
This commit is contained in:
@@ -32,7 +32,8 @@ SOFTWARE.
|
|||||||
class FrequencyLimit {
|
class FrequencyLimit {
|
||||||
public:
|
public:
|
||||||
|
|
||||||
FrequencyLimit(const size_t& limit) : _target(boost::posix_time::microseconds(1000000 / limit)), _delay(boost::posix_time::milliseconds(0)) {
|
FrequencyLimit(const size_t& limit) : _target(boost::posix_time::microseconds(1000000 / limit)),
|
||||||
|
_delay(boost::posix_time::milliseconds(0)) {
|
||||||
};
|
};
|
||||||
|
|
||||||
void tick() {
|
void tick() {
|
||||||
@@ -40,15 +41,12 @@ public:
|
|||||||
if (_prev == boost::posix_time::not_a_date_time) {
|
if (_prev == boost::posix_time::not_a_date_time) {
|
||||||
_prev = now;
|
_prev = now;
|
||||||
} else {
|
} else {
|
||||||
auto dur = now - _prev;
|
auto latency = now - _prev;
|
||||||
auto diff = _target - dur;
|
auto diff = _target - latency;
|
||||||
// _delay = (_delay + diff) / 2;
|
|
||||||
_delay = _delay + diff;
|
_delay = _delay + diff;
|
||||||
// std::cout << "dur: " << dur << " diff: " << diff << " _delay: " << _delay << std::endl;
|
|
||||||
if (diff > boost::posix_time::microseconds(0)) {
|
if (diff > boost::posix_time::microseconds(0)) {
|
||||||
boost::this_thread::sleep(_delay);
|
boost::this_thread::sleep(_delay);
|
||||||
}
|
}
|
||||||
// _prev = boost::posix_time::microsec_clock::local_time();
|
|
||||||
_prev = now;
|
_prev = now;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user