public void OnSubscribe(IDisposable d)
 {
     if (OnSubscribeHelper.SetDisposable(ref this.d, d))
     {
         actual.OnSubscribe(this);
     }
 }
Ejemplo n.º 2
0
        public void Subscribe(ISingleSubscriber <T> s)
        {
            SingleDisposable sd = new SingleDisposable(this, s);

            s.OnSubscribe(sd);

            if (Add(sd))
            {
                if (sd.IsDisposed())
                {
                    Remove(sd);
                }

                if (Volatile.Read(ref once) == 0)
                {
                    if (Interlocked.CompareExchange(ref once, 1, 0) == 0)
                    {
                        source.Subscribe(this);
                    }
                }
            }
            else
            {
                ValueOrError r = Volatile.Read(ref result);
                if (r.IsError())
                {
                    s.OnError(r.error);
                }
                else
                {
                    s.OnSuccess(r.value);
                }
            }
        }
Ejemplo n.º 3
0
            public void OnSubscribe(ISubscription s)
            {
                if (OnSubscribeHelper.SetSubscription(ref this.s, s))
                {
                    actual.OnSubscribe(this);

                    s.Request(long.MaxValue);
                }
            }
Ejemplo n.º 4
0
 public void OnSubscribe(IDisposable d)
 {
     if (DisposableHelper.SetOnce(ref this.d, d))
     {
         actual.OnSubscribe(this);
     }
     else
     {
         d?.Dispose();
         OnSubscribeHelper.ReportDisposableSet();
     }
 }
        public void OnSubscribe(IDisposable d)
        {
            try
            {
                onSubscribeCall(d);
            }
            catch (Exception e)
            {
                d.Dispose();
                EmptyDisposable.Error(actual, e);
                return;
            }

            actual.OnSubscribe(d);
        }
Ejemplo n.º 6
0
 public void Subscribe(ISingleSubscriber <T> s)
 {
     s.OnSubscribe(EmptyDisposable.Instance);
     s.OnSuccess(value);
 }
Ejemplo n.º 7
0
 public void OnSubscribe(IDisposable d)
 {
     actual.OnSubscribe(d);
 }
Ejemplo n.º 8
0
 public static void Error <T>(ISingleSubscriber <T> cs, Exception e)
 {
     cs.OnSubscribe(Instance);
     cs.OnError(e);
 }