Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }