public abstract class LoadBalancingRxClient<I,O,T extends io.reactivex.netty.client.RxClient<I,O>>
extends java.lang.Object
implements io.reactivex.netty.client.RxClient<I,O>
| Modifier and Type | Field and Description |
|---|---|
protected com.netflix.client.config.IClientConfig |
clientConfig |
protected io.reactivex.netty.metrics.MetricEventsSubject<io.reactivex.netty.client.ClientMetricsEvent<?>> |
eventSubject |
protected com.netflix.loadbalancer.LoadBalancerExecutor |
lbExecutor |
protected io.reactivex.netty.metrics.MetricEventsListener<? extends io.reactivex.netty.client.ClientMetricsEvent<?>> |
listener |
protected io.reactivex.netty.pipeline.PipelineConfigurator<O,I> |
pipelineConfigurator |
protected com.netflix.client.RetryHandler |
retryHandler |
protected java.util.concurrent.ConcurrentMap<com.netflix.loadbalancer.Server,T> |
rxClientCache |
protected com.netflix.client.ssl.AbstractSslContextFactory |
sslContextFactory |
| Constructor and Description |
|---|
LoadBalancingRxClient(com.netflix.client.config.IClientConfig config,
com.netflix.client.RetryHandler retryHandler,
io.reactivex.netty.pipeline.PipelineConfigurator<O,I> pipelineConfigurator) |
LoadBalancingRxClient(com.netflix.loadbalancer.ILoadBalancer lb,
com.netflix.client.config.IClientConfig config,
com.netflix.client.RetryHandler retryHandler,
io.reactivex.netty.pipeline.PipelineConfigurator<O,I> pipelineConfigurator) |
| Modifier and Type | Method and Description |
|---|---|
protected abstract T |
cacheLoadRxClient(com.netflix.loadbalancer.Server server) |
rx.Observable<io.reactivex.netty.channel.ObservableConnection<O,I>> |
connect() |
protected abstract io.reactivex.netty.metrics.MetricEventsListener<? extends io.reactivex.netty.client.ClientMetricsEvent<?>> |
createListener(java.lang.String name) |
com.netflix.client.config.IClientConfig |
getClientConfig() |
int |
getMaxConcurrentRequests() |
protected <S> S |
getProperty(com.netflix.client.config.IClientConfigKey<S> key,
com.netflix.client.config.IClientConfig requestConfig,
S defaultValue) |
protected java.net.URL |
getResourceForOptionalProperty(com.netflix.client.config.IClientConfigKey<java.lang.String> configKey) |
int |
getResponseTimeOut() |
protected T |
getRxClient(java.lang.String host,
int port) |
java.lang.String |
name() |
protected T |
removeClient(com.netflix.loadbalancer.Server server) |
void |
shutdown() |
rx.Subscription |
subscribe(io.reactivex.netty.metrics.MetricEventsListener<? extends io.reactivex.netty.client.ClientMetricsEvent<?>> listener) |
protected final java.util.concurrent.ConcurrentMap<com.netflix.loadbalancer.Server,T extends io.reactivex.netty.client.RxClient<I,O>> rxClientCache
protected final com.netflix.loadbalancer.LoadBalancerExecutor lbExecutor
protected final io.reactivex.netty.pipeline.PipelineConfigurator<O,I> pipelineConfigurator
protected final com.netflix.client.config.IClientConfig clientConfig
protected final com.netflix.client.RetryHandler retryHandler
protected final com.netflix.client.ssl.AbstractSslContextFactory sslContextFactory
protected final io.reactivex.netty.metrics.MetricEventsListener<? extends io.reactivex.netty.client.ClientMetricsEvent<?>> listener
protected final io.reactivex.netty.metrics.MetricEventsSubject<io.reactivex.netty.client.ClientMetricsEvent<?>> eventSubject
public LoadBalancingRxClient(com.netflix.client.config.IClientConfig config,
com.netflix.client.RetryHandler retryHandler,
io.reactivex.netty.pipeline.PipelineConfigurator<O,I> pipelineConfigurator)
public com.netflix.client.config.IClientConfig getClientConfig()
public int getResponseTimeOut()
public int getMaxConcurrentRequests()
protected <S> S getProperty(com.netflix.client.config.IClientConfigKey<S> key,
@Nullable
com.netflix.client.config.IClientConfig requestConfig,
S defaultValue)
protected java.net.URL getResourceForOptionalProperty(com.netflix.client.config.IClientConfigKey<java.lang.String> configKey)
protected abstract T cacheLoadRxClient(com.netflix.loadbalancer.Server server)
protected T getRxClient(java.lang.String host, int port)
protected T removeClient(com.netflix.loadbalancer.Server server)
protected abstract io.reactivex.netty.metrics.MetricEventsListener<? extends io.reactivex.netty.client.ClientMetricsEvent<?>> createListener(java.lang.String name)
public void shutdown()
public java.lang.String name()
public rx.Subscription subscribe(io.reactivex.netty.metrics.MetricEventsListener<? extends io.reactivex.netty.client.ClientMetricsEvent<?>> listener)
subscribe in interface io.reactivex.netty.metrics.MetricEventsPublisher<io.reactivex.netty.client.ClientMetricsEvent<?>>