|
morph 0.1.0
Asynchronous bridge between GUI thread and business models
|
Runs callbacks after a delay or on a period, on the runtime's owner executor. More...
#include <scheduler.hpp>
Public Member Functions | |
| Scheduler (Scheduler const &)=delete | |
| Scheduler & | operator= (Scheduler const &)=delete |
| Scheduler (Scheduler &&)=delete | |
| Scheduler & | operator= (Scheduler &&)=delete |
| virtual TimerHandle | after (std::chrono::milliseconds delay, std::function< void()> fn)=0 |
Runs fn once, delay from now. | |
| virtual TimerHandle | every (std::chrono::milliseconds period, std::function< void()> fn)=0 |
Runs fn every period, starting one period from now. | |
Runs callbacks after a delay or on a period, on the runtime's owner executor.
Every frontend provides one, on its own event loop's timers; a test uses testing::ManualScheduler. Every implementation guarantees:
Definition at line 105 of file scheduler.hpp.
|
nodiscardpure virtual |
Runs fn once, delay from now.
| delay | How long to wait; a non-positive delay means as soon as possible. |
| fn | The callback. |
Implemented in morph::qt_quick::QtScheduler, and morph::reactive::testing::ManualScheduler.
|
nodiscardpure virtual |
Runs fn every period, starting one period from now.
| period | The interval; must be positive. |
| fn | The callback. |
| std::invalid_argument | when period is not positive. |
Implemented in morph::qt_quick::QtScheduler, and morph::reactive::testing::ManualScheduler.