Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
OrderPreservingMergeHelper.cs
Go to the documentation of this file.
1
using
System.Collections.Generic
;
2
using
System.Threading.Tasks
;
3
4
namespace
System.Linq.Parallel
;
5
6
internal
sealed
class
OrderPreservingMergeHelper
<
TInputOutput
, TKey> :
IMergeHelper
<TInputOutput>
7
{
8
private
readonly
QueryTaskGroupState
_taskGroupState
;
9
10
private
readonly
PartitionedStream<TInputOutput, TKey>
_partitions
;
11
12
private
readonly
Shared<TInputOutput[]>
_results
;
13
14
private
readonly
TaskScheduler
_taskScheduler
;
15
16
internal
OrderPreservingMergeHelper
(
PartitionedStream<TInputOutput, TKey>
partitions
,
TaskScheduler
taskScheduler
,
CancellationState
cancellationState
,
int
queryId
)
17
{
18
_taskGroupState
=
new
QueryTaskGroupState
(
cancellationState
,
queryId
);
19
_partitions
=
partitions
;
20
_results
=
new
Shared<TInputOutput[]>
(
null
);
21
_taskScheduler
=
taskScheduler
;
22
}
23
24
void
IMergeHelper<TInputOutput>
.Execute()
25
{
26
OrderPreservingSpoolingTask<TInputOutput, TKey>
.Spool(
_taskGroupState
,
_partitions
,
_results
,
_taskScheduler
);
27
}
28
29
IEnumerator<TInputOutput>
IMergeHelper<TInputOutput>
.
GetEnumerator
()
30
{
31
return
((
IEnumerable<TInputOutput>
)
_results
.
Value
).GetEnumerator();
32
}
33
34
public
TInputOutput
[]
GetResultsAsArray
()
35
{
36
return
_results
.
Value
;
37
}
38
}
System.Collections.Generic.Dictionary.GetEnumerator
Enumerator GetEnumerator()
Definition
Dictionary.cs:984
System.Collections.Generic.Dictionary
Definition
Dictionary.cs:14
System.Linq.Parallel.CancellationState
Definition
CancellationState.cs:6
System.Linq.Parallel.OrderPreservingMergeHelper._taskScheduler
readonly TaskScheduler _taskScheduler
Definition
OrderPreservingMergeHelper.cs:14
System.Linq.Parallel.OrderPreservingMergeHelper.OrderPreservingMergeHelper
OrderPreservingMergeHelper(PartitionedStream< TInputOutput, TKey > partitions, TaskScheduler taskScheduler, CancellationState cancellationState, int queryId)
Definition
OrderPreservingMergeHelper.cs:16
System.Linq.Parallel.OrderPreservingMergeHelper._partitions
readonly PartitionedStream< TInputOutput, TKey > _partitions
Definition
OrderPreservingMergeHelper.cs:10
System.Linq.Parallel.OrderPreservingMergeHelper._taskGroupState
readonly QueryTaskGroupState _taskGroupState
Definition
OrderPreservingMergeHelper.cs:8
System.Linq.Parallel.OrderPreservingMergeHelper._results
readonly Shared< TInputOutput[]> _results
Definition
OrderPreservingMergeHelper.cs:12
System.Linq.Parallel.OrderPreservingMergeHelper.GetResultsAsArray
TInputOutput[] GetResultsAsArray()
Definition
OrderPreservingMergeHelper.cs:34
System.Linq.Parallel.OrderPreservingMergeHelper
Definition
OrderPreservingMergeHelper.cs:7
System.Linq.Parallel.QueryTaskGroupState
Definition
QueryTaskGroupState.cs:7
System.Linq.Parallel.Shared.Value
T Value
Definition
Shared.cs:5
System.Threading.Tasks.TaskScheduler
Definition
TaskScheduler.cs:10
System.Linq.Parallel.IMergeHelper
Definition
IMergeHelper.cs:6
System.Collections.Generic
Definition
IHashKeyCollection.cs:1
System.Linq.Parallel
Definition
AnyAllSearchOperator.cs:5
System.Threading.Tasks
Definition
TaskToApm.cs:3
source
System.Linq.Parallel
System.Linq.Parallel
OrderPreservingMergeHelper.cs
Generated by
1.10.0