コード例 #1
0
 /// <inheritDoc/>
 public void Dispose()
 {
     if (SubscriptionHelper.Cancel(ref s))
     {
         OnError(new OperationCanceledException());
     }
 }
コード例 #2
0
            public void Cancel()
            {
                Volatile.Write(ref cancelled, true);
                SubscriptionHelper.Cancel(ref s);

                if (QueueDrainHelper.Enter(ref wip))
                {
                    actual = null;
                    queue.Clear();
                }
            }
コード例 #3
0
 void Cancel()
 {
     if (Volatile.Read(ref cancelled))
     {
         return;
     }
     Volatile.Write(ref cancelled, true);
     Volatile.Write(ref actual, null);
     Terminate();
     SubscriptionHelper.Cancel(ref upstream);
     if (!outputFused && Interlocked.Increment(ref wip) == 1)
     {
         queue.Clear();
     }
 }
コード例 #4
0
        /// <inheritDoc/>
        public void OnNext(T t)
        {
            if (done)
            {
                return;
            }

            if (sourceMode == FuseableHelper.NONE)
            {
                if (!queue.Offer(t))
                {
                    SubscriptionHelper.Cancel(ref s);
                    OnError(BackpressureHelper.MissingBackpressureException());
                    return;
                }
            }
            Drain();
        }
コード例 #5
0
 public void OnComplete()
 {
     SubscriptionHelper.Cancel(ref z);
     OtherNext();
     serializer.OnComplete(actual);
 }
コード例 #6
0
 public void Cancel()
 {
     worker.Dispose();
     SubscriptionHelper.Cancel(ref s);
 }
コード例 #7
0
 public void Dispose()
 {
     SubscriptionHelper.Cancel(ref upstream);
 }
コード例 #8
0
 public void Cancel()
 {
     s.Cancel();
     SubscriptionHelper.Cancel(ref z);
 }
コード例 #9
0
 void Cancel()
 {
     SubscriptionHelper.Cancel(ref upstream);
     tcs.TrySetCanceled();
 }
コード例 #10
0
 public void Cancel()
 {
     SubscriptionHelper.Cancel(ref s);
     CancelOthers();
 }
コード例 #11
0
 public void Dispose()
 {
     SubscriptionHelper.Cancel(ref s);
 }
コード例 #12
0
 internal void OtherComplete()
 {
     SubscriptionHelper.Cancel(ref s);
     OtherNext();
     serializer.OnComplete(actual);
 }
コード例 #13
0
 public void OnError(Exception e)
 {
     SubscriptionHelper.Cancel(ref z);
     Interlocked.Exchange(ref latest, null);
     serializer.OnError(actual, e);
 }
コード例 #14
0
 internal void OtherError(Exception ex)
 {
     SubscriptionHelper.Cancel(ref s);
     Interlocked.Exchange(ref latest, null);
     serializer.OnError(actual, ex);
 }
コード例 #15
0
 public void OtherError(Exception e)
 {
     SubscriptionHelper.Cancel(ref s);
     serializer.OnError(actual, e);
 }
コード例 #16
0
 public void Cancel()
 {
     SubscriptionHelper.Cancel(ref s);
     SubscriptionHelper.Cancel(ref other);
 }
コード例 #17
0
 /// <summary>
 /// Cancels the upstream ISubscription and signals and
 /// OperationCanceledException to current and future subscribers.
 /// </summary>
 public void Dispose()
 {
     SubscriptionHelper.Cancel(ref upstream);
     OnError(new OperationCanceledException());
 }
コード例 #18
0
 public void OtherNext()
 {
     gate = true;
     SubscriptionHelper.Cancel(ref other);
 }
コード例 #19
0
 internal void Cancel()
 {
     SubscriptionHelper.Cancel(ref s);
 }
コード例 #20
0
 public void Cancel()
 {
     Volatile.Write(ref cancelled, true);
     other.Cancel();
     SubscriptionHelper.Cancel(ref s);
 }