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: 0x020005DC RID: 1500
[Token(Token = "0x20005DC")]
[DebuggerDisplay("Count = {Count}")]
[DebuggerTypeProxy(typeof(IProducerConsumerCollectionDebugView<>))]
[Serializable]
public class ConcurrentQueue : IEnumerable, IEnumerable, ICollection, IReadOnlyCollection
{
/// Initializes a new instance of the class.
// Token: 0x06002DE0 RID: 11744 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DE0")]
[Address(RVA = "0x3447D00", Offset = "0x3446B00", VA = "0x183447D00")]
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: 0x06002DE1 RID: 11745 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DE1")]
[Address(RVA = "0x3447650", Offset = "0x3446450", VA = "0x183447650", 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: 0x1700071D RID: 1821
// (get) Token: 0x06002DE2 RID: 11746 RVA: 0x00017F70 File Offset: 0x00016170
[Token(Token = "0x1700071D")]
bool ICollection.IsSynchronized
{
[Token(Token = "0x6002DE2")]
[Address(RVA = "0x403930", Offset = "0x402730", VA = "0x180403930", 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: 0x1700071E RID: 1822
// (get) Token: 0x06002DE3 RID: 11747 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x1700071E")]
object ICollection.SyncRoot
{
[Token(Token = "0x6002DE3")]
[Address(RVA = "0x3447770", Offset = "0x3446570", VA = "0x183447770", Slot = "8")]
get
{
return null;
}
}
/// Returns an enumerator that iterates through a collection.
/// An that can be used to iterate through the collection.
// Token: 0x06002DE4 RID: 11748 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x6002DE4")]
[Address(RVA = "0x34477D0", Offset = "0x34465D0", VA = "0x1834477D0", 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: 0x06002DE5 RID: 11749 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x6002DE5")]
[Address(RVA = "0x3447820", Offset = "0x3446620", VA = "0x183447820", Slot = "11")]
public T[] ToArray()
{
return null;
}
/// Gets the number of elements contained in the .
/// The number of elements contained in the .
// Token: 0x1700071F RID: 1823
// (get) Token: 0x06002DE6 RID: 11750 RVA: 0x00017F88 File Offset: 0x00016188
[Token(Token = "0x1700071F")]
public int Count
{
[Token(Token = "0x6002DE6")]
[Address(RVA = "0x3447DD0", Offset = "0x3446BD0", VA = "0x183447DD0", Slot = "10")]
get
{
return 0;
}
}
// Token: 0x06002DE7 RID: 11751 RVA: 0x00017FA0 File Offset: 0x000161A0
[Token(Token = "0x6002DE7")]
[Address(RVA = "0x34470B0", Offset = "0x3445EB0", VA = "0x1834470B0")]
private static int GetCount(ConcurrentQueue.Segment s, int head, int tail)
{
return 0;
}
// Token: 0x06002DE8 RID: 11752 RVA: 0x00017FB8 File Offset: 0x000161B8
[Token(Token = "0x6002DE8")]
[Address(RVA = "0x3447190", Offset = "0x3445F90", VA = "0x183447190")]
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: 0x06002DE9 RID: 11753 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DE9")]
[Address(RVA = "0x3446A60", Offset = "0x3445860", VA = "0x183446A60", Slot = "12")]
public void CopyTo(T[] array, int index)
{
}
/// Returns an enumerator that iterates through the .
/// An enumerator for the contents of the .
// Token: 0x06002DEA RID: 11754 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x6002DEA")]
[Address(RVA = "0x3447360", Offset = "0x3446160", VA = "0x183447360", Slot = "4")]
public IEnumerator GetEnumerator()
{
return null;
}
// Token: 0x06002DEB RID: 11755 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DEB")]
[Address(RVA = "0x34474F0", Offset = "0x34462F0", VA = "0x1834474F0")]
private void SnapForObservation(out ConcurrentQueue.Segment head, out int headHead, out ConcurrentQueue.Segment tail, out int tailTail)
{
}
// Token: 0x06002DEC RID: 11756 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x6002DEC")]
[Address(RVA = "0x3447400", Offset = "0x3446200", VA = "0x183447400")]
private T GetItemWhenAvailable(ConcurrentQueue.Segment segment, int i)
{
return null;
}
// Token: 0x06002DED RID: 11757 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x6002DED")]
[Address(RVA = "0x3447000", Offset = "0x3445E00", VA = "0x183447000")]
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: 0x06002DEE RID: 11758 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DEE")]
[Address(RVA = "0x3446F70", Offset = "0x3445D70", VA = "0x183446F70")]
public void Enqueue(T item)
{
}
// Token: 0x06002DEF RID: 11759 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DEF")]
[Address(RVA = "0x3446D10", Offset = "0x3445B10", VA = "0x183446D10")]
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: 0x06002DF0 RID: 11760 RVA: 0x00017FD0 File Offset: 0x000161D0
[Token(Token = "0x6002DF0")]
[Address(RVA = "0x3447C70", Offset = "0x3446A70", VA = "0x183447C70")]
public bool TryDequeue(out T result)
{
return default(bool);
}
// Token: 0x06002DF1 RID: 11761 RVA: 0x00017FE8 File Offset: 0x000161E8
[Token(Token = "0x6002DF1")]
[Address(RVA = "0x3447AC0", Offset = "0x34468C0", VA = "0x183447AC0")]
private bool TryDequeueSlow(out T item)
{
return default(bool);
}
// Token: 0x040019FB RID: 6651
[Token(Token = "0x40019FB")]
private const int InitialSegmentLength = 32;
// Token: 0x040019FC RID: 6652
[Token(Token = "0x40019FC")]
private const int MaxSegmentLength = 1048576;
// Token: 0x040019FD RID: 6653
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x40019FD")]
private object _crossSegmentLock;
// Token: 0x040019FE RID: 6654
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x40019FE")]
private ConcurrentQueue.Segment _tail;
// Token: 0x040019FF RID: 6655
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x40019FF")]
private ConcurrentQueue.Segment _head;
// Token: 0x020005DD RID: 1501
[Token(Token = "0x20005DD")]
[DebuggerDisplay("Capacity = {Capacity}")]
private sealed class Segment
{
// Token: 0x06002DF2 RID: 11762 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DF2")]
[Address(RVA = "0x3448E60", Offset = "0x3447C60", VA = "0x183448E60")]
public Segment(int boundedLength)
{
}
// Token: 0x17000720 RID: 1824
// (get) Token: 0x06002DF3 RID: 11763 RVA: 0x00018000 File Offset: 0x00016200
[Token(Token = "0x17000720")]
internal int Capacity
{
[Token(Token = "0x6002DF3")]
[Address(RVA = "0x40DB30", Offset = "0x40C930", VA = "0x18040DB30")]
get
{
return 0;
}
}
// Token: 0x17000721 RID: 1825
// (get) Token: 0x06002DF4 RID: 11764 RVA: 0x00018018 File Offset: 0x00016218
[Token(Token = "0x17000721")]
internal int FreezeOffset
{
[Token(Token = "0x6002DF4")]
[Address(RVA = "0x3448F20", Offset = "0x3447D20", VA = "0x183448F20")]
get
{
return 0;
}
}
// Token: 0x06002DF5 RID: 11765 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DF5")]
[Address(RVA = "0x3448AB0", Offset = "0x34478B0", VA = "0x183448AB0")]
internal void EnsureFrozenForEnqueues()
{
}
// Token: 0x06002DF6 RID: 11766 RVA: 0x00018030 File Offset: 0x00016230
[Token(Token = "0x6002DF6")]
[Address(RVA = "0x3448B50", Offset = "0x3447950", VA = "0x183448B50")]
public bool TryDequeue(out T item)
{
return default(bool);
}
// Token: 0x06002DF7 RID: 11767 RVA: 0x00018048 File Offset: 0x00016248
[Token(Token = "0x6002DF7")]
[Address(RVA = "0x3448D20", Offset = "0x3447B20", VA = "0x183448D20")]
public bool TryEnqueue(T item)
{
return default(bool);
}
// Token: 0x04001A00 RID: 6656
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4001A00")]
internal readonly ConcurrentQueue.Segment.Slot[] _slots;
// Token: 0x04001A01 RID: 6657
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4001A01")]
internal readonly int _slotsMask;
// Token: 0x04001A02 RID: 6658
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4001A02")]
internal PaddedHeadAndTail _headAndTail;
// Token: 0x04001A03 RID: 6659
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4001A03")]
internal bool _preservedForObservation;
// Token: 0x04001A04 RID: 6660
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4001A04")]
internal bool _frozenForEnqueues;
// Token: 0x04001A05 RID: 6661
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4001A05")]
internal ConcurrentQueue.Segment _nextSegment;
// Token: 0x020005DE RID: 1502
[Token(Token = "0x20005DE")]
[DebuggerDisplay("Item = {Item}, SequenceNumber = {SequenceNumber}")]
[StructLayout(3)]
internal struct Slot
{
// Token: 0x04001A06 RID: 6662
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4001A06")]
public T Item;
// Token: 0x04001A07 RID: 6663
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4001A07")]
public int SequenceNumber;
}
}
}
}