@Override public void onError(Throwable t) { if (done) { Operators.onErrorDroppedMulticast(t); return; } if (Exceptions.addThrowable(ERROR, this, t)) { done = true; drain(); } else { Operators.onErrorDroppedMulticast(t); } }
@Override public void onError(Throwable t) { if (main.state != this) { Operators.onErrorDroppedMulticast(t); return; } signalCached(Signal.error(t)); }
@Override public void onError(Throwable t) { Objects.requireNonNull(t, "onError"); if (done) { Operators.onErrorDropped(t, currentContext()); return; } if (Exceptions.addThrowable(ERROR, this, t)) { done = true; drain(); } else { Operators.onErrorDroppedMulticast(t); } }
@Override public void onError(Throwable t) { FluxReplay.ReplayBuffer<T> b = buffer; if (b.isDone()) { Operators.onErrorDroppedMulticast(t); } else { b.onError(t); @SuppressWarnings("unchecked") FluxReplay.ReplaySubscription<T>[] a = SUBSCRIBERS.getAndSet(this, TERMINATED); for (FluxReplay.ReplaySubscription<T> rs : a) { b.replay(rs); } } }
@Override @SuppressWarnings("unchecked") public final void onError(Throwable cause) { Objects.requireNonNull(cause, "onError cannot be null"); if (UPSTREAM.getAndSet(this, Operators.cancelledSubscription()) == Operators.cancelledSubscription()) { Operators.onErrorDroppedMulticast(cause); return; } error = cause; value = null; source = null; for (NextInner<O> as : SUBSCRIBERS.getAndSet(this, TERMINATED)) { as.onError(cause); } waitStrategy.signalAllWhenBlocking(); }
@Override public void onNext(T t) { if (done) { if (t != null) { Operators.onNextDropped(t, currentContext()); } return; } if (sourceMode == Fuseable.ASYNC) { drain(); return; } if (!queue.offer(t)) { Throwable ex = Operators.onOperatorError(s, Exceptions.failWithOverflow(Exceptions.BACKPRESSURE_ERROR_QUEUE_FULL), t, currentContext()); if (!Exceptions.addThrowable(ERROR, this, ex)) { Operators.onErrorDroppedMulticast(ex); return; } done = true; } drain(); }
@Override public void onError(Throwable t) { if (done) { Operators.onErrorDroppedMulticast(t); return; } if (Exceptions.addThrowable(ERROR, this, t)) { done = true; drain(); } else { Operators.onErrorDroppedMulticast(t); } }
@Override public void onError(Throwable t) { if (main.state != this) { Operators.onErrorDroppedMulticast(t); return; } signalCached(Signal.error(t)); }
@Override public void onError(Throwable t) { Objects.requireNonNull(t, "onError"); if (done) { Operators.onErrorDropped(t, currentContext()); return; } if (Exceptions.addThrowable(ERROR, this, t)) { done = true; drain(); } else { Operators.onErrorDroppedMulticast(t); } }
@Override public void onError(Throwable t) { FluxReplay.ReplayBuffer<T> b = buffer; if (b.isDone()) { Operators.onErrorDroppedMulticast(t); } else { b.onError(t); @SuppressWarnings("unchecked") FluxReplay.ReplaySubscription<T>[] a = SUBSCRIBERS.getAndSet(this, TERMINATED); for (FluxReplay.ReplaySubscription<T> rs : a) { b.replay(rs); } } }
@Override @SuppressWarnings("unchecked") public final void onError(Throwable cause) { Objects.requireNonNull(cause, "onError cannot be null"); if (UPSTREAM.getAndSet(this, Operators.cancelledSubscription()) == Operators.cancelledSubscription()) { Operators.onErrorDroppedMulticast(cause); return; } error = cause; value = null; source = null; for (NextInner<O> as : SUBSCRIBERS.getAndSet(this, TERMINATED)) { as.onError(cause); } waitStrategy.signalAllWhenBlocking(); }
@Override public void onNext(T t) { if (done) { if (t != null) { Operators.onNextDropped(t, currentContext()); } return; } if (sourceMode == Fuseable.ASYNC) { drain(); return; } if (!queue.offer(t)) { Throwable ex = Operators.onOperatorError(s, Exceptions.failWithOverflow(Exceptions.BACKPRESSURE_ERROR_QUEUE_FULL), t, currentContext()); if (!Exceptions.addThrowable(ERROR, this, ex)) { Operators.onErrorDroppedMulticast(ex); return; } done = true; } drain(); }