9[DebuggerDisplay(
"Capacity = {Capacity}")]
13 [DebuggerDisplay(
"Item = {Item}, SequenceNumber = {SequenceNumber}")]
41 for (
int i = 0; i <
_slots.Length; i++)
64 int num3 =
Volatile.
Read(ref slots[num2].SequenceNumber);
65 int num4 = num3 - (num + 1);
77 slots[num2].
Item =
default(T);
79 Volatile.
Write(ref slots[num2].SequenceNumber, num + slots.Length);
87 if (num5 - num <= 0 || (frozenForEnqueues && num5 -
FreezeOffset - num <= 0))
98 public bool TryPeek([MaybeNullWhen(
false)] out T result,
bool resultUsed)
111 int num3 =
Volatile.
Read(ref slots[num2].SequenceNumber);
112 int num4 = num3 - (num + 1);
115 result = (resultUsed ? slots[num2].
Item :
default(T));
122 if (num5 - num <= 0 || (frozenForEnqueues && num5 -
FreezeOffset - num <= 0))
140 int num3 =
Volatile.
Read(ref slots[num2].SequenceNumber);
141 int num4 = num3 - num;
bool TryPeek([MaybeNullWhen(false)] out T result, bool resultUsed)
bool TryDequeue([MaybeNullWhen(false)] out T item)
bool _preservedForObservation
ConcurrentQueueSegment(int boundedLength)
void EnsureFrozenForEnqueues()
ConcurrentQueueSegment< T > _nextSegment
PaddedHeadAndTail _headAndTail
static int CompareExchange(ref int location1, int value, int comparand)
static int Add(ref int location1, int value)
static void MemoryBarrier()
static bool Read(ref bool location)
static void Write(ref bool location, bool value)