Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ TryPeekSlow()

bool System.Threading.Tasks.SingleProducerSingleConsumerQueue< T >.TryPeekSlow ( ref Segment segment,
ref T[] array,
[MaybeNullWhen(false)] out T result )
inlineprivate

Definition at line 216 of file SingleProducerSingleConsumerQueue.cs.

217 {
218 if (segment._state._last != segment._state._lastCopy)
219 {
220 segment._state._lastCopy = segment._state._last;
221 return TryPeek(out result);
222 }
223 if (segment._next != null && segment._state._first == segment._state._last)
224 {
225 segment = segment._next;
226 array = segment._array;
227 _head = segment;
228 }
229 int first = segment._state._first;
230 if (first == segment._state._last)
231 {
232 result = default(T);
233 return false;
234 }
235 result = array[first];
236 return true;
237 }

References System.Threading.Tasks.SingleProducerSingleConsumerQueue< T >._head, System.array, and System.Threading.Tasks.SingleProducerSingleConsumerQueue< T >.TryPeek().

Referenced by System.Threading.Tasks.SingleProducerSingleConsumerQueue< T >.TryPeek().