Exemple #1
0
 void UsbReader_OnDataReceived(object sender, UsbDataReceiveEventArgs e)
 {
     this.LastReceived = DateTime.Now;
     if (this.Channels.Any(c => c.IsRecording))
     {
         Action <UsbDataReceiveEventArgs> act = new Action <UsbDataReceiveEventArgs>(ProcessRecordData);
         act.BeginInvoke(e, null, null);
         //ProcessRecordData(e);
     }
     else if (_ringBuffer.Count() > 0)
     {
         _ringBuffer.Clear();
     }
 }
Exemple #2
0
        public async Task GivenMultipleThreadsWhenAddingValuesThenSynchronizeThreads()
        {
            // Arrange
            const int bufferSize = 10000;
            var       sut        = new CircularBuffer <string>(bufferSize);

            // Act
            var tasks = new List <Task>();

            for (var taskId = 0; taskId < 5000; taskId++)
            {
                tasks.Add(Task.Factory.StartNew(() =>
                {
                    for (var messageIndex = 0; messageIndex < 1000; messageIndex++)
                    {
                        sut.Add($"message.{messageIndex}");
                    }
                }));
            }

            await Task.WhenAll(tasks);

            // Assert
            Assert.Equal(bufferSize, sut.Count());
        }
Exemple #3
0
        public void TestCircularBuffer()
        {
            var target = new CircularBuffer <string>(2);

            Assert.AreEqual(0, target.Count());

            target.Add("item1");

            Assert.AreEqual(1, target.Count());
            Assert.AreEqual("item1", target.First());

            target.Add("item2");

            Assert.AreEqual(2, target.Count());
            Assert.AreEqual("item2", target.Last());

            target.Add("item3");
            Assert.AreEqual(2, target.Count());
            Assert.AreEqual("item2", target.First());
            Assert.AreEqual("item3", target.Last());
        }
 protected override void OnUpdateFrame(FrameEventArgs e)
 {
     if (UpdateFrequency == 0)
     {
         updateFrameTimes.Put(e.Time);
         if (updateFrameTimes.Sum(t => t) >= 1)
         {
             int frames = updateFrameTimes.Count();
             updateFrameTimes.Clear();
             unitTestControls.UpdateFps = frames;
         }
     }
     else
     {
         unitTestControls.UpdateFps = UpdateFrequency;
     }
 }
        protected override void OnRenderFrame(FrameEventArgs e)
        {
            GL.Clear(ClearBufferMask.DepthBufferBit | ClearBufferMask.ColorBufferBit);
            gui.Render();
            SwapBuffers();

            if (RenderFrequency == 0)
            {
                renderFrameTimes.Put(e.Time);
                if (renderFrameTimes.Sum(t => t) >= 1)
                {
                    int frames = renderFrameTimes.Count();
                    renderFrameTimes.Clear();
                    unitTestControls.RenderFps = frames;
                }
            }
            else
            {
                unitTestControls.RenderFps = RenderFrequency;
            }
        }
Exemple #6
0
 public float Average()
 {
     return(buffer.Sum() / buffer.Count());
 }