public void close() { breaker.close(); }
public static <T> BreakerSwitchSubject<T> create(final Subject<T, T> delegate) { final BreakerSwitchOperator<T> breaker = new BreakerSwitchOperator<>(); return new BreakerSwitchSubject<>(new OnSubscribe<T>() { @Override public void call(Subscriber<? super T> subscriber) { delegate.lift(breaker).subscribe(new SafeSubscriber<>(subscriber)); } }, delegate, breaker); } }
private void subscribeToInterest(Interest<InstanceInfo> newInterest) { BreakerSwitchOperator breaker = new BreakerSwitchOperator(); upgrades.onNext(eurekaRegistry.forInterest(newInterest).lift(breaker)); subscriptionBreakers.put(newInterest, breaker); }
private void removeInterest(Interest<InstanceInfo> currentInterest) { subscriptionBreakers.remove(currentInterest).close(); }
private void subscribeToInterest(Interest<InstanceInfo> newInterest) { BreakerSwitchOperator<ChangeNotification<InstanceInfo>> breaker = new BreakerSwitchOperator<>(); upgrades.onNext(eurekaRegistry.forInterest(newInterest).lift(breaker)); subscriptionBreakers.put(newInterest, breaker); }
private void removeInterest(Interest<InstanceInfo> currentInterest) { subscriptionBreakers.remove(currentInterest).close(); }
public void unregister() { for (BreakerSwitchOperator subject : subscriptionBreakers.values()) { subject.close(); } subscriptionBreakers.clear(); }
public void unregister() { for (BreakerSwitchOperator subject : subscriptionBreakers.values()) { subject.close(); } subscriptionBreakers.clear(); upgrades.onCompleted(); }