Property | Type | Description | |
---|---|---|---|
PostExecuteWorkItemCallback | void |
Method | Description | |
---|---|---|
AddTask ( Task task ) : void |
Adds a new task to the scheduler.
|
|
AddWorkGroup ( string name, int concurrencyLevel ) : IWorkGroup |
Adds a new work group.
|
|
AddWorkGroup ( string name, int concurrencyLevel, int maxQueueSize ) : IWorkGroup |
Adds a new work group.
|
|
RoomForNewWorkGroupTask ( IWorkGroup group ) : RoomForNewTaskResult |
If true, the task scheduler has room for the specified work group task
|
|
SmartThreadPoolTaskScheduler ( ITaskSchedulerConfiguration configuration, IWaitForEventOrCancelThreadPool waitForFreeThread, IMetrics metrics ) : System |
Initializes a new instance of the SmartThreadPoolTaskScheduler class.
|
|
Start ( ) : void |
Starts this instance.
|
|
Subscribe ( ) : int |
Informs the scheduler that it has another client connected
|
|
UnSubscribe ( int id ) : void |
Informs the scheduler that a client has disconnected
|
Method | Description | |
---|---|---|
DeincrementCounter ( ) : void |
De-increments the counter for the running tasks
|
|
DeincrementGroup ( IWorkGroup group ) : void |
De-increments the task counter for a specific group.
|
|
Dispose ( bool disposing ) : void |
Releases unmanaged and - optionally - managed resources.
|
|
GetScheduledTasks ( ) : IEnumerable |
Gets the tasks currently scheduled to this scheduler. This will always return an empty enumerable, as tasks are launched as soon as they're queued; we also don't want the .net scheduler to mess with our internal queue. |
|
HaveRoomForWorkGroupTask ( IWorkGroup group ) : bool |
Returns true if the work group has room for a new task
|
|
IncrementCounter ( ) : void |
Increments the counter for the running tasks
|
|
IncrementGroup ( IWorkGroup group ) : void |
Increments the task count for a specific group
|
|
QueueTask ( Task task ) : void |
Queues a T:System.Threading.Tasks.Task to the scheduler.
|
|
SetWaitHandle ( IWorkGroup group ) : void |
Sets the wait handle.
|
|
ThrowIfDisposed ( [ name = "" ) : void |
Throws an exception if this instance has been disposed.
|
|
TryExecuteTaskInline ( Task task, bool taskWasPreviouslyQueued ) : bool |
Runs the provided task on the current thread.
|
|
TryExecuteTaskWrapped ( Task task, |
A wrapper for executing the task, so that we can return the state information back to the caller
|
Method | Description | |
---|---|---|
PostExecuteWorkItemCallback ( IWorkItemResult wir ) : void |
Fires after each task is complete.
|
public AddWorkGroup ( string name, int concurrencyLevel ) : IWorkGroup | ||
name | string | The name. |
concurrencyLevel | int | The concurrency level. |
return | IWorkGroup |
public AddWorkGroup ( string name, int concurrencyLevel, int maxQueueSize ) : IWorkGroup | ||
name | string | The name. |
concurrencyLevel | int | The concurrency level. |
maxQueueSize | int | Maximum size of the queue. Work groups have a queue that is separate per queue, and is not shared with non work group items |
return | IWorkGroup |
protected DeincrementGroup ( IWorkGroup group ) : void | ||
group | IWorkGroup | The group. |
return | void |
protected Dispose ( bool disposing ) : void | ||
disposing | bool | |
return | void |
protected GetScheduledTasks ( ) : IEnumerable |
||
return | IEnumerable |
protected HaveRoomForWorkGroupTask ( IWorkGroup group ) : bool | ||
group | IWorkGroup | The group. |
return | bool |
protected IncrementGroup ( IWorkGroup group ) : void | ||
group | IWorkGroup | The group. |
return | void |
protected final QueueTask ( Task task ) : void | ||
task | Task | The |
return | void |
public RoomForNewWorkGroupTask ( IWorkGroup group ) : RoomForNewTaskResult | ||
group | IWorkGroup | The group. |
return | RoomForNewTaskResult |
protected SetWaitHandle ( IWorkGroup group ) : void | ||
group | IWorkGroup | The group. |
return | void |
public SmartThreadPoolTaskScheduler ( ITaskSchedulerConfiguration configuration, IWaitForEventOrCancelThreadPool waitForFreeThread, IMetrics metrics ) : System | ||
configuration | ITaskSchedulerConfiguration | The configuration. |
waitForFreeThread | IWaitForEventOrCancelThreadPool | The wait for free thread. |
metrics | IMetrics | the metrics factory |
return | System |
protected ThrowIfDisposed ( [ name = "" ) : void | ||
name | [ | The name. |
return | void |
protected TryExecuteTaskInline ( Task task, bool taskWasPreviouslyQueued ) : bool | ||
task | Task | The task to be executed. |
taskWasPreviouslyQueued | bool | Ignored. |
return | bool |
protected TryExecuteTaskWrapped ( Task task, |
||
task | Task | The task. |
state | The state. | |
return |
public UnSubscribe ( int id ) : void | ||
id | int | The client identifier. |
return | void |