public ScheduledItem ScheduleOnce(Action <TimerState> timerUpdateEvent, long delayMs) { var scheduleItem = new TimerEventSchedulerItem(timerUpdateEvent) { delayMs = delayMs }; Schedule(scheduleItem); return(scheduleItem); }
public ScheduledItem ScheduleUntil(Action <TimerState> timerUpdateEvent, long delayMs, long intervalMs, Func <bool> stopCondition) { var scheduleItem = new TimerEventSchedulerItem(timerUpdateEvent) { delayMs = delayMs, intervalMs = intervalMs, timerUpdateStopCondition = stopCondition }; Schedule(scheduleItem); return(scheduleItem); }
public ScheduledItem ScheduleForDuration(Action <TimerState> timerUpdateEvent, long delayMs, long intervalMs, long durationMs) { var scheduleItem = new TimerEventSchedulerItem(timerUpdateEvent) { delayMs = delayMs, intervalMs = intervalMs, timerUpdateStopCondition = null }; scheduleItem.SetDuration(durationMs); Schedule(scheduleItem); return(scheduleItem); }