Beispiel #1
0
        public static IObservable <long> PeriodicTimer(DateTimeOffset dueTime, TimeSpan period, IScheduler scheduler)
        {
            Invariant.ArgumentNotNull((object)scheduler, "scheduler");
            TimeSpan p = ObservableTimers.Normalize(period);

            return(Observable.Create <long>((Func <IObserver <long>, IDisposable>)(observer =>
            {
                long count = 0;
                return scheduler.Schedule(dueTime, (Action <Action <DateTimeOffset> >)(self =>
                {
                    IObserver <long> observer1 = observer;
                    long num1 = count;
                    count = num1 + 1L;
                    long num2 = num1;
                    observer1.OnNext(num2);
                    self(scheduler.Now + p);
                }));
            })));
        }
Beispiel #2
0
 public static IObservable <long> PeriodicTimer(DateTimeOffset dueTime, TimeSpan period)
 {
     return(ObservableTimers.PeriodicTimer(dueTime, period, (IScheduler)Scheduler.Default));
 }
Beispiel #3
0
 public static IObservable <long> PeriodicTimer(TimeSpan dueTime, TimeSpan period, IScheduler scheduler)
 {
     Invariant.ArgumentNotNull((object)scheduler, "scheduler");
     return(Observable.Defer <long>((Func <IObservable <long> >)(() => ObservableTimers.PeriodicTimer(scheduler.Now + dueTime, period, scheduler))));
 }