public void OnError(Exception cause) { if (!SubscriptionHelper.IsCancelled(ref upstream)) { item = default(T); error = cause; SubscriptionHelper.LazySetCancel(ref upstream); } latch.Signal(); }
public override void OnNext(T element) { if (!SubscriptionHelper.IsCancelled(ref upstream)) { hasItem = true; item = element; upstream.Cancel(); SubscriptionHelper.LazySetCancel(ref upstream); latch.Signal(); } }
public void OnComplete() { SubscriptionHelper.LazySetCancel(ref upstream); latch.Signal(); }