Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
System.Linq.Parallel.AsynchronousChannel< T > Class Template Referencesealed

Public Member Functions

void Dispose ()
 

Package Functions

 AsynchronousChannel (int index, int chunkSize, CancellationToken cancellationToken, IntValueEvent consumerEvent)
 
 AsynchronousChannel (int index, int capacity, int chunkSize, CancellationToken cancellationToken, IntValueEvent consumerEvent)
 
void FlushBuffers ()
 
void SetDone ()
 
void Enqueue (T item)
 
bool TryDequeue ([MaybeNullWhen(false)][AllowNull] ref T item)
 
bool TryDequeue ([MaybeNullWhen(false)][AllowNull] ref T item, ref bool isDone)
 
void DoneWithDequeueWait ()
 

Properties

bool IsFull [get]
 
bool IsChunkBufferEmpty [get]
 
bool IsDone [get]
 

Private Member Functions

void EnqueueChunk (T[] chunk)
 
void WaitUntilNonFull ()
 
void FlushCachedChunk ()
 
bool TryDequeueChunk ([NotNullWhen(true)] ref T[] chunk)
 
bool TryDequeueChunk ([NotNullWhen(true)] ref T[] chunk, ref bool isDone)
 
T[] InternalDequeueChunk ()
 

Private Attributes

readonly T[][] _buffer
 
readonly int _index
 
volatile int _producerBufferIndex
 
volatile int _consumerBufferIndex
 
volatile bool _done
 
T[] _producerChunk
 
int _producerChunkIndex
 
T[] _consumerChunk
 
int _consumerChunkIndex
 
readonly int _chunkSize
 
ManualResetEventSlim _producerEvent
 
IntValueEvent _consumerEvent
 
volatile int _producerIsWaiting
 
volatile int _consumerIsWaiting
 
readonly CancellationToken _cancellationToken
 

Detailed Description

Definition at line 6 of file AsynchronousChannel.cs.


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