@Override public void cancel() { if (this.state <= HAS_REQUEST_NO_VALUE) { Operators.onDiscard(value, currentContext()); } this.state = CANCELLED; value = null; }
@Override public void onNext(T t) { // deliberately ignored Operators.onDiscard(t, actual.currentContext()); //FIXME cache context }
@Override public void onNext(T t) { Object old = VALUE.getAndSet(this, t); if (old != null) { Operators.onDiscard(old, ctx); } }
void clear() { int n = toFilter.length(); for (int i = 0; i < n; i++) { T old = toFilter.getAndSet(i, null); Operators.onDiscard(old, ctx); } innerResult = null; }
@Override public void onNext(T t) { T old = value; value = t; Operators.onDiscard(old, actual.currentContext()); //FIXME cache context }
@Override public void onNext(Object t) { // ignored Operators.onDiscard(t, currentContext()); //FIXME cache Context }
@Override public void cancel() { Operators.onDiscard(value, actual.currentContext()); } }
@Override public FluxSink<T> next(T t) { T old = queue.getAndSet(t); Operators.onDiscard(old, ctx); drain(); return this; }
@Override public void onNext(T t) { long r = remaining; if (r == 0L) { actual.onNext(t); } else { Operators.onDiscard(t, ctx); remaining = r - 1; } }
@Override public void onNext(T t) { if (gate) { actual.onNext(t); } else { Operators.onDiscard(t, ctx); main.request(1); } }
@Override void onCancel() { if (WIP.getAndIncrement(this) == 0) { T old = queue.getAndSet(null); Operators.onDiscard(old, ctx); } }
@Override public void onNext(T t) { Object toDiscard = VALUE.getAndSet(this, t); if (toDiscard != null) { Operators.onDiscard(toDiscard, ctx); } drain(); }
@Override public void cancel() { if (once == 0) { Operators.onDiscard(value, actual.currentContext()); } ONCE.lazySet(this, 2); }
@Override public void clear() { if (once == 0) { Operators.onDiscard(value, actual.currentContext()); } ONCE.lazySet(this, 1); }
void innerError(Throwable ex) { //if the inner subscriber (the filter one) errors, then we can //always propagate that error directly, as it means that the source Mono //was at least valued rather than in error. super.onError(ex); Operators.onDiscard(value, actual.currentContext()); }
@Override public void cancel() { if (STATE.getAndSet(this, HAS_REQUEST_HAS_VALUE) != HAS_REQUEST_HAS_VALUE) { T old = value; value = null; Operators.onDiscard(old, actual.currentContext()); disposeResource(true); } }
@Override public void cancel() { if (!cancelled) { cancelled = true; s.cancel(); if (WIP.getAndIncrement(this) == 0) { Object toDiscard = VALUE.getAndSet(this, null); if (toDiscard != null) { Operators.onDiscard(toDiscard, ctx); } } } }
@Override public void onError(Throwable t) { if (done) { Operators.onErrorDropped(t, actual.currentContext()); return; } done = true; Operators.onDiscard(value, actual.currentContext()); value = null; actual.onError(t); }
void innerResult(@Nullable Boolean item) { if (item != null && item) { //will reset the value with itself, but using parent's `value` saves a field complete(value); } else { super.onComplete(); Operators.onDiscard(value, actual.currentContext()); } }
@Override public void onError(Throwable t) { if (done) { Operators.onErrorDropped(t, actual.currentContext()); return; } done = true; Operators.onDiscard(value, actual.currentContext()); value = null; actual.onError(t); }