Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
System.Collections.Concurrent.BlockingCollection< T > Class Template Reference

Public Member Functions

 BlockingCollection ()
 
 BlockingCollection (int boundedCapacity)
 
 BlockingCollection (IProducerConsumerCollection< T > collection, int boundedCapacity)
 
 BlockingCollection (IProducerConsumerCollection< T > collection)
 
void Add (T item)
 
void Add (T item, CancellationToken cancellationToken)
 
bool TryAdd (T item)
 
bool TryAdd (T item, TimeSpan timeout)
 
bool TryAdd (T item, int millisecondsTimeout)
 
bool TryAdd (T item, int millisecondsTimeout, CancellationToken cancellationToken)
 
T Take ()
 
T Take (CancellationToken cancellationToken)
 
bool TryTake ([MaybeNullWhen(false)] out T item)
 
bool TryTake ([MaybeNullWhen(false)] out T item, TimeSpan timeout)
 
bool TryTake ([MaybeNullWhen(false)] out T item, int millisecondsTimeout)
 
bool TryTake ([MaybeNullWhen(false)] out T item, int millisecondsTimeout, CancellationToken cancellationToken)
 
void CompleteAdding ()
 
void Dispose ()
 
T[] ToArray ()
 
void CopyTo (T[] array, int index)
 
IEnumerable< TGetConsumingEnumerable ()
 
IEnumerable< TGetConsumingEnumerable (CancellationToken cancellationToken)
 

Static Public Member Functions

static int AddToAny (BlockingCollection< T >[] collections, T item)
 
static int AddToAny (BlockingCollection< T >[] collections, T item, CancellationToken cancellationToken)
 
static int TryAddToAny (BlockingCollection< T >[] collections, T item)
 
static int TryAddToAny (BlockingCollection< T >[] collections, T item, TimeSpan timeout)
 
static int TryAddToAny (BlockingCollection< T >[] collections, T item, int millisecondsTimeout)
 
static int TryAddToAny (BlockingCollection< T >[] collections, T item, int millisecondsTimeout, CancellationToken cancellationToken)
 
static int TakeFromAny (BlockingCollection< T >[] collections, out T? item)
 
static int TakeFromAny (BlockingCollection< T >[] collections, out T? item, CancellationToken cancellationToken)
 
static int TryTakeFromAny (BlockingCollection< T >[] collections, out T? item)
 
static int TryTakeFromAny (BlockingCollection< T >[] collections, out T? item, TimeSpan timeout)
 
static int TryTakeFromAny (BlockingCollection< T >[] collections, out T? item, int millisecondsTimeout)
 
static int TryTakeFromAny (BlockingCollection< T >[] collections, out T? item, int millisecondsTimeout, CancellationToken cancellationToken)
 

Protected Member Functions

virtual void Dispose (bool disposing)
 

Properties

int BoundedCapacity [get]
 
bool IsAddingCompleted [get]
 
bool IsCompleted [get]
 
int Count [get]
 
bool ICollection. IsSynchronized [get]
 
object ICollection. SyncRoot [get]
 

Private Member Functions

void Initialize (IProducerConsumerCollection< T > collection, int boundedCapacity, int collectionCount)
 
bool TryAddWithNoTimeValidation (T item, int millisecondsTimeout, CancellationToken cancellationToken)
 
bool TryTakeWithNoTimeValidation ([MaybeNullWhen(false)] out T item, int millisecondsTimeout, CancellationToken cancellationToken, CancellationTokenSource combinedTokenSource)
 
void CancelWaitingConsumers ()
 
void CancelWaitingProducers ()
 
void ICollection. CopyTo (Array array, int index)
 
IEnumerator< T > IEnumerable< T >. GetEnumerator ()
 
IEnumerator IEnumerable. GetEnumerator ()
 
void CheckDisposed ()
 

Static Private Member Functions

static int TryAddToAnyCore (BlockingCollection< T >[] collections, T item, int millisecondsTimeout, CancellationToken externalCancellationToken)
 
static int TryAddToAnyFast (BlockingCollection< T >[] collections, T item)
 
static List< WaitHandleGetHandles (BlockingCollection< T >[] collections, CancellationToken externalCancellationToken, bool isAddOperation, out CancellationToken[] cancellationTokens)
 
static int UpdateTimeOut (uint startTime, int originalWaitMillisecondsTimeout)
 
static int TryTakeFromAnyCore (BlockingCollection< T >[] collections, out T item, int millisecondsTimeout, bool isTakeOperation, CancellationToken externalCancellationToken)
 
static int TryTakeFromAnyCoreSlow (BlockingCollection< T >[] collections, out T item, int millisecondsTimeout, bool isTakeOperation, CancellationToken externalCancellationToken)
 
static void ValidateCollectionsArray (BlockingCollection< T >[] collections, bool isAddOperation)
 
static void ValidateTimeout (TimeSpan timeout)
 
static void ValidateMillisecondsTimeout (int millisecondsTimeout)
 

Private Attributes

IProducerConsumerCollection< T_collection
 
int _boundedCapacity
 
SemaphoreSlim _freeNodes
 
SemaphoreSlim _occupiedNodes
 
bool _isDisposed
 
CancellationTokenSource _consumersCancellationTokenSource
 
CancellationTokenSource _producersCancellationTokenSource
 
volatile int _currentAdders
 

Detailed Description

Definition at line 13 of file BlockingCollection.cs.


The documentation for this class was generated from the following file: