@Override public void onNext(T value) { if (sourceMode == QueueDisposable.NONE) { queue.offer(value); } drain(); }
@Override public void clear() { current = null; queue.clear(); }
@Override public final boolean isEmpty() { return queue.isEmpty(); } }
long r = requested.get(); SimpleQueue<U> q = queue; if (r != 0L && (q == null || q.isEmpty())) { downstream.onNext(value); if (r != Long.MAX_VALUE) { q = getMainQueue(); if (!q.offer(value)) { onError(new IllegalStateException("Scalar queue full?!")); return; if (!q.offer(value)) { onError(new IllegalStateException("Scalar queue full?!")); return;
@Nullable @Override public T poll() throws Exception { return queue.poll(); }
long r = requested.get(); SimpleQueue<U> q = inner.queue; if (r != 0L && (q == null || q.isEmpty())) { downstream.onNext(value); if (r != Long.MAX_VALUE) { q = getInnerQueue(inner); if (!q.offer(value)) { onError(new MissingBackpressureException("Inner queue full?!")); return; inner.queue = q; if (!q.offer(value)) { onError(new MissingBackpressureException("Inner queue full?!")); return;
@Nullable @Override public T poll() throws Exception { T v = queue.poll(); if (v != null && sourceMode != SYNC) { long p = produced + 1; if (p == limit) { produced = 0; upstream.request(p); } else { produced = p; } } return v; }
queue.clear(); return; if (errors.get() != null) { disposed = true; queue.clear(); Throwable ex = errors.terminate(); downstream.onError(ex); CompletableSource cs = null; try { T v = queue.poll(); if (v != null) { cs = ObjectHelper.requireNonNull(mapper.apply(v), "The mapper returned a null CompletableSource"); Exceptions.throwIfFatal(ex); disposed = true; queue.clear(); upstream.dispose(); errors.addThrowable(ex);
@Override public void onNext(T t) { if (done) { return; } if (sourceMode != QueueDisposable.ASYNC) { queue.offer(t); } schedule(); }
long r = requested.get(); SimpleQueue<U> q = queue; if (r != 0L && (q == null || q.isEmpty())) { actual.onNext(value); if (r != Long.MAX_VALUE) { q = getMainQueue(); if (!q.offer(value)) { onError(new IllegalStateException("Scalar queue full?!")); return; if (!q.offer(value)) { onError(new IllegalStateException("Scalar queue full?!")); return;
void clearScalarQueue() { SimpleQueue<U> q = queue; if (q != null) { q.clear(); } }
@Nullable @Override public T poll() throws Exception { T v = queue.poll(); if (v != null && sourceMode != SYNC) { long p = consumed + 1; if (p == limit) { consumed = 0; upstream.request(p); } else { consumed = p; } } return v; } }
queue.clear(); return; Throwable ex = error.get(); if (ex != null) { queue.clear(); cancelled = true; actual.onError(error.terminate()); v = queue.poll(); } catch (Throwable ex) { Exceptions.throwIfFatal(ex); cancelled = true; this.upstream.dispose(); queue.clear(); error.addThrowable(ex); actual.onError(error.terminate());