Esempio n. 1
0
        public void TestCloseWhenEmpty()
        {
            var de = new DelayedEnqueuer(new SharedQueue(), 0, 1);

            de.m_q.Close();
            ExpectEof(de.EnqueueValue);
            ExpectEof(de.Dequeue);
            ExpectEof(de.DequeueNoWaitZero);
            ExpectEof(de.DequeueAfterOneIntoV);
        }
Esempio n. 2
0
        public void TestCloseWhenWaiting()
        {
            var q  = new SharedQueue();
            var de = new DelayedEnqueuer(q, 0, null);
            var t  =
                new Thread(de.BackgroundEofExpectingDequeue);

            t.Start();
            Thread.Sleep(SafetyMargin);
            q.Close();
            t.Join();
        }
        public void TestCloseWhenFull()
        {
            var q = new SharedQueue();

            q.Enqueue(1);
            q.Enqueue(2);
            q.Enqueue(3);
            q.Close();
            var de = new DelayedEnqueuer(q, 0, 4);

            ExpectEof(de.EnqueueValue);
            Assert.AreEqual(1, q.Dequeue());
            Assert.AreEqual(2, q.DequeueNoWait(0));
            bool r = q.Dequeue(TimeSpan.FromMilliseconds(1), out object v);

            Assert.IsTrue(r);
            Assert.AreEqual(3, v);
            ExpectEof(de.Dequeue);
        }
        public void TestCloseWhenFull()
        {
            SharedQueue q = new SharedQueue();
            object      v;

            q.Enqueue(1);
            q.Enqueue(2);
            q.Enqueue(3);
            q.Close();
            DelayedEnqueuer de = new DelayedEnqueuer(q, 0, 4);

            ExpectEof(new Thunk(de.EnqueueValue));
            Assert.AreEqual(1, q.Dequeue());
            Assert.AreEqual(2, q.DequeueNoWait(0));
            bool r = q.Dequeue(1, out v);

            Assert.IsTrue(r);
            Assert.AreEqual(3, v);
            ExpectEof(new Thunk(de.Dequeue));
        }
 public static void EnqueueAfter(int delayMs, SharedQueue q, object v)
 {
     DelayedEnqueuer de = new DelayedEnqueuer(q, delayMs, v);
     new Thread(new ThreadStart(de.EnqueueValue)).Start();
 }
 public void TestCloseWhenWaiting()
 {
     SharedQueue q = new SharedQueue();
     DelayedEnqueuer de = new DelayedEnqueuer(q, 0, null);
     Thread t =
     new Thread(new ThreadStart(de.BackgroundEofExpectingDequeue));
     t.Start();
     Thread.Sleep(SafetyMargin);
     q.Close();
     t.Join();
 }
 public void TestCloseWhenFull()
 {
     SharedQueue q = new SharedQueue();
     object v;
     q.Enqueue(1);
     q.Enqueue(2);
     q.Enqueue(3);
     q.Close();
     DelayedEnqueuer de = new DelayedEnqueuer(q, 0, 4);
     ExpectEof(new Thunk(de.EnqueueValue));
     Assert.AreEqual(1, q.Dequeue());
     Assert.AreEqual(2, q.DequeueNoWait(0));
     bool r = q.Dequeue(1, out v);
     Assert.IsTrue(r);
     Assert.AreEqual(3, v);
     ExpectEof(new Thunk(de.Dequeue));
 }
 public void TestCloseWhenEmpty()
 {
     DelayedEnqueuer de = new DelayedEnqueuer(new SharedQueue(), 0, 1);
     de.m_q.Close();
     ExpectEof(new Thunk(de.EnqueueValue));
     ExpectEof(new Thunk(de.Dequeue));
     ExpectEof(new Thunk(de.DequeueNoWaitZero));
     ExpectEof(new Thunk(de.DequeueAfterOneIntoV));
 }
Esempio n. 9
0
        public static void EnqueueAfter(int delayMs, SharedQueue queue, object v)
        {
            var enqueuer = new DelayedEnqueuer(queue, delayMs, v);

            new Thread(enqueuer.EnqueueValue).Start();
        }
        public static void EnqueueAfter(TimeSpan delay, SharedQueue queue, object v)
        {
            var enqueuer = new DelayedEnqueuer(queue, (int)delay.TotalMilliseconds, v);

            new Thread(enqueuer.EnqueueValue).Start();
        }
        public static void EnqueueAfter(int delayMs, SharedQueue q, object v)
        {
            DelayedEnqueuer de = new DelayedEnqueuer(q, delayMs, v);

            new Thread(new ThreadStart(de.EnqueueValue)).Start();
        }
 public static void EnqueueAfter(int delayMs, SharedQueue queue, object v)
 {
     var enqueuer = new DelayedEnqueuer(queue, delayMs, v);
     new Thread(enqueuer.EnqueueValue).Start();
 }