org.apache.cassandra.locator
Class DynamicEndpointSnitch

java.lang.Object
  extended by org.apache.cassandra.locator.AbstractEndpointSnitch
      extended by org.apache.cassandra.locator.DynamicEndpointSnitch
All Implemented Interfaces:
DynamicEndpointSnitchMBean, IEndpointSnitch, ILatencySubscriber

public class DynamicEndpointSnitch
extends AbstractEndpointSnitch
implements ILatencySubscriber, DynamicEndpointSnitchMBean

A dynamic snitch that sorts endpoints by latency with an adapted phi failure detector


Field Summary
 IEndpointSnitch subsnitch
           
 
Constructor Summary
DynamicEndpointSnitch(IEndpointSnitch snitch)
           
 
Method Summary
 int compareEndpoints(java.net.InetAddress target, java.net.InetAddress a1, java.net.InetAddress a2)
          compares two endpoints in relation to the target endpoint, returning as Comparator.compare would
 java.lang.String getDatacenter(java.net.InetAddress endpoint)
          returns a String representing the datacenter this endpoint belongs to
 java.lang.String getRack(java.net.InetAddress endpoint)
          returns a String repesenting the rack this endpoint belongs to
 java.util.Map<java.net.InetAddress,java.lang.Double> getScores()
           
 java.util.List<java.net.InetAddress> getSortedListByProximity(java.net.InetAddress address, java.util.Collection<java.net.InetAddress> addresses)
          returns a new List sorted by proximity to the given endpoint
 void receiveTiming(java.net.InetAddress host, java.lang.Double latency)
           
 void sortByProximity(java.net.InetAddress address, java.util.List<java.net.InetAddress> addresses)
          This method will sort the List by proximity to the given address.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

subsnitch

public final IEndpointSnitch subsnitch
Constructor Detail

DynamicEndpointSnitch

public DynamicEndpointSnitch(IEndpointSnitch snitch)
Method Detail

getRack

public java.lang.String getRack(java.net.InetAddress endpoint)
Description copied from interface: IEndpointSnitch
returns a String repesenting the rack this endpoint belongs to

Specified by:
getRack in interface IEndpointSnitch

getDatacenter

public java.lang.String getDatacenter(java.net.InetAddress endpoint)
Description copied from interface: IEndpointSnitch
returns a String representing the datacenter this endpoint belongs to

Specified by:
getDatacenter in interface IEndpointSnitch

getSortedListByProximity

public java.util.List<java.net.InetAddress> getSortedListByProximity(java.net.InetAddress address,
                                                                     java.util.Collection<java.net.InetAddress> addresses)
Description copied from interface: IEndpointSnitch
returns a new List sorted by proximity to the given endpoint

Specified by:
getSortedListByProximity in interface IEndpointSnitch
Specified by:
getSortedListByProximity in class AbstractEndpointSnitch

sortByProximity

public void sortByProximity(java.net.InetAddress address,
                            java.util.List<java.net.InetAddress> addresses)
Description copied from interface: IEndpointSnitch
This method will sort the List by proximity to the given address.

Specified by:
sortByProximity in interface IEndpointSnitch
Specified by:
sortByProximity in class AbstractEndpointSnitch

compareEndpoints

public int compareEndpoints(java.net.InetAddress target,
                            java.net.InetAddress a1,
                            java.net.InetAddress a2)
Description copied from interface: IEndpointSnitch
compares two endpoints in relation to the target endpoint, returning as Comparator.compare would

Specified by:
compareEndpoints in interface IEndpointSnitch
Overrides:
compareEndpoints in class AbstractEndpointSnitch

receiveTiming

public void receiveTiming(java.net.InetAddress host,
                          java.lang.Double latency)
Specified by:
receiveTiming in interface ILatencySubscriber

getScores

public java.util.Map<java.net.InetAddress,java.lang.Double> getScores()
Specified by:
getScores in interface DynamicEndpointSnitchMBean


Copyright © 2010 The Apache Software Foundation