Ejemplo n.º 1
0
            internal AtDequeuEnumerable(SlimConcurrentQueue <T> queue)
            {
                SinglyLinkedNode <T> head;
                SinglyLinkedNode <T> tail;

                while (Interlocked.CompareExchange(ref queue._head, tail = queue._tail, head = queue._head) != head)
                {
                }
                _start = head;
                _end   = tail;
            }
Ejemplo n.º 2
0
 internal SnapshotEnumerable(SlimConcurrentQueue <T> queue)
 {
     _head = queue._head;
     _tail = queue._tail;
 }
Ejemplo n.º 3
0
 internal Enumerator(SlimConcurrentQueue <T> queue)
 {
     _node = (_queue = queue)._head;
 }
Ejemplo n.º 4
0
 internal DequeuEnumerator(SlimConcurrentQueue <T> queue)
 {
     _queue = queue;
 }
Ejemplo n.º 5
0
 /// <summary>Creates a new <see cref="TrackedConcurrentQueue&lt;T>"/></summary>
 public TrackedConcurrentQueue()
 {
     _backing = new SlimConcurrentQueue <T>();
 }
Ejemplo n.º 6
0
 /// <summary>
 /// Initialises a new instance of the <see cref="Ariadne.Collections.GroupedProducerConsumer{T}"/> class.
 /// </summary>
 public GroupedProducerConsumer()
 {
     _backing = new SlimConcurrentQueue <T>();
 }
Ejemplo n.º 7
0
 public Enumerator(SlimConcurrentQueue <T> queue)
 {
     _queue = queue;
     _moved = false;
 }