35 #ifndef EMNAETIMERSERVICEPROVIDER_HEADER_ 36 #define EMNAETIMERSERVICEPROVIDER_HEADER_ 82 const void * arg =
nullptr,
83 const Duration & interval = Duration::zero()) = 0;
93 template <
typename Function>
96 const Duration & interval = Duration::zero());
113 #endif //EMNAETIMERSERVICEPROVIDER_HEADER_
virtual ~TimerServiceProvider()
Timer service interface the allows for scheduling timers that are placed on the NEMQueuedLayer functo...
virtual TimerEventId scheduleTimedEvent(const TimePoint &timePoint, const void *arg=nullptr, const Duration &interval=Duration::zero())=0
std::function< void(const TimePoint &, const TimePoint &, const TimePoint &)> TimerCallback
TimerEventId schedule(Function fn, const TimePoint &timePoint, const Duration &interval=Duration::zero())
Clock::time_point TimePoint
virtual bool cancelTimedEvent(TimerEventId eventId)=0
virtual TimerEventId schedule_i(TimerCallback callback, const TimePoint &timePoint, const Duration &interval)=0