Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ WrapPartitionedStream< TLeftKey, TRightKey >()

override void System.Linq.Parallel.JoinQueryOperator< TLeftInput, TRightInput, TKey, TOutput >.WrapPartitionedStream< TLeftKey, TRightKey > ( PartitionedStream< TLeftInput, TLeftKey > leftStream,
PartitionedStream< TRightInput, TRightKey > rightStream,
IPartitionedStreamRecipient< TOutput > outputRecipient,
bool preferStriping,
QuerySettings settings )
inline

Definition at line 29 of file JoinQueryOperator.cs.

30 {
31 if (base.LeftChild.OutputOrdered)
32 {
33 if (base.LeftChild.OrdinalIndexState.IsWorseThan(OrdinalIndexState.Increasing))
34 {
35 PartitionedStream<TLeftInput, int> partitionedStream = QueryOperator<TLeftInput>.ExecuteAndCollectResults(leftStream, leftStream.PartitionCount, base.OutputOrdered, preferStriping, settings).GetPartitionedStream();
36 WrapPartitionedStreamHelper(ExchangeUtilities.HashRepartitionOrdered(partitionedStream, _leftKeySelector, _keyComparer, null, settings.CancellationState.MergedCancellationToken), rightStream, outputRecipient, settings.CancellationState.MergedCancellationToken);
37 }
38 else
39 {
40 WrapPartitionedStreamHelper(ExchangeUtilities.HashRepartitionOrdered(leftStream, _leftKeySelector, _keyComparer, null, settings.CancellationState.MergedCancellationToken), rightStream, outputRecipient, settings.CancellationState.MergedCancellationToken);
41 }
42 }
43 else
44 {
45 WrapPartitionedStreamHelper(ExchangeUtilities.HashRepartition(leftStream, _leftKeySelector, _keyComparer, null, settings.CancellationState.MergedCancellationToken), rightStream, outputRecipient, settings.CancellationState.MergedCancellationToken);
46 }
47 }
readonly IEqualityComparer< TKey > _keyComparer
readonly Func< TLeftInput, TKey > _leftKeySelector

References System.Linq.Parallel.JoinQueryOperator< TLeftInput, TRightInput, TKey, TOutput >._keyComparer, System.Linq.Parallel.JoinQueryOperator< TLeftInput, TRightInput, TKey, TOutput >._leftKeySelector, System.Linq.Parallel.QuerySettings.CancellationState, and System.Linq.Parallel.CancellationState.MergedCancellationToken.