a
This commit is contained in:
@@ -0,0 +1,341 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace System.Collections.Concurrent
|
||||
{
|
||||
/// <summary>Represents a thread-safe first in-first out (FIFO) collection.</summary>
|
||||
/// <typeparam name="T">The type of the elements contained in the queue.</typeparam>
|
||||
// Token: 0x020005DC RID: 1500
|
||||
[Token(Token = "0x20005DC")]
|
||||
[DebuggerDisplay("Count = {Count}")]
|
||||
[DebuggerTypeProxy(typeof(IProducerConsumerCollectionDebugView<>))]
|
||||
[Serializable]
|
||||
public class ConcurrentQueue<T> : IEnumerable<T>, IEnumerable, ICollection, IReadOnlyCollection<T>
|
||||
{
|
||||
/// <summary>Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1" /> class.</summary>
|
||||
// Token: 0x06002DE0 RID: 11744 RVA: 0x00002050 File Offset: 0x00000250
|
||||
[Token(Token = "0x6002DE0")]
|
||||
[Address(RVA = "0x3447D00", Offset = "0x3446B00", VA = "0x183447D00")]
|
||||
public ConcurrentQueue()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>Copies the elements of the <see cref="T:System.Collections.ICollection" /> to an <see cref="T:System.Array" />, starting at a particular <see cref="T:System.Array" /> index.</summary>
|
||||
/// <param name="array">The one-dimensional <see cref="T:System.Array" /> that is the destination of the elements copied from the <see cref="T:System.Collections.Concurrent.ConcurrentBag`1" />. The <see cref="T:System.Array" /> must have zero-based indexing.</param>
|
||||
/// <param name="index">The zero-based index in <paramref name="array" /> at which copying begins.</param>
|
||||
/// <exception cref="T:System.ArgumentNullException">
|
||||
/// <paramref name="array" /> is a null reference (Nothing in Visual Basic).</exception>
|
||||
/// <exception cref="T:System.ArgumentOutOfRangeException">
|
||||
/// <paramref name="index" /> is less than zero.</exception>
|
||||
/// <exception cref="T:System.ArgumentException">
|
||||
/// <paramref name="array" /> is multidimensional. -or- <paramref name="array" /> does not have zero-based indexing. -or- <paramref name="index" /> is equal to or greater than the length of the <paramref name="array" /> -or- The number of elements in the source <see cref="T:System.Collections.ICollection" /> is greater than the available space from <paramref name="index" /> to the end of the destination <paramref name="array" />. -or- The type of the source <see cref="T:System.Collections.ICollection" /> cannot be cast automatically to the type of the destination <paramref name="array" />.</exception>
|
||||
// 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)
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection" /> is synchronized with the SyncRoot.</summary>
|
||||
/// <returns>Always returns <see langword="false" /> to indicate access is not synchronized.</returns>
|
||||
// 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);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection" />. This property is not supported.</summary>
|
||||
/// <returns>Returns null (Nothing in Visual Basic).</returns>
|
||||
/// <exception cref="T:System.NotSupportedException">The SyncRoot property is not supported.</exception>
|
||||
// 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;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Returns an enumerator that iterates through a collection.</summary>
|
||||
/// <returns>An <see cref="T:System.Collections.IEnumerator" /> that can be used to iterate through the collection.</returns>
|
||||
// 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;
|
||||
}
|
||||
|
||||
/// <summary>Copies the elements stored in the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1" /> to a new array.</summary>
|
||||
/// <returns>A new array containing a snapshot of elements copied from the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1" />.</returns>
|
||||
// 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;
|
||||
}
|
||||
|
||||
/// <summary>Gets the number of elements contained in the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1" />.</summary>
|
||||
/// <returns>The number of elements contained in the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1" />.</returns>
|
||||
// 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<T>.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<T>.Segment head, int headHead, ConcurrentQueue<T>.Segment tail, int tailTail)
|
||||
{
|
||||
return 0L;
|
||||
}
|
||||
|
||||
/// <summary>Copies the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1" /> elements to an existing one-dimensional <see cref="T:System.Array" />, starting at the specified array index.</summary>
|
||||
/// <param name="array">The one-dimensional <see cref="T:System.Array" /> that is the destination of the elements copied from the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1" />. The <see cref="T:System.Array" /> must have zero-based indexing.</param>
|
||||
/// <param name="index">The zero-based index in <paramref name="array" /> at which copying begins.</param>
|
||||
/// <exception cref="T:System.ArgumentNullException">
|
||||
/// <paramref name="array" /> is a null reference (Nothing in Visual Basic).</exception>
|
||||
/// <exception cref="T:System.ArgumentOutOfRangeException">
|
||||
/// <paramref name="index" /> is less than zero.</exception>
|
||||
/// <exception cref="T:System.ArgumentException">
|
||||
/// <paramref name="index" /> is equal to or greater than the length of the <paramref name="array" /> -or- The number of elements in the source <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1" /> is greater than the available space from <paramref name="index" /> to the end of the destination <paramref name="array" />.</exception>
|
||||
// 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)
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>Returns an enumerator that iterates through the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1" />.</summary>
|
||||
/// <returns>An enumerator for the contents of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1" />.</returns>
|
||||
// Token: 0x06002DEA RID: 11754 RVA: 0x00002082 File Offset: 0x00000282
|
||||
[Token(Token = "0x6002DEA")]
|
||||
[Address(RVA = "0x3447360", Offset = "0x3446160", VA = "0x183447360", Slot = "4")]
|
||||
public IEnumerator<T> 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<T>.Segment head, out int headHead, out ConcurrentQueue<T>.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<T>.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<T> Enumerate(ConcurrentQueue<T>.Segment head, int headHead, ConcurrentQueue<T>.Segment tail, int tailTail)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
/// <summary>Adds an object to the end of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1" />.</summary>
|
||||
/// <param name="item">The object to add to the end of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1" />. The value can be a null reference (Nothing in Visual Basic) for reference types.</param>
|
||||
// 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)
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>Tries to remove and return the object at the beginning of the concurrent queue.</summary>
|
||||
/// <param name="result">When this method returns, if the operation was successful, <paramref name="result" /> contains the object removed. If no object was available to be removed, the value is unspecified.</param>
|
||||
/// <returns>
|
||||
/// <see langword="true" /> if an element was removed and returned from the beginning of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1" /> successfully; otherwise, <see langword="false" />.</returns>
|
||||
// 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<T>.Segment _tail;
|
||||
|
||||
// Token: 0x040019FF RID: 6655
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
|
||||
[Token(Token = "0x40019FF")]
|
||||
private ConcurrentQueue<T>.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<T>.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<T>.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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user