20 #ifndef MIR_TIME_TIMER_H_
21 #define MIR_TIME_TIMER_H_
40 virtual ~Timer() =
default;
49 virtual std::unique_ptr<Alarm>
notify_in(std::chrono::milliseconds delay,
50 std::function<
void()> callback) = 0;
60 std::function<
void()> callback) = 0;
68 virtual std::unique_ptr<Alarm>
create_alarm(std::function<
void()> callback) = 0;
77 #endif // MIR_TIME_TIMER_H_
Timer & operator=(Timer const &)=delete
All things Mir.
Definition: aging_buffer.h:24
std::chrono::high_resolution_clock::time_point Timestamp
Definition: clock.h:29
virtual std::unique_ptr< Alarm > create_alarm(std::function< void()> callback)=0
Create an Alarm that will not fire until scheduled.
virtual std::unique_ptr< Alarm > notify_at(Timestamp time_point, std::function< void()> callback)=0
Create an Alarm that calls the callback at the specified time.
virtual std::unique_ptr< Alarm > notify_in(std::chrono::milliseconds delay, std::function< void()> callback)=0
Create an Alarm that calls the callback after the specified delay.