internal static void Subscribe(ICompletableObserver observer, ICompletableSource[] sources, int n) { if (n == 0) { DisposableHelper.Complete(observer); return; } if (n == 1) { sources[0].Subscribe(observer); return; } var parent = new AmbDisposable(observer, n); observer.OnSubscribe(parent); var co = parent.observers; for (int i = 0; i < n; i++) { if (!parent.IsDisposed()) { sources[i].Subscribe(co[i]); } } }
public AmbObserver(AmbDisposable parent, int index) { this.parent = parent; this.index = index; }