@Override public Observable<? extends Server> call(Throwable throwable) { return resolver.resolve(); } });
@Override public Observable<Server> resolve() { return delegate.resolve().retryWhen(retryStrategy); }
public ServerResolverFailoverChain(ServerResolver... resolvers) { Observable<Server> chain = null; for (final ServerResolver resolver : resolvers) { if (null == chain) { chain = resolver.resolve(); } else { chain = chain.onErrorResumeNext(new Func1<Throwable, Observable<? extends Server>>() { @Override public Observable<? extends Server> call(Throwable throwable) { return resolver.resolve(); } }); } } servers = chain; }
@Override public Observable<MessageConnection> connect() { return resolver.resolve() .take(1) .map(new Func1<Server, RxClient<Object, Object>>() {
@Override public Observable<MessageConnection> connect() { return resolver.resolve() .take(1) .map(new Func1<ServerResolver.Server, RxClient<Object, Object>>() {