internal override void WrapPartitionedStream <TKey>(PartitionedStream <TInput, TKey> inputStream, IPartitionedStreamRecipient <bool> recipient, bool preferStriping, QuerySettings settings) { Shared <bool> resultFoundFlag = new Shared <bool>(false); int partitionCount = inputStream.PartitionCount; PartitionedStream <bool, int> partitionedStream = new PartitionedStream <bool, int>(partitionCount, Util.GetDefaultComparer <int>(), OrdinalIndexState.Correct); for (int i = 0; i < partitionCount; i++) { partitionedStream[i] = new AnyAllSearchOperatorEnumerator <TInput, TKey>(inputStream[i], this.m_qualification, this.m_predicate, i, resultFoundFlag, settings.CancellationState.MergedCancellationToken); } recipient.Receive <int>(partitionedStream); }
internal override void WrapPartitionedStream <TKey>( PartitionedStream <TInput, TKey> inputStream, IPartitionedStreamRecipient <bool> recipient, bool preferStriping, QuerySettings settings) { // Create a shared cancellation variable and then return a possibly wrapped new enumerator. Shared <bool> resultFoundFlag = new Shared <bool>(false); int partitionCount = inputStream.PartitionCount; PartitionedStream <bool, int> outputStream = new PartitionedStream <bool, int>( partitionCount, Util.GetDefaultComparer <int>(), OrdinalIndexState.Correct); for (int i = 0; i < partitionCount; i++) { outputStream[i] = new AnyAllSearchOperatorEnumerator <TKey>(inputStream[i], _qualification, _predicate, i, resultFoundFlag, settings.CancellationState.MergedCancellationToken); } recipient.Receive(outputStream); }