public void Subscribe(IMaybeObserver <T> observer) { var srcs = sources; var n = srcs.Length; MaybeAmbCoordinator <T> .Run(observer, n, srcs); }
public void Subscribe(IMaybeObserver <T> observer) { var n = 0; var srcs = sources; var a = new IMaybeSource <T> [8]; try { foreach (var m in srcs) { if (n == a.Length) { var b = new IMaybeSource <T> [n + (n >> 2)]; Array.Copy(a, 0, b, 0, n); a = b; } a[n++] = m; } } catch (Exception ex) { DisposableHelper.Error(observer, ex); return; } MaybeAmbCoordinator <T> .Run(observer, n, a); }