public static IDisposable Subscribe <T>(this IParallelObservable <T> value, Action <T> onNext, Action <Exception> onError, Action onCompleted)
        {
            ParallelObserver <T> observer = new ParallelObserver <T>(onNext, onError, onCompleted);
            IDisposable          subject  = value.Subscribe(observer);

            return(subject);
        }
        public static IDisposable Subscribe <T>(this IParallelObservable <T> value, Action <T> onNext)
        {
            ParallelObserver <T> observer = new ParallelObserver <T>(onNext);
            IDisposable          subject  = value.Subscribe(observer);

            return(subject);
        }
        public static IParallelObservable <TSource> WithDegreeOfParallelism <TSource>(
            this IParallelObservable <TSource> source,
            int degreeOfParallelism)
        {
            ParallelBaseSubject <TSource> parallelsubject = (ParallelBaseSubject <TSource>)source;

            parallelsubject.DegreeOfParallelism_ = degreeOfParallelism;
            parallelsubject.BuildScheduler();
            return(parallelsubject);
        }
        //public static IParallelObservable<TSource> AsParallel<TSource>(
        //    this IObserver<TSource> source)
        //{
        //    ParallelObserver<TSource> parallelObserver =
        //        new ParallelObserver<TSource>(source);
        //    return parallelObserver;
        //}

        public static IParallelObservable <TSource> WithExecutionMode <TSource>(
            this IParallelObservable <TSource> source,
            ParallelExecutionMode executionMode)
        {
            ParallelBaseSubject <TSource> parallelsubject = (ParallelBaseSubject <TSource>)source;

            parallelsubject.ParallelExecutionMode_ = executionMode;
            parallelsubject.BuildScheduler();
            return(parallelsubject);
        }
        public static IParallelObservable <TSource> WithCancellation <TSource>(
            this IParallelObservable <TSource> source,
            CancellationToken cancellationToken
            )
        {
            ParallelBaseSubject <TSource> parallelsubject = (ParallelBaseSubject <TSource>)source;

            parallelsubject.CancellationToken_ = cancellationToken;
            parallelsubject.BuildScheduler();
            return(parallelsubject);
        }
        public static IParallelObservable <TSource> WithMergeOptions <TSource>(
            this IParallelObservable <TSource> source,
            ParallelMergeOptions mergeOptions
            )
        {
            ParallelBaseSubject <TSource> parallelsubject = (ParallelBaseSubject <TSource>)source;

            parallelsubject.ParallelMergeOptions_ = mergeOptions;
            parallelsubject.BuildScheduler();
            return(parallelsubject);
        }
Example #7
0
        public void GenerateTest()
        {
            IParallelObservable <int> returnObject =
                ParallelObservable.Generate(1, i => i <= 5, i => i + 1, i => i).
                WithExecutionMode(ParallelExecutionMode.ForceParallelism);

            returnObject.Subscribe <int>(
                x => Console.WriteLine(" {0} ", x),
                ex => Console.WriteLine("OnError {0}", ex.Message),
                () => Console.WriteLine("OnCompleted"));
        }