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; }
internal SnapshotEnumerable(SlimConcurrentQueue <T> queue) { _head = queue._head; _tail = queue._tail; }
internal Enumerator(SlimConcurrentQueue <T> queue) { _node = (_queue = queue)._head; }
internal DequeuEnumerator(SlimConcurrentQueue <T> queue) { _queue = queue; }
/// <summary>Creates a new <see cref="TrackedConcurrentQueue<T>"/></summary> public TrackedConcurrentQueue() { _backing = new SlimConcurrentQueue <T>(); }
/// <summary> /// Initialises a new instance of the <see cref="Ariadne.Collections.GroupedProducerConsumer{T}"/> class. /// </summary> public GroupedProducerConsumer() { _backing = new SlimConcurrentQueue <T>(); }
public Enumerator(SlimConcurrentQueue <T> queue) { _queue = queue; _moved = false; }