protected HystrixCachedObservable(final Observable<R> originalObservable) { ReplaySubject<R> replaySubject = ReplaySubject.create(); this.originalSubscription = originalObservable .subscribe(replaySubject); this.cachedObservable = replaySubject .doOnUnsubscribe(new Action0() { @Override public void call() { outstandingSubscriptions--; if (outstandingSubscriptions == 0) { originalSubscription.unsubscribe(); } } }) .doOnSubscribe(new Action0() { @Override public void call() { outstandingSubscriptions++; } }); }
return subject.doOnUnsubscribe(new Action0() { @Override public void call() {
return subject.doOnUnsubscribe(new Action0() { @Override public void call() {
return subject.doOnUnsubscribe(new Action0() { @Override public void call() {
@Override public Observable<Response> observe() { ReplaySubject<Response> subject = ReplaySubject.create(); final Subscription sourceSubscription = toObservable().subscribe(subject); return subject.doOnUnsubscribe(sourceSubscription::unsubscribe); }
@Override public Observable<Response> observe() { ReplaySubject<Response> subject = ReplaySubject.create(); final Subscription sourceSubscription = toObservable().subscribe(subject); return subject.doOnUnsubscribe(sourceSubscription::unsubscribe); }
@Override public Observable<Response> observe() { ReplaySubject<Response> subject = ReplaySubject.create(); final Subscription sourceSubscription = toObservable().subscribe(subject); return subject.doOnUnsubscribe(sourceSubscription::unsubscribe); }
protected HystrixCachedObservable(final Observable<R> originalObservable) { ReplaySubject<R> replaySubject = ReplaySubject.create(); this.originalSubscription = originalObservable .subscribe(replaySubject); this.cachedObservable = replaySubject .doOnUnsubscribe(new Action0() { @Override public void call() { outstandingSubscriptions--; if (outstandingSubscriptions == 0) { originalSubscription.unsubscribe(); } } }) .doOnSubscribe(new Action0() { @Override public void call() { outstandingSubscriptions++; } }); }
return subject.doOnUnsubscribe(new Action0() { @Override public void call() {
return subject.doOnUnsubscribe(new Action0() { @Override public void call() {
return subject.doOnUnsubscribe(new Action0() { @Override public void call() {