/// <summary> /// Instantiates the <see cref="Timing"/> module. /// </summary> /// <param name="reactContext">The React context.</param> public Timing(ReactContext reactContext) : base(reactContext) { _timers = new HeapBasedPriorityQueue <TimerData>( Comparer <TimerData> .Create((x, y) => x.TargetTime.CompareTo(y.TargetTime))); }
/// <summary> /// Instantiates the <see cref="Timing"/> module. /// </summary> /// <param name="reactContext">The React context.</param> public Timing(ReactContext reactContext) : base(reactContext) { _timers = new HeapBasedPriorityQueue <TimerData>( Comparer <TimerData> .Create((x, y) => x.TargetTime.CompareTo(y.TargetTime))); _jsTimersModule = new Lazy <JSTimers>(() => Context.GetJavaScriptModule <JSTimers>()); }
public void HeapBasedPriorityQueue_Simple() { var queue = new HeapBasedPriorityQueue <int>(Comparer <int> .Default); Assert.ThrowsException <InvalidOperationException>(() => queue.Peek()); Assert.ThrowsException <InvalidOperationException>(() => queue.Dequeue()); Assert.AreEqual(0, queue.Count); queue.Enqueue(2); queue.Enqueue(1); queue.Enqueue(3); queue.Enqueue(4); queue.Enqueue(5); Assert.AreEqual(5, queue.Count); Assert.AreEqual(1, queue.Peek()); for (var i = 0; i <= 9; i++) { if (i is >= 1 and <= 5) { Assert.IsTrue(queue.Contains(i)); }
/// <summary> /// Instantiates the <see cref="Timing"/> module. /// </summary> /// <param name="reactContext">The React context.</param> public Timing(ReactContext reactContext) : base(reactContext) { _timers = new HeapBasedPriorityQueue <TimerData>(Comparer <TimerData> .Create((x, y) => (int)(x.TargetTime.Ticks - y.TargetTime.Ticks))); }
/// <summary> /// Initializes a new instance of the <see cref="VirtualTimePhysicalScheduler{TAbsolute, TRelative}"/> class. /// </summary> /// <param name="comparer">The comparer used to sort work items.</param> /// <param name="initialClock">The initial clock value.</param> protected VirtualTimePhysicalScheduler(IComparer <TAbsolute> comparer, TAbsolute initialClock) : base(comparer, initialClock) { _ready = new HeapBasedPriorityQueue <IWorkItem <TAbsolute> >(Comparer <IWorkItem <TAbsolute> > .Create(Compare)); _notReady = new List <IWorkItem <TAbsolute> >(); }