Exemple #1
0
        public void Subscribe(IMaybeObserver <T> observer)
        {
            var srcs = sources;
            var n    = srcs.Length;

            MaybeAmbCoordinator <T> .Run(observer, n, srcs);
        }
Exemple #2
0
        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);
        }