public IDisposable Run() { SingleAssignmentDisposable singleAssignmentDisposable = new SingleAssignmentDisposable(); TakeUntilObservable <T, TOther> .TakeUntil.TakeUntilOther observer = new TakeUntilObservable <T, TOther> .TakeUntil.TakeUntilOther(this, singleAssignmentDisposable); singleAssignmentDisposable.Disposable = this.parent.other.Subscribe(observer); IDisposable disposable = this.parent.source.Subscribe(this); return(StableCompositeDisposable.Create(singleAssignmentDisposable, disposable)); }
public TakeUntil(TakeUntilObservable <T, TOther> parent, IObserver <T> observer, IDisposable cancel) : base(observer, cancel) { this.parent = parent; }
public TakeUntilOther(TakeUntilObservable <T, TOther> .TakeUntil sourceObserver, IDisposable subscription) { this.sourceObserver = sourceObserver; this.subscription = subscription; }