static IObservable <T> AddRef <T>(IObservable <T> xs, RefCountDisposable r) { return(Observable.Create <T>((IObserver <T> observer) => new CompositeDisposable(new IDisposable[] { r.GetDisposable(), xs.Subscribe(observer) }))); }
public IDisposable Run() { groupDisposable = new CompositeDisposable(); refCountDisposable = new RefCountDisposable(groupDisposable); groupDisposable.Add(parent.source.Subscribe(this)); return(refCountDisposable); }
public void Dispose() { RefCountDisposable parent; lock (parentLock) { parent = _parent; _parent = null; } if (parent != null) { parent.Release(); } }
public GroupedObservable(TKey key, ISubject <TElement> subject, RefCountDisposable refCount) { this.key = key; this.subject = subject; this.refCount = refCount; }
public InnerDisposable(RefCountDisposable parent) { _parent = parent; }