Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
◆
Execute< TKey >()
static
MergeExecutor
<
TInputOutput
>
System.Linq.Parallel.MergeExecutor
<
TInputOutput
>.
Execute
< TKey >
(
PartitionedStream
<
TInputOutput
, TKey >
partitions
,
bool
ignoreOutput
,
ParallelMergeOptions
options
,
TaskScheduler
taskScheduler
,
bool
isOrdered
,
CancellationState
cancellationState
,
int
queryId
)
inline
static
package
Definition at line
16
of file
MergeExecutor.cs
.
17
{
18
MergeExecutor<TInputOutput>
mergeExecutor
=
new
MergeExecutor<TInputOutput>
();
19
if
(
isOrdered
&& !
ignoreOutput
)
20
{
21
if
(
options
!=
ParallelMergeOptions
.FullyBuffered && !
partitions
.OrdinalIndexState.IsWorseThan(OrdinalIndexState.Increasing))
22
{
23
bool
autoBuffered
=
options
==
ParallelMergeOptions
.AutoBuffered;
24
if
(
partitions
.PartitionCount > 1)
25
{
26
mergeExecutor._mergeHelper =
new
OrderPreservingPipeliningMergeHelper<TInputOutput, TKey>
(
partitions
,
taskScheduler
,
cancellationState
,
autoBuffered
,
queryId
,
partitions
.KeyComparer);
27
}
28
else
29
{
30
mergeExecutor._mergeHelper =
new
DefaultMergeHelper<TInputOutput, TKey>
(
partitions
,
ignoreOutput
:
false
,
options
,
taskScheduler
,
cancellationState
,
queryId
);
31
}
32
}
33
else
34
{
35
mergeExecutor._mergeHelper =
new
OrderPreservingMergeHelper<TInputOutput, TKey>
(
partitions
,
taskScheduler
,
cancellationState
,
queryId
);
36
}
37
}
38
else
39
{
40
mergeExecutor._mergeHelper =
new
DefaultMergeHelper<TInputOutput, TKey>
(
partitions
,
ignoreOutput
,
options
,
taskScheduler
,
cancellationState
,
queryId
);
41
}
42
mergeExecutor
.Execute();
43
return
mergeExecutor
;
44
}
System.Collections.Generic.Dictionary
Definition
Dictionary.cs:14
System.Linq.ParallelMergeOptions
ParallelMergeOptions
Definition
ParallelMergeOptions.cs:4
System.ExceptionArgument.options
@ options
References
System.options
.
System
Linq
Parallel
MergeExecutor
Generated by
1.10.0