@Override public void onCompleted() { if (state.active) { Object last = lastValue; if (last == null) { last = nl.completed(); } for (SubjectObserver<T> bo : state.terminate(last)) { if (last == nl.completed()) { bo.onCompleted(); } else { bo.onNext(nl.getValue(last)); bo.onCompleted(); } } } }
private void _onCompleted() { if (state.active) { for (SubjectObserver<T> bo : state.terminate(NotificationLite.instance().completed())) { bo.onCompleted(); } } }
@Override public void onCompleted() { if (ssm.active) { state.complete(); for (SubjectObserver<? super T> o : ssm.terminate(NotificationLite.instance().completed())) { if (caughtUp(o)) { o.onCompleted(); } } } } /**
@Override public void call(SubjectObserver<T> o) { Object v = state.get(); NotificationLite<T> nl = state.nl; o.accept(v, nl); if (v == null || (!nl.isCompleted(v) && !nl.isError(v))) { o.onCompleted(); } } };