Example #1
0
            public void Run(Multicast <TSource, TIntermediate, TResult> parent)
            {
                var observable  = default(IObservable <TResult>);
                var connectable = default(IConnectableObservable <TIntermediate>);

                try
                {
                    var subject = parent._subjectSelector();
                    connectable = new ConnectableObservable <TSource, TIntermediate>(parent._source, subject);
                    observable  = parent._selector(connectable);
                }
                catch (Exception exception)
                {
                    ForwardOnError(exception);
                    return;
                }

                Run(observable);
                Disposable.SetSingle(ref _connection, connectable.Connect());
            }
Example #2
0
            public void Run(Multicast <TSource, TIntermediate, TResult> parent)
            {
                IObservable <TResult> observable;
                IConnectableObservable <TIntermediate> connectable;

                try
                {
                    var subject = parent._subjectSelector();
                    connectable = new ConnectableObservable <TSource, TIntermediate>(parent._source, subject);
                    observable  = parent._selector(connectable);
                }
                catch (Exception exception)
                {
                    ForwardOnError(exception);
                    return;
                }

                Run(observable);
                _connection.Disposable = connectable.Connect();
            }
Example #3
0
            public IDisposable Run(Multicast <TSource, TIntermediate, TResult> parent)
            {
                var observable  = default(IObservable <TResult>);
                var connectable = default(IConnectableObservable <TIntermediate>);

                try
                {
                    var subject = parent._subjectSelector();
                    connectable = new ConnectableObservable <TSource, TIntermediate>(parent._source, subject);
                    observable  = parent._selector(connectable);
                }
                catch (Exception exception)
                {
                    ForwardOnError(exception);
                    return(Disposable.Empty);
                }

                var subscription = observable.SubscribeSafe(this);
                var connection   = connectable.Connect();

                return(StableCompositeDisposable.Create(subscription, connection));
            }
Example #4
0
 public _(Multicast <TSource, TIntermediate, TResult> parent, IObserver <TResult> observer, IDisposable cancel)
     : base(observer, cancel)
 {
     _parent = parent;
 }