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()); }
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(); }
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)); }
public _(Multicast <TSource, TIntermediate, TResult> parent, IObserver <TResult> observer, IDisposable cancel) : base(observer, cancel) { _parent = parent; }