@Override public Observable<InstanceInfo> resolve() { return delegate.resolve(); } }
@Override public Observable<InstanceInfo> resolve() { return delegate.resolve(); } }
@Override public Observable<InstanceInfo> resolve() { return delegate.resolve(); } }
@Override public Observable<InstanceInfo> resolve() { return resolver.resolve(); }
@PostConstruct public void startRegistryAuditing() { serverIdentity.resolve().take(1).flatMap(new Func1<InstanceInfo, Observable<Void>>() { @Override public Observable<Void> call(InstanceInfo ownInstanceInfo) {
@SuppressWarnings("unchecked") @PostConstruct public void connect() { selfIdentityService.resolve().take(1).subscribe(new Subscriber<InstanceInfo>() { @Override public void onCompleted() { } @Override public void onError(Throwable e) { logger.error("failed to connect bridge channel, cannot resolve self instanceInfo", e); } @Override public void onNext(InstanceInfo self) { logger.info("Starting bridge service"); BridgeChannel channel = new BridgeChannelImpl( registry, discoveryClient, config.getRefreshRateSec(), self, metricFactory.getBridgeChannelMetrics()); if (channelRef.compareAndSet(null, channel)) { channel.connect(); } else { logger.debug("No op, already connected"); } } }); }
resolverSubscription = selfInfoResolver.resolve().take(1) .switchMap(new Func1<InstanceInfo, Observable<ChangeNotification<Server>>>() { @Override
@Override public Observable<ReplicationHelloReply> hello(final ReplicationHello hello) { logger.debug("Replication hello message: {}", hello); if(!moveToState(STATE.Idle, STATE.Handshake)) { return Observable.error(state.get() == STATE.Closed ? CHANNEL_CLOSED_EXCEPTION : HANDSHAKE_FINISHED_EXCEPTION); } replicationSource = new Source(Source.Origin.REPLICATED, hello.getSourceId()); return selfIdentityService.resolve().take(1).flatMap(new Func1<InstanceInfo, Observable<ReplicationHelloReply>>() { @Override public Observable<ReplicationHelloReply> call(InstanceInfo instanceInfo) { replicationLoop = instanceInfo.getId().equals(hello.getSourceId()); ReplicationHelloReply reply = new ReplicationHelloReply(instanceInfo.getId(), false); sendOnTransport(reply); moveToState(STATE.Handshake, STATE.Connected); return Observable.just(reply); } }); }
public CachingSelfInfoResolver(SelfInfoResolver delegate) { this.delegateObservable = delegate.resolve(); this.cachingSubject = BehaviorSubject.create(); control = Observable.<InstanceInfo>never() .doOnSubscribe(new Action0() { @Override public void call() { subscription = delegateObservable.subscribe(cachingSubject); } }) .doOnUnsubscribe(new Action0() { @Override public void call() { if (subscription != null) { subscription.unsubscribe(); } } }) .share(); }