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 IDisposable Run() { 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) { base._observer.OnError(exception); base.Dispose(); return(Disposable.Empty); } var subscription = observable.SubscribeSafe(this); var connection = connectable.Connect(); return(new CompositeDisposable(subscription, connection)); }