Package one.nio.cluster
Class WeightCluster<T extends ServiceProvider>
java.lang.Object
one.nio.cluster.WeightCluster<T>
- All Implemented Interfaces:
Cluster<T>
- Direct Known Subclasses:
HttpCluster
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclassclass -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final org.slf4j.Loggerprotected longprotected Timerprotected WeightCluster<T>.ProviderSelector -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddProvider(T provider, int weight) voidaddProviders(Map<T, Integer> newProviders) voidclose()voiddisableProvider(T provider) voidenableProvider(T provider) longprotected voidvoidremoveProvider(T provider) voidremoveProviders(Collection<T> oldProviders) replaceProviders(Map<T, Integer> newProviders) voidsetMonitorTimeout(long monitorTimeout)
-
Field Details
-
log
protected static final org.slf4j.Logger log -
providers
-
monitorTimer
-
monitorTimeout
protected long monitorTimeout -
providerSelector
-
-
Constructor Details
-
WeightCluster
public WeightCluster()
-
-
Method Details
-
close
public void close() -
getMonitorTimeout
public long getMonitorTimeout() -
setMonitorTimeout
public void setMonitorTimeout(long monitorTimeout) -
getProvider
- Specified by:
getProviderin interfaceCluster<T extends ServiceProvider>- Throws:
ServiceUnavailableException
-
enableProvider
- Specified by:
enableProviderin interfaceCluster<T extends ServiceProvider>
-
disableProvider
- Specified by:
disableProviderin interfaceCluster<T extends ServiceProvider>
-
addProvider
-
addProviders
-
removeProvider
-
removeProviders
-
replaceProviders
-
getWeight
-
rebuildProviderSelector
protected void rebuildProviderSelector()
-