コード例 #1
0
ファイル: gshared.cs プロジェクト: balkin/playscript-mono
    public static int test_0_rx_mixed_regress()
    {
        var v = new VirtualTimeScheduler <long, long> ();

        v.ScheduleAbsolute <Action> (null, 22);
        return(0);
    }
コード例 #2
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));
 }
コード例 #3
0
 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>();
 }
コード例 #4
0
 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);
         });
     }
 }
コード例 #5
0
 /// <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);
 }