org.apache.cassandra.locator
Class AbstractEndpointSnitch

java.lang.Object
  extended by org.apache.cassandra.locator.AbstractEndpointSnitch
All Implemented Interfaces:
IEndpointSnitch
Direct Known Subclasses:
AbstractRackAwareSnitch, DynamicEndpointSnitch, SimpleSnitch

public abstract class AbstractEndpointSnitch
extends java.lang.Object
implements IEndpointSnitch


Field Summary
protected  java.util.List<AbstractReplicationStrategy> subscribers
           
 
Constructor Summary
AbstractEndpointSnitch()
           
 
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
abstract  java.util.List<java.net.InetAddress> getSortedListByProximity(java.net.InetAddress address, java.util.Collection<java.net.InetAddress> unsortedAddress)
          returns a new List sorted by proximity to the given endpoint
protected  void invalidateCachedSnitchValues()
           
 void register(AbstractReplicationStrategy subscriber)
          register to receive notification when the endpoint snitch has changed the answers it was providing.
abstract  java.util.List<java.net.InetAddress> 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
 
Methods inherited from interface org.apache.cassandra.locator.IEndpointSnitch
getDatacenter, getRack
 

Field Detail

subscribers

protected java.util.List<AbstractReplicationStrategy> subscribers
Constructor Detail

AbstractEndpointSnitch

public AbstractEndpointSnitch()
Method Detail

register

public void register(AbstractReplicationStrategy subscriber)
Description copied from interface: IEndpointSnitch
register to receive notification when the endpoint snitch has changed the answers it was providing.

Specified by:
register in interface IEndpointSnitch
Parameters:
subscriber - the subscriber to notify

invalidateCachedSnitchValues

protected void invalidateCachedSnitchValues()

getSortedListByProximity

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

Specified by:
getSortedListByProximity in interface IEndpointSnitch

sortByProximity

public abstract java.util.List<java.net.InetAddress> 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

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


Copyright © 2010 The Apache Software Foundation