@Override public void onSubscribe(Subscription s) { if (!MAIN.compareAndSet(this, null, s)) { s.cancel(); if (main != Operators.cancelledSubscription()) { Operators.reportSubscriptionSet(); } return; } s.request(Long.MAX_VALUE); }
@Override public void onSubscribe(Subscription s) { if (!S.compareAndSet(this, null, s)) { s.cancel(); if (this.s != Operators.cancelledSubscription()) { Operators.reportSubscriptionSet(); } } else { s.request(Long.MAX_VALUE); } }
void setOther(Subscription s) { if (!OTHER.compareAndSet(this, null, s)) { s.cancel(); if (other != Operators.cancelledSubscription()) { Operators.reportSubscriptionSet(); } return; } s.request(Long.MAX_VALUE); }
void setOther(Subscription s) { if (!OTHER.compareAndSet(this, null, s)) { s.cancel(); if (other != Operators.cancelledSubscription()) { Operators.reportSubscriptionSet(); } } }
void setOther(Subscription s) { if (!OTHER.compareAndSet(this, null, s)) { s.cancel(); if (other != Operators.cancelledSubscription()) { Operators.reportSubscriptionSet(); } } }
void setOther(Subscription s) { if (!OTHER.compareAndSet(this, null, s)) { s.cancel(); if (other != Operators.cancelledSubscription()) { Operators.reportSubscriptionSet(); } } }
@Override public void onSubscribe(Subscription s) { if (!MAIN.compareAndSet(this, null, s)) { s.cancel(); if (main != Operators.cancelledSubscription()) { Operators.reportSubscriptionSet(); } } else { actual.onSubscribe(this); } }
@Override public void onSubscribe(Subscription s) { if (!MAIN.compareAndSet(this, null, s)) { s.cancel(); if (main != Operators.cancelledSubscription()) { Operators.reportSubscriptionSet(); } } else { actual.onSubscribe(this); } }
@Override public void onSubscribe(Subscription s) { if (!MAIN.compareAndSet(this, null, s)) { s.cancel(); if (main != Operators.cancelledSubscription()) { Operators.reportSubscriptionSet(); } } else { actual.onSubscribe(this); } }
@Override public void onSubscribe(Subscription s) { Subscription a = this.s; if (a == Operators.cancelledSubscription()) { s.cancel(); } if (a != null) { s.cancel(); Operators.reportSubscriptionSet(); return; } if (S.compareAndSet(this, null, s)) { s.request(Operators.unboundedOrPrefetch(prefetch)); return; } a = this.s; if (a != Operators.cancelledSubscription()) { s.cancel(); Operators.reportSubscriptionSet(); } }
reportSubscriptionSet(); return false; reportSubscriptionSet(); return false;
reportSubscriptionSet(); return false; reportSubscriptionSet(); return false;
/** * Sets the Subscription once but does not request anything. * @param s the Subscription to set * @return true if successful, false if the current subscription is not null */ protected final boolean setWithoutRequesting(Subscription s) { Objects.requireNonNull(s, "s"); for (;;) { Subscription a = this.s; if (a == Operators.cancelledSubscription()) { s.cancel(); return false; } if (a != null) { s.cancel(); Operators.reportSubscriptionSet(); return false; } if (S.compareAndSet(this, null, s)) { return true; } } }
Operators.reportSubscriptionSet(); return false; Operators.reportSubscriptionSet(); return false;
@Override public void onSubscribe(Subscription s) { if (!MAIN.compareAndSet(this, null, s)) { s.cancel(); if (main != Operators.cancelledSubscription()) { Operators.reportSubscriptionSet(); } return; } s.request(Long.MAX_VALUE); }
@Override public void onSubscribe(Subscription s) { if (!S.compareAndSet(this, null, s)) { s.cancel(); if (this.s != Operators.cancelledSubscription()) { Operators.reportSubscriptionSet(); } } else { s.request(Long.MAX_VALUE); } }
void setOther(Subscription s) { if (!OTHER.compareAndSet(this, null, s)) { s.cancel(); if (other != Operators.cancelledSubscription()) { Operators.reportSubscriptionSet(); } } }
void setOther(Subscription s) { if (!OTHER.compareAndSet(this, null, s)) { s.cancel(); if (other != Operators.cancelledSubscription()) { Operators.reportSubscriptionSet(); } } }
@Override public void onSubscribe(Subscription s) { if (!MAIN.compareAndSet(this, null, s)) { s.cancel(); if (main != Operators.cancelledSubscription()) { Operators.reportSubscriptionSet(); } } else { actual.onSubscribe(this); } }
@Override public void onSubscribe(Subscription s) { if (!MAIN.compareAndSet(this, null, s)) { s.cancel(); if (main != Operators.cancelledSubscription()) { Operators.reportSubscriptionSet(); } } else { actual.onSubscribe(this); } }