C# Class WebSocketServer.Utils.SequentialLeveledTaskScheduler

Inheritance: System.Threading.Tasks.TaskScheduler
显示文件 Open project: khenidak/WebSocketsServer

Public Methods

Method Description
AddQueue ( string QueueId ) : void
GetScheduledTasks ( string QueueId ) : IEnumerable
RemoveQueue ( string QueueId ) : void

Protected Methods

Method Description
GetScheduledTasks ( ) : IEnumerable
QueueTask ( Task task ) : void
TryExecuteTaskInline ( Task task, bool taskWasPreviouslyQueued ) : bool

Private Methods

Method Description
GetOrAddLock ( string QueueId, bool AddIfNotExist = true ) : object
GetOrAddQueue ( string QueueId, bool isHighPriority, bool addIfNotExist = true ) : ConcurrentQueue
ProcessUnleveledTask ( Task task ) : void
ProcessWork ( string QueueId ) : void
TaskAsLeveledTask ( Task task ) : ILeveledTask

Method Details

AddQueue() public method

public AddQueue ( string QueueId ) : void
QueueId string
return void

GetScheduledTasks() protected method

protected GetScheduledTasks ( ) : IEnumerable
return IEnumerable

GetScheduledTasks() public method

public GetScheduledTasks ( string QueueId ) : IEnumerable
QueueId string
return IEnumerable

QueueTask() protected method

protected QueueTask ( Task task ) : void
task Task
return void

RemoveQueue() public method

public RemoveQueue ( string QueueId ) : void
QueueId string
return void

TryExecuteTaskInline() protected method

protected TryExecuteTaskInline ( Task task, bool taskWasPreviouslyQueued ) : bool
task Task
taskWasPreviouslyQueued bool
return bool