Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
PipelineSpoolingTask.cs
Go to the documentation of this file.
2
4
5internal sealed class PipelineSpoolingTask<TInputOutput, TIgnoreKey> : SpoolingTaskBase
6{
8
10
17
18 protected override void SpoolingWork()
19 {
20 TInputOutput currentElement = default(TInputOutput);
21 TIgnoreKey currentKey = default(TIgnoreKey);
25 while (source.MoveNext(ref currentElement, ref currentKey) && !mergedCancellationToken.IsCancellationRequested)
26 {
27 destination.Enqueue(currentElement);
28 }
29 destination.FlushBuffers();
30 }
31
32 protected override void SpoolingFinally()
33 {
34 base.SpoolingFinally();
35 if (_destination != null)
36 {
38 }
40 }
41}
readonly AsynchronousChannel< TInputOutput > _destination
readonly QueryOperatorEnumerator< TInputOutput, TIgnoreKey > _source
PipelineSpoolingTask(int taskIndex, QueryTaskGroupState groupState, QueryOperatorEnumerator< TInputOutput, TIgnoreKey > source, AsynchronousChannel< TInputOutput > destination)
QueryTaskGroupState _groupState
Definition QueryTask.cs:10