<DT><PRE>public class <B>SimpleVipAddressResolver</B><DT>extends java.lang.Object<DT>implements <AHREF="../../../com/netflix/client/VipAddressResolver.html"title="interface in com.netflix.client">VipAddressResolver</A></DL>
</PRE>
<P>
A "VipAddress" in Ribbon terminology is a logical name used for a target
server farm. This class helps interpret and resolve a "macro" and obtain a
finalized vipAddress.
Ribbon supports a comma separated set of logcial addresses for a Ribbon
Client. Typical/default implementation uses the list of servers obtained from
the first of the comma separated list and progresses down the list only when
the priorr vipAddress contains no servers.
e.g. vipAddress settings
<code>
${foo}.bar:${port},${foobar}:80,localhost:8080
The above list will be resolved by this class as
apple.bar:80,limebar:80,localhost:8080
provided that the Configuration library resolves the property foo=apple,port=80 and foobar=limebar
<TDWIDTH="15%"><B><AHREF="../../../com/netflix/client/VipAddressResolver.html"title="interface in com.netflix.client">VipAddressResolver</A></B></TD>
<TD> </TD>
<TD>A "VipAddress" is a logical name for a Target Server farm.</TD>
</TR>
</TABLE>
...
...
@@ -142,7 +142,8 @@ Package com.netflix.client
</TR>
<TRBGCOLOR="white"CLASS="TableRowColor">
<TDWIDTH="15%"><B><AHREF="../../../com/netflix/client/SimpleVipAddressResolver.html"title="class in com.netflix.client">SimpleVipAddressResolver</A></B></TD>
<TD> </TD>
<TD>A "VipAddress" in Ribbon terminology is a logical name used for a target
<DT><PRE>public abstract class <B>AbstractLoadBalancerPing</B><DT>extends java.lang.Object<DT>implements <AHREF="../../../com/netflix/loadbalancer/IPing.html"title="interface in com.netflix.loadbalancer">IPing</A>, <AHREF="../../../com/netflix/client/IClientConfigAware.html"title="interface in com.netflix.client">IClientConfigAware</A></DL>
</PRE>
<P>
Class that provides the basic implementation of detmerining the "liveness" or
suitability of a Server (a node)
<P>
<P>
<HR>
...
...
@@ -148,7 +153,7 @@ java.lang.Object
<TD><CODE><B><AHREF="../../../com/netflix/loadbalancer/AbstractLoadBalancerPing.html#isAlive(com.netflix.loadbalancer.Server)">isAlive</A></B>(<AHREF="../../../com/netflix/loadbalancer/Server.html"title="class in com.netflix.loadbalancer">Server</A> server)</CODE>
public boolean <B>isAlive</B>(<AHREF="../../../com/netflix/loadbalancer/Server.html"title="class in com.netflix.loadbalancer">Server</A> server)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><AHREF="../../../com/netflix/loadbalancer/IPing.html#isAlive(com.netflix.loadbalancer.Server)">IPing</A></CODE></B></DD>
<DD>Checks whether the given <code>Server</code> is "alive" i.e. should be
considered a candidate while loadbalancing
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><AHREF="../../../com/netflix/loadbalancer/IPing.html#isAlive(com.netflix.loadbalancer.Server)">isAlive</A></CODE> in interface <CODE><AHREF="../../../com/netflix/loadbalancer/IPing.html"title="interface in com.netflix.loadbalancer">IPing</A></CODE></DL>
<DT><PRE>public abstract class <B>AbstractLoadBalancerRule</B><DT>extends java.lang.Object<DT>implements <AHREF="../../../com/netflix/loadbalancer/IRule.html"title="interface in com.netflix.loadbalancer">IRule</A>, <AHREF="../../../com/netflix/client/IClientConfigAware.html"title="interface in com.netflix.client">IClientConfigAware</A></DL>
Default constructor which sets name as "default", sets null ping, and <AHREF="../../../com/netflix/loadbalancer/RoundRobinRule.html"title="class in com.netflix.loadbalancer"><CODE>RoundRobinRule</CODE></A> as the rule.</TD>
Default constructor which sets name as "default", sets null ping, and
<AHREF="../../../com/netflix/loadbalancer/RoundRobinRule.html"title="class in com.netflix.loadbalancer"><CODE>RoundRobinRule</CODE></A> as the rule.</TD>
</TR>
<TRBGCOLOR="white"CLASS="TableRowColor">
<TD><CODE><B><AHREF="../../../com/netflix/loadbalancer/BaseLoadBalancer.html#BaseLoadBalancer(com.netflix.client.config.IClientConfig)">BaseLoadBalancer</A></B>(<AHREF="../../../com/netflix/client/config/IClientConfig.html"title="interface in com.netflix.client.config">IClientConfig</A> config)</CODE>
...
...
@@ -771,12 +773,14 @@ BaseLoadBalancer</H3>
<PRE>
public <B>BaseLoadBalancer</B>()</PRE>
<DL>
<DD>Default constructor which sets name as "default", sets null ping, and <AHREF="../../../com/netflix/loadbalancer/RoundRobinRule.html"title="class in com.netflix.loadbalancer"><CODE>RoundRobinRule</CODE></A> as the rule.
<DD>Default constructor which sets name as "default", sets null ping, and
<AHREF="../../../com/netflix/loadbalancer/RoundRobinRule.html"title="class in com.netflix.loadbalancer"><CODE>RoundRobinRule</CODE></A> as the rule.
<p>
This constructor is mainly used by <AHREF="../../../com/netflix/client/ClientFactory.html"title="class in com.netflix.client"><CODE>ClientFactory</CODE></A>. Calling this constructor must
be followed by calling <AHREF="../../../com/netflix/loadbalancer/BaseLoadBalancer.html#init()"><CODE>init()</CODE></A> or <CODE>#initWithNiwsConfig(NiwsClientConfig)</CODE> to complete initialization.
This constructor is provided for reflection.
When constructing programatically, it is recommended to use other constructors.
This constructor is mainly used by <AHREF="../../../com/netflix/client/ClientFactory.html"title="class in com.netflix.client"><CODE>ClientFactory</CODE></A>. Calling this
constructor must be followed by calling <AHREF="../../../com/netflix/loadbalancer/BaseLoadBalancer.html#init()"><CODE>init()</CODE></A> or
<CODE>#initWithNiwsConfig(NiwsClientConfig)</CODE> to complete initialization.
This constructor is provided for reflection. When constructing
programatically, it is recommended to use other constructors.
<P>
</DL>
<HR>
...
...
@@ -1103,7 +1107,8 @@ setServersList</H3>
<PRE>
public void <B>setServersList</B>(java.util.List lsrv)</PRE>
<DL>
<DD>Set the list of servers used as the server pool. This overrides existing server list.
<DD>Set the list of servers used as the server pool. This overrides existing
<DT><PRE>public class <B>ConfigurationBasedServerList</B><DT>extends <AHREF="../../../com/netflix/loadbalancer/AbstractServerList.html"title="class in com.netflix.loadbalancer">AbstractServerList</A><<AHREF="../../../com/netflix/loadbalancer/Server.html"title="class in com.netflix.loadbalancer">Server</A>></DL>
</PRE>
<P>
Utility class that can load the List of Servers from a Configuration (i.e
public java.util.List<<AHREF="../../../com/netflix/loadbalancer/Server.html"title="class in com.netflix.loadbalancer">Server</A>><B>getUpdatedListOfServers</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><AHREF="../../../com/netflix/loadbalancer/ServerList.html#getUpdatedListOfServers()">ServerList</A></CODE></B></DD>
<DD>Return updated the list of servers. This is called say every 30 secs
<DD>Return updated list of servers. This is called say every 30 secs
Default simple implementation that marks the liveness of a Server
<P>
<P>
...
...
@@ -151,7 +151,7 @@ Default simple implementation
<TD><CODE><B><AHREF="../../../com/netflix/loadbalancer/DummyPing.html#isAlive(com.netflix.loadbalancer.Server)">isAlive</A></B>(<AHREF="../../../com/netflix/loadbalancer/Server.html"title="class in com.netflix.loadbalancer">Server</A> server)</CODE>
public boolean <B>isAlive</B>(<AHREF="../../../com/netflix/loadbalancer/Server.html"title="class in com.netflix.loadbalancer">Server</A> server)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><AHREF="../../../com/netflix/loadbalancer/IPing.html#isAlive(com.netflix.loadbalancer.Server)">IPing</A></CODE></B></DD>
<DD>Checks whether the given <code>Server</code> is "alive" i.e. should be
considered a candidate while loadbalancing
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><AHREF="../../../com/netflix/loadbalancer/IPing.html#isAlive(com.netflix.loadbalancer.Server)">isAlive</A></CODE> in interface <CODE><AHREF="../../../com/netflix/loadbalancer/IPing.html"title="interface in com.netflix.loadbalancer">IPing</A></CODE><DT><B>Overrides:</B><DD><CODE><AHREF="../../../com/netflix/loadbalancer/AbstractLoadBalancerPing.html#isAlive(com.netflix.loadbalancer.Server)">isAlive</A></CODE> in class <CODE><AHREF="../../../com/netflix/loadbalancer/AbstractLoadBalancerPing.html"title="class in com.netflix.loadbalancer">AbstractLoadBalancerPing</A></CODE></DL>
public void <B>setServersList</B>(java.util.List lsrv)</PRE>
<DL>
<DD><B>Description copied from class: <CODE><AHREF="../../../com/netflix/loadbalancer/BaseLoadBalancer.html#setServersList(java.util.List)">BaseLoadBalancer</A></CODE></B></DD>
<DD>Set the list of servers used as the server pool. This overrides existing server list.
<DD>Set the list of servers used as the server pool. This overrides existing
server list.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><AHREF="../../../com/netflix/loadbalancer/BaseLoadBalancer.html#setServersList(java.util.List)">setServersList</A></CODE> in class <CODE><AHREF="../../../com/netflix/loadbalancer/BaseLoadBalancer.html"title="class in com.netflix.loadbalancer">BaseLoadBalancer</A></CODE></DL>
@@ -121,7 +121,7 @@ Interface that defines how we "ping" a server to check if its alive
<TD><CODE><B><AHREF="../../../com/netflix/loadbalancer/IPing.html#isAlive(com.netflix.loadbalancer.Server)">isAlive</A></B>(<AHREF="../../../com/netflix/loadbalancer/Server.html"title="class in com.netflix.loadbalancer">Server</A> server)</CODE>
<TD><CODE><B><AHREF="../../../com/netflix/loadbalancer/NoOpPing.html#isAlive(com.netflix.loadbalancer.Server)">isAlive</A></B>(<AHREF="../../../com/netflix/loadbalancer/Server.html"title="class in com.netflix.loadbalancer">Server</A> server)</CODE>
public boolean <B>isAlive</B>(<AHREF="../../../com/netflix/loadbalancer/Server.html"title="class in com.netflix.loadbalancer">Server</A> server)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><AHREF="../../../com/netflix/loadbalancer/IPing.html#isAlive(com.netflix.loadbalancer.Server)">IPing</A></CODE></B></DD>
<DD>Checks whether the given <code>Server</code> is "alive" i.e. should be
considered a candidate while loadbalancing
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><AHREF="../../../com/netflix/loadbalancer/IPing.html#isAlive(com.netflix.loadbalancer.Server)">isAlive</A></CODE> in interface <CODE><AHREF="../../../com/netflix/loadbalancer/IPing.html"title="interface in com.netflix.loadbalancer">IPing</A></CODE></DL>
@@ -150,7 +150,7 @@ A utility Ping Implementation that returns whatever its been set to return
<TD><CODE><B><AHREF="../../../com/netflix/loadbalancer/PingConstant.html#isAlive(com.netflix.loadbalancer.Server)">isAlive</A></B>(<AHREF="../../../com/netflix/loadbalancer/Server.html"title="class in com.netflix.loadbalancer">Server</A> server)</CODE>
public boolean <B>isAlive</B>(<AHREF="../../../com/netflix/loadbalancer/Server.html"title="class in com.netflix.loadbalancer">Server</A> server)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><AHREF="../../../com/netflix/loadbalancer/IPing.html#isAlive(com.netflix.loadbalancer.Server)">IPing</A></CODE></B></DD>
<DD>Checks whether the given <code>Server</code> is "alive" i.e. should be
considered a candidate while loadbalancing
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><AHREF="../../../com/netflix/loadbalancer/IPing.html#isAlive(com.netflix.loadbalancer.Server)">isAlive</A></CODE> in interface <CODE><AHREF="../../../com/netflix/loadbalancer/IPing.html"title="interface in com.netflix.loadbalancer">IPing</A></CODE></DL>
<DT><PRE>public class <B>RandomRule</B><DT>extends java.lang.Object<DT>implements <AHREF="../../../com/netflix/loadbalancer/IRule.html"title="interface in com.netflix.loadbalancer">IRule</A></DL>
</PRE>
<P>
A loadbalacing strategy that randomly distributes traffic amongst existing
<DT><PRE>public class <B>ResponseTimeWeightedRule</B><DT>extends java.lang.Object<DT>implements <AHREF="../../../com/netflix/loadbalancer/IRule.html"title="interface in com.netflix.loadbalancer">IRule</A></DL>
</PRE>
<P>
Rule that use the average/percentile response times
to assign dynamic "weights" per Server which is then used in
the "Weighted Round Robin" fashion
The basic idea for weighted round robin has been obtained from JCS
The implementation for choosing the endpoint from the list of endpoints
is as follows:Let's assume 4 endpoints:A(wt=10), B(wt=30), C(wt=40),
D(wt=20).
Using the Random API, generate a random number between 1 and10+30+40+20.
Let's assume that the above list is randomized. Based on the weights, we
<DT><PRE>public class <B>RetryRule</B><DT>extends java.lang.Object<DT>implements <AHREF="../../../com/netflix/loadbalancer/IRule.html"title="interface in com.netflix.loadbalancer">IRule</A></DL>
</PRE>
<P>
Given that
<code>IRule<code> can be cascaded, this RetryRule class allows adding a retry logic to an existing Rule.
<DT><PRE>public class <B>RoundRobinRule</B><DT>extends java.lang.Object<DT>implements <AHREF="../../../com/netflix/loadbalancer/IRule.html"title="interface in com.netflix.loadbalancer">IRule</A></DL>
</PRE>
<P>
The most well known and basic loadbalacing strategy, i.e. Round Robin Rule.
<DT><PRE>public class <B>ServerComparator</B><DT>extends java.lang.Object<DT>implements java.util.Comparator<<AHREF="../../../com/netflix/loadbalancer/Server.html"title="class in com.netflix.loadbalancer">Server</A>>, java.io.Serializable</DL>
</PRE>
<P>
Class to help establishing equality for Hash/Key operations.
<DT><B>All Known Implementing Classes:</B><DD><AHREF="../../../com/netflix/loadbalancer/AbstractServerList.html"title="class in com.netflix.loadbalancer">AbstractServerList</A>, <AHREF="../../../com/netflix/loadbalancer/ConfigurationBasedServerList.html"title="class in com.netflix.loadbalancer">ConfigurationBasedServerList</A></DD>
Return updated the list of servers.</TD>
Return updated list of servers.</TD>
</TR>
</TABLE>
...
...
@@ -157,7 +163,7 @@ getUpdatedListOfServers</H3>
<PRE>
java.util.List<<AHREF="../../../com/netflix/loadbalancer/ServerList.html"title="type parameter in ServerList">T</A>><B>getUpdatedListOfServers</B>()</PRE>
<DL>
<DD>Return updated the list of servers. This is called say every 30 secs
<DD>Return updated list of servers. This is called say every 30 secs
<DT><B>All Known Implementing Classes:</B><DD><AHREF="../../../com/netflix/loadbalancer/AbstractServerListFilter.html"title="class in com.netflix.loadbalancer">AbstractServerListFilter</A></DD>
<DT><PRE>public class <B>ZoneStats<T extends <AHREF="../../../com/netflix/loadbalancer/Server.html"title="class in com.netflix.loadbalancer">Server</A>></B><DT>extends java.lang.Object</DL>
</PRE>
<P>
Class that stores Statistics per Zone (where Zone is typically a Amazon
<TDWIDTH="15%"><B><AHREF="../../../com/netflix/loadbalancer/ILoadBalancer.html"title="interface in com.netflix.loadbalancer">ILoadBalancer</A></B></TD>
<TD> </TD>
<TD>Interface that defines the operations for a software loadbalancer.</TD>
</TR>
<TRBGCOLOR="white"CLASS="TableRowColor">
<TDWIDTH="15%"><B><AHREF="../../../com/netflix/loadbalancer/IPing.html"title="interface in com.netflix.loadbalancer">IPing</A></B></TD>
<TDWIDTH="15%"><B><AHREF="../../../com/netflix/loadbalancer/IRule.html"title="interface in com.netflix.loadbalancer">IRule</A></B></TD>
<TD> </TD>
<TD>Interface that defines a "Rule" for a LoadBalancer.</TD>
</TR>
<TRBGCOLOR="white"CLASS="TableRowColor">
<TDWIDTH="15%"><B><AHREF="../../../com/netflix/loadbalancer/ServerList.html"title="interface in com.netflix.loadbalancer">ServerList<T extends Server></A></B></TD>
<TD> </TD>
<TD>Interface that defines the methods sed to obtain the List of Servers</TD>
</TR>
<TRBGCOLOR="white"CLASS="TableRowColor">
<TDWIDTH="15%"><B><AHREF="../../../com/netflix/loadbalancer/ServerListFilter.html"title="interface in com.netflix.loadbalancer">ServerListFilter<T extends Server></A></B></TD>
<TD> </TD>
<TD>This interface allows for filtering the configured or dynamically obtained
List of candidate servers with desirable characteristics.</TD>
<TDWIDTH="15%"><B><AHREF="../../../com/netflix/loadbalancer/AbstractLoadBalancer.html"title="class in com.netflix.loadbalancer">AbstractLoadBalancer</A></B></TD>
<TD>AbstractLoadBalancer that contains the base common features</TD>
<TD>AbstractLoadBalancer contains features required for most loadbalancing
implementations.</TD>
</TR>
<TRBGCOLOR="white"CLASS="TableRowColor">
<TDWIDTH="15%"><B><AHREF="../../../com/netflix/loadbalancer/AbstractLoadBalancerPing.html"title="class in com.netflix.loadbalancer">AbstractLoadBalancerPing</A></B></TD>
<TD> </TD>
<TD>Class that provides the basic implementation of detmerining the "liveness" or
suitability of a Server (a node)</TD>
</TR>
<TRBGCOLOR="white"CLASS="TableRowColor">
<TDWIDTH="15%"><B><AHREF="../../../com/netflix/loadbalancer/AbstractLoadBalancerRule.html"title="class in com.netflix.loadbalancer">AbstractLoadBalancerRule</A></B></TD>
<TD> </TD>
<TD>Class that provides a</TD>
</TR>
<TRBGCOLOR="white"CLASS="TableRowColor">
<TDWIDTH="15%"><B><AHREF="../../../com/netflix/loadbalancer/AbstractServerList.html"title="class in com.netflix.loadbalancer">AbstractServerList<T extends Server></A></B></TD>
<TDWIDTH="15%"><B><AHREF="../../../com/netflix/loadbalancer/BaseLoadBalancer.html"title="class in com.netflix.loadbalancer">BaseLoadBalancer</A></B></TD>
<TD>A basic implementation of the load balancer where an arbitrary list of servers can be set as the server pool.</TD>
<TD>A basic implementation of the load balancer where an arbitrary list of
servers can be set as the server pool.</TD>
</TR>
<TRBGCOLOR="white"CLASS="TableRowColor">
<TDWIDTH="15%"><B><AHREF="../../../com/netflix/loadbalancer/ClientConfigEnabledRoundRobinRule.html"title="class in com.netflix.loadbalancer">ClientConfigEnabledRoundRobinRule</A></B></TD>
<TD>This class essentially contains the RoundRobinRule class defined in the loadbalancer package</TD>
<TD>This class essentially contains the RoundRobinRule class defined in the
loadbalancer package</TD>
</TR>
<TRBGCOLOR="white"CLASS="TableRowColor">
<TDWIDTH="15%"><B><AHREF="../../../com/netflix/loadbalancer/ConfigurationBasedServerList.html"title="class in com.netflix.loadbalancer">ConfigurationBasedServerList</A></B></TD>
<TD> </TD>
<TD>Utility class that can load the List of Servers from a Configuration (i.e
properties available via Archaius)</TD>
</TR>
<TRBGCOLOR="white"CLASS="TableRowColor">
<TDWIDTH="15%"><B><AHREF="../../../com/netflix/loadbalancer/DummyPing.html"title="class in com.netflix.loadbalancer">DummyPing</A></B></TD>
<TD>Default simple implementation</TD>
<TD>Default simple implementation that marks the liveness of a Server</TD>
</TR>
<TRBGCOLOR="white"CLASS="TableRowColor">
<TDWIDTH="15%"><B><AHREF="../../../com/netflix/loadbalancer/DynamicServerListLoadBalancer.html"title="class in com.netflix.loadbalancer">DynamicServerListLoadBalancer<T extends Server></A></B></TD>
<TD>A default easy to use LoadBalancer that uses Discovery Client as its Ping
and Instance discovering mechanism</TD>
<TD>A LoadBalancer that has the capabilities to obtain the candidate list of
servers using a dynamic source.</TD>
</TR>
<TRBGCOLOR="white"CLASS="TableRowColor">
<TDWIDTH="15%"><B><AHREF="../../../com/netflix/loadbalancer/InterruptTask.html"title="class in com.netflix.loadbalancer">InterruptTask</A></B></TD>
<TDWIDTH="15%"><B><AHREF="../../../com/netflix/loadbalancer/LoadBalancerStats.html"title="class in com.netflix.loadbalancer">LoadBalancerStats</A></B></TD>
<TD>Utility class that can be used to store loadbalancer stats such as Failure counts per server</TD>
<TD>Class that acts as a repository of operational charateristics and statistics
of every Node/Server in the LaodBalancer.</TD>
</TR>
<TRBGCOLOR="white"CLASS="TableRowColor">
<TDWIDTH="15%"><B><AHREF="../../../com/netflix/loadbalancer/NoOpLoadBalancer.html"title="class in com.netflix.loadbalancer">NoOpLoadBalancer</A></B></TD>
<TDWIDTH="15%"><B><AHREF="../../../com/netflix/loadbalancer/RandomRule.html"title="class in com.netflix.loadbalancer">RandomRule</A></B></TD>
<TD> </TD>
<TD>A loadbalacing strategy that randomly distributes traffic amongst existing
servers.</TD>
</TR>
<TRBGCOLOR="white"CLASS="TableRowColor">
<TDWIDTH="15%"><B><AHREF="../../../com/netflix/loadbalancer/ResponseTimeWeightedRule.html"title="class in com.netflix.loadbalancer">ResponseTimeWeightedRule</A></B></TD>
<TD> </TD>
<TD>Rule that use the average/percentile response times
to assign dynamic "weights" per Server which is then used in
the "Weighted Round Robin" fashion
The basic idea for weighted round robin has been obtained from JCS
The implementation for choosing the endpoint from the list of endpoints
is as follows:Let's assume 4 endpoints:A(wt=10), B(wt=30), C(wt=40),
D(wt=20).</TD>
</TR>
<TRBGCOLOR="white"CLASS="TableRowColor">
<TDWIDTH="15%"><B><AHREF="../../../com/netflix/loadbalancer/RetryRule.html"title="class in com.netflix.loadbalancer">RetryRule</A></B></TD>
<TD> </TD>
<TD>Given that
<code>IRule<code> can be cascaded, this RetryRule class allows adding a retry logic to an existing Rule.</TD>
</TR>
<TRBGCOLOR="white"CLASS="TableRowColor">
<TDWIDTH="15%"><B><AHREF="../../../com/netflix/loadbalancer/RoundRobinRule.html"title="class in com.netflix.loadbalancer">RoundRobinRule</A></B></TD>
<TD> </TD>
<TD>The most well known and basic loadbalacing strategy, i.e.</TD>
</TR>
<TRBGCOLOR="white"CLASS="TableRowColor">
<TDWIDTH="15%"><B><AHREF="../../../com/netflix/loadbalancer/Server.html"title="class in com.netflix.loadbalancer">Server</A></B></TD>
<TD>Class that represents a typical Server i.e.</TD>
<TD>Class that represents a typical Server (or an addressable Node) i.e.</TD>
</TR>
<TRBGCOLOR="white"CLASS="TableRowColor">
<TDWIDTH="15%"><B><AHREF="../../../com/netflix/loadbalancer/ServerComparator.html"title="class in com.netflix.loadbalancer">ServerComparator</A></B></TD>
<TD> </TD>
<TD>Class to help establishing equality for Hash/Key operations.</TD>
</TR>
<TRBGCOLOR="white"CLASS="TableRowColor">
<TDWIDTH="15%"><B><AHREF="../../../com/netflix/loadbalancer/ServerStats.html"title="class in com.netflix.loadbalancer">ServerStats</A></B></TD>
<TDWIDTH="15%"><B><AHREF="../../../com/netflix/loadbalancer/WeightedResponseTimeRule.html"title="class in com.netflix.loadbalancer">WeightedResponseTimeRule</A></B></TD>
<TD>This class essentially contains the ResponseTimeWeightedRule class defined in the loadbalancer package</TD>
<TD>This class essentially contains the ResponseTimeWeightedRule class defined in
the loadbalancer package</TD>
</TR>
<TRBGCOLOR="white"CLASS="TableRowColor">
<TDWIDTH="15%"><B><AHREF="../../../com/netflix/loadbalancer/ZoneAvoidanceRule.html"title="class in com.netflix.loadbalancer">ZoneAvoidanceRule</A></B></TD>
<TDWIDTH="15%"><B><AHREF="../../../com/netflix/loadbalancer/ZoneStats.html"title="class in com.netflix.loadbalancer">ZoneStats<T extends Server></A></B></TD>
<TD> </TD>
<TD>Class that stores Statistics per Zone (where Zone is typically a Amazon