12 : base(taskIndex, groupState)
20 int maxToRunInParallel = partitions.PartitionCount - 1;
24 for (
int j = 0; j < maxToRunInParallel; j++)
33 task.RunSynchronously(taskScheduler);
34 for (
int i = 0; i < sortHelpers.Length; i++)
38 groupState.
QueryEnd(userInitiatedDispose:
false);
46 _results.Value =
value;
CancellationToken MergedCancellationToken
static void Spool(QueryTaskGroupState groupState, PartitionedStream< TInputOutput, TKey > partitions, Shared< TInputOutput[]> results, TaskScheduler taskScheduler)
readonly SortHelper< TInputOutput > _sortHelper
OrderPreservingSpoolingTask(int taskIndex, QueryTaskGroupState groupState, Shared< TInputOutput[]> results, SortHelper< TInputOutput > sortHelper)
readonly Shared< TInputOutput[]> _results
override void SpoolingWork()
void QueryEnd(bool userInitiatedDispose)
void QueryBegin(Task rootTask)
CancellationState CancellationState
Task RunAsynchronously(TaskScheduler taskScheduler)
Task RunSynchronously(TaskScheduler taskScheduler)
QueryTaskGroupState _groupState
static SortHelper< TInputOutput, TKey >[] GenerateSortHelpers(PartitionedStream< TInputOutput, TKey > partitions, QueryTaskGroupState groupState)