Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
System.Threading.Tasks.ConcurrentExclusiveSchedulerPair Class Reference

Classes

class  CompletionState
 
class  ConcurrentExclusiveTaskScheduler
 
class  DebugView
 
class  SchedulerWorkItem
 

Public Member Functions

 ConcurrentExclusiveSchedulerPair ()
 
 ConcurrentExclusiveSchedulerPair (TaskScheduler taskScheduler)
 
 ConcurrentExclusiveSchedulerPair (TaskScheduler taskScheduler, int maxConcurrencyLevel)
 
 ConcurrentExclusiveSchedulerPair (TaskScheduler taskScheduler, int maxConcurrencyLevel, int maxItemsPerTask)
 
void Complete ()
 

Static Package Functions

static TaskCreationOptions GetCreationOptionsForTask (bool isReplacementReplica=false)
 

Properties

static int DefaultMaxConcurrencyLevel [get]
 
object ValueLock [get]
 
Task Completion [get]
 
bool CompletionRequested [get]
 
bool ReadyToComplete [get]
 
TaskScheduler ConcurrentScheduler [get]
 
TaskScheduler ExclusiveScheduler [get]
 
int ConcurrentTaskCountForDebugger [get]
 
int ExclusiveTaskCountForDebugger [get]
 
ProcessingMode ModeForDebugger [get]
 

Private Types

enum  ProcessingMode : byte {
  NotCurrentlyProcessing = 0 , ProcessingExclusiveTask = 1 , ProcessingConcurrentTasks = 2 , Completing = 4 ,
  Completed = 8
}
 

Private Member Functions

CompletionState EnsureCompletionStateInitialized ()
 
void RequestCompletion ()
 
void CleanupStateIfCompletingAndQuiesced ()
 
void CompleteTaskAsync ()
 
void FaultWithTask (Task faultedTask)
 
void ProcessAsyncIfNecessary (bool fairly=false)
 
bool TryQueueThreadPoolWorkItem (bool fairly)
 
void ProcessExclusiveTasks ()
 
void ProcessConcurrentTasks ()
 

Private Attributes

readonly ThreadLocal< ProcessingModem_threadProcessingMode = new ThreadLocal<ProcessingMode>()
 
readonly ConcurrentExclusiveTaskScheduler m_concurrentTaskScheduler
 
readonly ConcurrentExclusiveTaskScheduler m_exclusiveTaskScheduler
 
readonly TaskScheduler m_underlyingTaskScheduler
 
readonly int m_maxConcurrencyLevel
 
readonly int m_maxItemsPerTask
 
int m_processingCount
 
CompletionState m_completionState
 
SchedulerWorkItem m_threadPoolWorkItem
 

Detailed Description

Definition at line 8 of file ConcurrentExclusiveSchedulerPair.cs.


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