Files
Jungfraujoch/preview/PreviewCounter.cpp
2024-06-30 17:48:35 +02:00

26 lines
617 B
C++

// Copyright (2019-2023) Paul Scherrer Institute
#include "PreviewCounter.h"
PreviewCounter::PreviewCounter(std::chrono::microseconds in_period) : period(in_period), last_preview() {}
bool PreviewCounter::GeneratePreview() {
std::unique_lock<std::mutex> ul(m);
if (period.count() == 0)
return false;
auto now = std::chrono::system_clock::now();
if (now > last_preview + period) {
last_preview = now;
return true;
} else
return false;
}
PreviewCounter &PreviewCounter::Period(std::chrono::microseconds in_period) {
period = in_period;
return *this;
}