using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace System.Collections.Concurrent
{
/// Represents a thread-safe first in-first out (FIFO) collection.
/// The type of the elements contained in the queue.
// Token: 0x020005FC RID: 1532
[Token(Token = "0x20005FC")]
[DebuggerTypeProxy(typeof(IProducerConsumerCollectionDebugView<>))]
[DebuggerDisplay("Count = {Count}")]
[Serializable]
public class ConcurrentQueue : IEnumerable, IEnumerable, ICollection, IReadOnlyCollection
{
/// Initializes a new instance of the class.
// Token: 0x06002FF8 RID: 12280 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002FF8")]
[Address(RVA = "0x3610B40", Offset = "0x360FB40", VA = "0x183610B40")]
public ConcurrentQueue()
{
}
/// Copies the elements of the to an , starting at a particular index.
/// The one-dimensional that is the destination of the elements copied from the . The must have zero-based indexing.
/// The zero-based index in at which copying begins.
///
/// is a null reference (Nothing in Visual Basic).
///
/// is less than zero.
///
/// is multidimensional. -or- does not have zero-based indexing. -or- is equal to or greater than the length of the -or- The number of elements in the source is greater than the available space from to the end of the destination . -or- The type of the source cannot be cast automatically to the type of the destination .
// Token: 0x06002FF9 RID: 12281 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002FF9")]
[Address(RVA = "0x3610490", Offset = "0x360F490", VA = "0x183610490", Slot = "6")]
void ICollection.CopyTo(Array array, int index)
{
}
/// Gets a value indicating whether access to the is synchronized with the SyncRoot.
/// Always returns to indicate access is not synchronized.
// Token: 0x17000795 RID: 1941
// (get) Token: 0x06002FFA RID: 12282 RVA: 0x0001A3A0 File Offset: 0x000185A0
[Token(Token = "0x17000795")]
bool ICollection.IsSynchronized
{
[Token(Token = "0x6002FFA")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "9")]
get
{
return default(bool);
}
}
/// Gets an object that can be used to synchronize access to the . This property is not supported.
/// Returns null (Nothing in Visual Basic).
/// The SyncRoot property is not supported.
// Token: 0x17000796 RID: 1942
// (get) Token: 0x06002FFB RID: 12283 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x17000796")]
object ICollection.SyncRoot
{
[Token(Token = "0x6002FFB")]
[Address(RVA = "0x36105B0", Offset = "0x360F5B0", VA = "0x1836105B0", Slot = "8")]
get
{
return null;
}
}
/// Returns an enumerator that iterates through a collection.
/// An that can be used to iterate through the collection.
// Token: 0x06002FFC RID: 12284 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x6002FFC")]
[Address(RVA = "0x3610610", Offset = "0x360F610", VA = "0x183610610", Slot = "5")]
IEnumerator IEnumerable.GetEnumerator()
{
return null;
}
/// Copies the elements stored in the to a new array.
/// A new array containing a snapshot of elements copied from the .
// Token: 0x06002FFD RID: 12285 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x6002FFD")]
[Address(RVA = "0x3610660", Offset = "0x360F660", VA = "0x183610660", Slot = "11")]
public T[] ToArray()
{
return null;
}
/// Gets the number of elements contained in the .
/// The number of elements contained in the .
// Token: 0x17000797 RID: 1943
// (get) Token: 0x06002FFE RID: 12286 RVA: 0x0001A3B8 File Offset: 0x000185B8
[Token(Token = "0x17000797")]
public int Count
{
[Token(Token = "0x6002FFE")]
[Address(RVA = "0x3610C10", Offset = "0x360FC10", VA = "0x183610C10", Slot = "10")]
get
{
return 0;
}
}
// Token: 0x06002FFF RID: 12287 RVA: 0x0001A3D0 File Offset: 0x000185D0
[Token(Token = "0x6002FFF")]
[Address(RVA = "0x360FEF0", Offset = "0x360EEF0", VA = "0x18360FEF0")]
private static int GetCount(ConcurrentQueue.Segment s, int head, int tail)
{
return 0;
}
// Token: 0x06003000 RID: 12288 RVA: 0x0001A3E8 File Offset: 0x000185E8
[Token(Token = "0x6003000")]
[Address(RVA = "0x360FFD0", Offset = "0x360EFD0", VA = "0x18360FFD0")]
private static long GetCount(ConcurrentQueue.Segment head, int headHead, ConcurrentQueue.Segment tail, int tailTail)
{
return 0L;
}
/// Copies the elements to an existing one-dimensional , starting at the specified array index.
/// The one-dimensional that is the destination of the elements copied from the . The must have zero-based indexing.
/// The zero-based index in at which copying begins.
///
/// is a null reference (Nothing in Visual Basic).
///
/// is less than zero.
///
/// is equal to or greater than the length of the -or- The number of elements in the source is greater than the available space from to the end of the destination .
// Token: 0x06003001 RID: 12289 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6003001")]
[Address(RVA = "0x360F8A0", Offset = "0x360E8A0", VA = "0x18360F8A0", Slot = "12")]
public void CopyTo(T[] array, int index)
{
}
/// Returns an enumerator that iterates through the .
/// An enumerator for the contents of the .
// Token: 0x06003002 RID: 12290 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x6003002")]
[Address(RVA = "0x36101A0", Offset = "0x360F1A0", VA = "0x1836101A0", Slot = "4")]
public IEnumerator GetEnumerator()
{
return null;
}
// Token: 0x06003003 RID: 12291 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6003003")]
[Address(RVA = "0x3610330", Offset = "0x360F330", VA = "0x183610330")]
private void SnapForObservation(out ConcurrentQueue.Segment head, out int headHead, out ConcurrentQueue.Segment tail, out int tailTail)
{
}
// Token: 0x06003004 RID: 12292 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x6003004")]
[Address(RVA = "0x3610240", Offset = "0x360F240", VA = "0x183610240")]
private T GetItemWhenAvailable(ConcurrentQueue.Segment segment, int i)
{
return null;
}
// Token: 0x06003005 RID: 12293 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x6003005")]
[Address(RVA = "0x360FE40", Offset = "0x360EE40", VA = "0x18360FE40")]
private IEnumerator Enumerate(ConcurrentQueue.Segment head, int headHead, ConcurrentQueue.Segment tail, int tailTail)
{
return null;
}
/// Adds an object to the end of the .
/// The object to add to the end of the . The value can be a null reference (Nothing in Visual Basic) for reference types.
// Token: 0x06003006 RID: 12294 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6003006")]
[Address(RVA = "0x360FDB0", Offset = "0x360EDB0", VA = "0x18360FDB0")]
public void Enqueue(T item)
{
}
// Token: 0x06003007 RID: 12295 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6003007")]
[Address(RVA = "0x360FB50", Offset = "0x360EB50", VA = "0x18360FB50")]
private void EnqueueSlow(T item)
{
}
/// Tries to remove and return the object at the beginning of the concurrent queue.
/// When this method returns, if the operation was successful, contains the object removed. If no object was available to be removed, the value is unspecified.
///
/// if an element was removed and returned from the beginning of the successfully; otherwise, .
// Token: 0x06003008 RID: 12296 RVA: 0x0001A400 File Offset: 0x00018600
[Token(Token = "0x6003008")]
[Address(RVA = "0x3610AB0", Offset = "0x360FAB0", VA = "0x183610AB0")]
public bool TryDequeue(out T result)
{
return default(bool);
}
// Token: 0x06003009 RID: 12297 RVA: 0x0001A418 File Offset: 0x00018618
[Token(Token = "0x6003009")]
[Address(RVA = "0x3610900", Offset = "0x360F900", VA = "0x183610900")]
private bool TryDequeueSlow(out T item)
{
return default(bool);
}
// Token: 0x04001ABE RID: 6846
[Token(Token = "0x4001ABE")]
private const int InitialSegmentLength = 32;
// Token: 0x04001ABF RID: 6847
[Token(Token = "0x4001ABF")]
private const int MaxSegmentLength = 1048576;
// Token: 0x04001AC0 RID: 6848
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4001AC0")]
private object _crossSegmentLock;
// Token: 0x04001AC1 RID: 6849
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4001AC1")]
private ConcurrentQueue.Segment _tail;
// Token: 0x04001AC2 RID: 6850
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4001AC2")]
private ConcurrentQueue.Segment _head;
// Token: 0x020005FD RID: 1533
[Token(Token = "0x20005FD")]
[DebuggerDisplay("Capacity = {Capacity}")]
private sealed class Segment
{
// Token: 0x0600300A RID: 12298 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x600300A")]
[Address(RVA = "0x3611CA0", Offset = "0x3610CA0", VA = "0x183611CA0")]
public Segment(int boundedLength)
{
}
// Token: 0x17000798 RID: 1944
// (get) Token: 0x0600300B RID: 12299 RVA: 0x0001A430 File Offset: 0x00018630
[Token(Token = "0x17000798")]
internal int Capacity
{
[Token(Token = "0x600300B")]
[Address(RVA = "0x73E8F0", Offset = "0x73D8F0", VA = "0x18073E8F0")]
get
{
return 0;
}
}
// Token: 0x17000799 RID: 1945
// (get) Token: 0x0600300C RID: 12300 RVA: 0x0001A448 File Offset: 0x00018648
[Token(Token = "0x17000799")]
internal int FreezeOffset
{
[Token(Token = "0x600300C")]
[Address(RVA = "0x3611D60", Offset = "0x3610D60", VA = "0x183611D60")]
get
{
return 0;
}
}
// Token: 0x0600300D RID: 12301 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x600300D")]
[Address(RVA = "0x36118F0", Offset = "0x36108F0", VA = "0x1836118F0")]
internal void EnsureFrozenForEnqueues()
{
}
// Token: 0x0600300E RID: 12302 RVA: 0x0001A460 File Offset: 0x00018660
[Token(Token = "0x600300E")]
[Address(RVA = "0x3611990", Offset = "0x3610990", VA = "0x183611990")]
public bool TryDequeue(out T item)
{
return default(bool);
}
// Token: 0x0600300F RID: 12303 RVA: 0x0001A478 File Offset: 0x00018678
[Token(Token = "0x600300F")]
[Address(RVA = "0x3611B60", Offset = "0x3610B60", VA = "0x183611B60")]
public bool TryEnqueue(T item)
{
return default(bool);
}
// Token: 0x04001AC3 RID: 6851
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4001AC3")]
internal readonly ConcurrentQueue.Segment.Slot[] _slots;
// Token: 0x04001AC4 RID: 6852
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4001AC4")]
internal readonly int _slotsMask;
// Token: 0x04001AC5 RID: 6853
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4001AC5")]
internal PaddedHeadAndTail _headAndTail;
// Token: 0x04001AC6 RID: 6854
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4001AC6")]
internal bool _preservedForObservation;
// Token: 0x04001AC7 RID: 6855
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4001AC7")]
internal bool _frozenForEnqueues;
// Token: 0x04001AC8 RID: 6856
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4001AC8")]
internal ConcurrentQueue.Segment _nextSegment;
// Token: 0x020005FE RID: 1534
[Token(Token = "0x20005FE")]
[DebuggerDisplay("Item = {Item}, SequenceNumber = {SequenceNumber}")]
[StructLayout(3)]
internal struct Slot
{
// Token: 0x04001AC9 RID: 6857
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4001AC9")]
public T Item;
// Token: 0x04001ACA RID: 6858
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4001ACA")]
public int SequenceNumber;
}
}
}
}