10[DebuggerDisplay(
"Count = {Count}")]
76 return head._next ==
null;
95 while (first !=
segment._state._first);
112 int num = (
last + 1) & (
array.Length - 1);
113 if (num !=
segment._state._firstCopy)
116 segment._state._last = num;
128 segment._state._firstCopy =
segment._state._first;
132 int num = _tail._array.Length << 1;
139 segment2._state._last = 1;
140 segment2._state._lastCopy = 1;
158 result =
array[first];
159 array[first] =
default(T);
160 head._state._first = (first + 1) & (
array.Length - 1);
173 result =
array[first];
183 segment._state._lastCopy =
segment._state._last;
196 int first =
segment._state._first;
197 if (first ==
segment._state._last)
202 result =
array[first];
205 array[first] =
default(T);
206 segment._state._first = (first + 1) & (
segment._array.Length - 1);
207 segment._state._lastCopy =
segment._state._last;
readonly SingleProducerSingleConsumerQueue< T > _queue
SingleProducerSingleConsumerQueue_DebugView(SingleProducerSingleConsumerQueue< T > queue)
bool TryPeek([MaybeNullWhen(false)] out T result)
bool TryDequeue([MaybeNullWhen(false)] out T result)
bool TryDequeueSlow(Segment segment, T[] array, bool peek, [MaybeNullWhen(false)] out T result)
SingleProducerSingleConsumerQueue()
void EnqueueSlow(T item, ref Segment segment)
IEnumerator< T > GetEnumerator()
static void Write(ref bool location, bool value)
IEnumerator GetEnumerator()
Internal.PaddingFor32 _pad2
Internal.PaddingFor32 _pad1
Internal.PaddingFor32 _pad0