Exemplo n.º 1
0
 /// <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)));
 }
Exemplo n.º 2
0
 /// <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>());
 }
Exemplo n.º 3
0
        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));
                }
Exemplo n.º 4
0
 /// <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)));
 }
Exemplo n.º 5
0
 /// <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> >();
 }