This repository has been archived on 2022-02-10. You can view files and clone it, but cannot push or open issues or pull requests.
fortuna/event_scheduler_impl.h
surtur 62f31c1436
All checks were successful
continuous-integration/drone/push Build is passing
scheduler: add thread_sleep, use const& param
2022-01-17 04:42:59 +01:00

29 lines
587 B
C++

#ifndef FORTUNA_EVENT_SCHEDULER_IMPL_H
#define FORTUNA_EVENT_SCHEDULER_IMPL_H
#include "event_scheduler.h"
#include <chrono>
#include <thread>
namespace fortuna {
namespace accumulator {
class EventSchedulerImpl final : public EventScheduler {
private:
std::chrono::milliseconds delay;
public:
EventSchedulerImpl();
void schedule(const std::chrono::milliseconds& delay_ms) override {
auto now{std::chrono::system_clock::now()};
std::this_thread::sleep_until(now + delay_ms);
}
};
} // namespace accumulator
} // namespace fortuna
#endif // FORTUNA_EVENT_SCHEDULER_IMPL_H