protected void emit(T event) { Subscriber<? super T> subscriber = null; synchronized (this) { if (!isCancelled() && demand > 0) { --demand; subscriber = subscriber(); } } if (subscriber != null) { subscriber.onNext(event); } }
protected void succeed() { Subscriber<? super T> subscriber; synchronized (this) { terminated = true; subscriber = subscriber(); } if (subscriber != null) { subscriber.onComplete(); } }
@Override protected void onRequest(Subscriber<? super T> subscriber, long n) { boolean notify = false; Throwable failure = null; synchronized (this) { demand = cappedAdd(demand, n); boolean isInitial = initial; initial = false; if (isInitial && terminated) { notify = true; failure = this.failure; } } if (notify) { if (failure == null) { subscriber.onComplete(); } else { subscriber.onError(failure); } } }
protected void fail(Throwable failure) { Subscriber<? super T> subscriber; synchronized (this) { terminated = true; this.failure = failure; subscriber = subscriber(); } if (subscriber != null) { subscriber.onError(failure); } } }
@Override protected void onRequest(Subscriber<? super T> subscriber, long n) { boolean notify = false; Throwable failure = null; synchronized (this) { demand = cappedAdd(demand, n); boolean isInitial = initial; initial = false; if (isInitial && terminated) { notify = true; failure = this.failure; } } if (notify) { if (failure == null) { subscriber.onComplete(); } else { subscriber.onError(failure); } } }
protected void emit(T event) { Subscriber<? super T> subscriber = null; synchronized (this) { if (!isCancelled() && demand > 0) { --demand; subscriber = subscriber(); } } if (subscriber != null) { subscriber.onNext(event); } }
protected void fail(Throwable failure) { Subscriber<? super T> subscriber; synchronized (this) { terminated = true; this.failure = failure; subscriber = subscriber(); } if (subscriber != null) { subscriber.onError(failure); } } }
protected void succeed() { Subscriber<? super T> subscriber; synchronized (this) { terminated = true; subscriber = subscriber(); } if (subscriber != null) { subscriber.onComplete(); } }