27 internal OrderPreservingPipeliningSpoolingTask(
QueryOperatorEnumerator<TOutput, TKey> partition,
QueryTaskGroupState taskGroupState,
bool[]
consumerWaiting,
bool[]
producerWaiting,
bool[]
producerDone,
int partitionIndex,
Queue<
Pair<TKey, TOutput>>[]
buffers,
object bufferLock,
bool autoBuffered)
44 TKey currentKey =
default(TKey);
52 for (i = 0; i < num; i++)
70 for (
int j = 0;
j < i;
j++)
89 public static void Spool(
QueryTaskGroupState groupState,
PartitionedStream<TOutput, TKey> partitions,
bool[]
consumerWaiting,
bool[]
producerWaiting,
bool[]
producerDone,
Queue<
Pair<TKey, TOutput>>[]
buffers,
object[]
bufferLocks,
TaskScheduler taskScheduler,
bool autoBuffered)
120 base.SpoolingFinally();
CancellationToken MergedCancellationToken
override void SpoolingWork()
readonly bool[] _producerDone
override void SpoolingFinally()
readonly object _bufferLock
readonly bool[] _producerWaiting
OrderPreservingPipeliningSpoolingTask(QueryOperatorEnumerator< TOutput, TKey > partition, QueryTaskGroupState taskGroupState, bool[] consumerWaiting, bool[] producerWaiting, bool[] producerDone, int partitionIndex, Queue< Pair< TKey, TOutput > >[] buffers, object bufferLock, bool autoBuffered)
static void Spool(QueryTaskGroupState groupState, PartitionedStream< TOutput, TKey > partitions, bool[] consumerWaiting, bool[] producerWaiting, bool[] producerDone, Queue< Pair< TKey, TOutput > >[] buffers, object[] bufferLocks, TaskScheduler taskScheduler, bool autoBuffered)
readonly QueryOperatorEnumerator< TOutput, TKey > _partition
readonly Queue< Pair< TKey, TOutput > >[] _buffers
readonly int _partitionIndex
readonly bool _autoBuffered
readonly bool[] _consumerWaiting
readonly QueryTaskGroupState _taskGroupState
CancellationState CancellationState
static bool Wait(object obj, int millisecondsTimeout)
static void Pulse(object obj)