com.aelitis.azureus.core.dht.netcoords.vivaldi.ver1.impl
Class VivaldiPositionImpl

java.lang.Object
  extended by com.aelitis.azureus.core.dht.netcoords.vivaldi.ver1.impl.VivaldiPositionImpl
All Implemented Interfaces:
DHTNetworkPosition, VivaldiPosition

public class VivaldiPositionImpl
extends Object
implements VivaldiPosition

Vivaldi Papers : http://www.sigcomm.org/sigcomm2004/papers/p426-dabek111111.pdf


Field Summary
 
Fields inherited from interface com.aelitis.azureus.core.dht.netcoords.vivaldi.ver1.VivaldiPosition
CONVERGE_EVERY, CONVERGE_FACTOR, ERROR_MIN, FLOAT_ARRAY_SIZE
 
Fields inherited from interface com.aelitis.azureus.core.dht.netcoords.DHTNetworkPosition
POSITION_TYPE_NONE, POSITION_TYPE_VIVALDI_V1, POSITION_TYPE_VIVALDI_V2
 
Constructor Summary
VivaldiPositionImpl(HeightCoordinatesImpl coordinates)
           
 
Method Summary
 boolean equals(Object arg0)
           
 float estimateRTT(Coordinates coordinates)
           
 float estimateRTT(DHTNetworkPosition _other)
           
 void fromFloatArray(float[] data)
           
 Coordinates getCoordinates()
           
 float getErrorEstimate()
           
 double[] getLocation()
           
 byte getPositionType()
           
 int getSerialisedSize()
          number of bytes on wire
 boolean isValid()
           
 void serialise(DataOutputStream os)
           
 void setErrorEstimate(float error)
           
 float[] toFloatArray()
           
 String toString()
           
 void update(byte[] _other_id, DHTNetworkPosition _other, float rtt)
           
 void update(float rtt, Coordinates cj, float ej)
           
 void update(float rtt, float[] data)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

VivaldiPositionImpl

public VivaldiPositionImpl(HeightCoordinatesImpl coordinates)
Method Detail

getPositionType

public byte getPositionType()
Specified by:
getPositionType in interface DHTNetworkPosition

getCoordinates

public Coordinates getCoordinates()
Specified by:
getCoordinates in interface VivaldiPosition

getLocation

public double[] getLocation()
Specified by:
getLocation in interface DHTNetworkPosition

getErrorEstimate

public float getErrorEstimate()
Specified by:
getErrorEstimate in interface VivaldiPosition

setErrorEstimate

public void setErrorEstimate(float error)
Specified by:
setErrorEstimate in interface VivaldiPosition

update

public void update(float rtt,
                   Coordinates cj,
                   float ej)
Specified by:
update in interface VivaldiPosition

isValid

public boolean isValid()
Specified by:
isValid in interface DHTNetworkPosition

update

public void update(float rtt,
                   float[] data)
Specified by:
update in interface VivaldiPosition

estimateRTT

public float estimateRTT(Coordinates coordinates)
Specified by:
estimateRTT in interface VivaldiPosition

toFloatArray

public float[] toFloatArray()
Specified by:
toFloatArray in interface VivaldiPosition

fromFloatArray

public void fromFloatArray(float[] data)
Specified by:
fromFloatArray in interface VivaldiPosition

toString

public String toString()
Overrides:
toString in class Object

equals

public boolean equals(Object arg0)
Overrides:
equals in class Object

estimateRTT

public float estimateRTT(DHTNetworkPosition _other)
Specified by:
estimateRTT in interface DHTNetworkPosition
Returns:
Float.NaN if no value available

update

public void update(byte[] _other_id,
                   DHTNetworkPosition _other,
                   float rtt)
Specified by:
update in interface DHTNetworkPosition

getSerialisedSize

public int getSerialisedSize()
Description copied from interface: DHTNetworkPosition
number of bytes on wire

Specified by:
getSerialisedSize in interface DHTNetworkPosition
Returns:

serialise

public void serialise(DataOutputStream os)
               throws IOException
Specified by:
serialise in interface DHTNetworkPosition
Throws:
IOException