public static int test_0_rx_mixed_regress() { var v = new VirtualTimeScheduler <long, long> (); v.ScheduleAbsolute <Action> (null, 22); return(0); }
/// <summary> /// Schedules an action to be executed at dueTime. /// </summary> /// <param name="scheduler">Scheduler to execute the action on.</param> /// <param name="dueTime">Relative time after which to execute the action.</param><param name="action">Action to be executed.</param> /// <returns> /// The disposable object used to cancel the scheduled action (best effort). /// </returns> /// <exception cref="T:System.ArgumentNullException"><paramref name="scheduler"/> or <paramref name="action"/> is null.</exception> public static IDisposable ScheduleRelative( [NotNull] this VirtualTimeScheduler <long, long> scheduler, TimeSpan dueTime, Action action) { return(scheduler.ScheduleRelative(dueTime.Ticks, action)); }
public ColdObservable(VirtualTimeScheduler <long, long> scheduler, IEnumerable <Recorded <Notification <T> > > messages) { Ensure.NotNull(scheduler, nameof(scheduler)); Ensure.NotNull(messages, nameof(messages)); _scheduler = scheduler; Messages = messages.ToList(); Subscriptions = new List <Subscription>(); }
public HotObservable(VirtualTimeScheduler <long, long> scheduler, IEnumerable <Recorded <Notification <T> > > messages) { Ensure.NotNull(scheduler, nameof(scheduler)); Ensure.NotNull(messages, nameof(messages)); _scheduler = scheduler; Messages = messages.ToList(); Subscriptions = new List <Subscription>(); foreach (var message in Messages) { var notification = message.Value; scheduler.ScheduleAbsolute(default(object), message.Time, (_, __) => { var observers = _observers.ToArray(); foreach (var observer in observers) { notification.Accept(observer); } return(Disposable.Empty); }); } }
/// <summary> /// Advances the scheduler's clock by the specified relative time. /// </summary> /// <param name="scheduler">The target scheduler.</param> /// <param name="time">Relative time to advance the scheduler's clock by.</param> /// <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="time"/> is negative.</exception> public static void Sleep( [NotNull] this VirtualTimeScheduler <long, long> scheduler, TimeSpan time) { scheduler.Sleep(time.Ticks); }