Class VivaldiPositionImpl
- java.lang.Object
-
- com.biglybt.core.dht.netcoords.vivaldi.ver1.impl.VivaldiPositionImpl
-
- All Implemented Interfaces:
DHTNetworkPosition
,VivaldiPosition
public class VivaldiPositionImpl extends java.lang.Object implements VivaldiPosition
Vivaldi Papers : http://www.sigcomm.org/sigcomm2004/papers/p426-dabek111111.pdf
-
-
Field Summary
Fields Modifier and Type Field Description private static float
cc
private static float
ce
private HeightCoordinatesImpl
coordinates
private float
error
private static float
initial_error
private int
nbUpdates
-
Fields inherited from interface com.biglybt.core.dht.netcoords.DHTNetworkPosition
POSITION_TYPE_NONE, POSITION_TYPE_VIVALDI_V1, POSITION_TYPE_VIVALDI_V2
-
Fields inherited from interface com.biglybt.core.dht.netcoords.vivaldi.ver1.VivaldiPosition
CONVERGE_EVERY, CONVERGE_FACTOR, ERROR_MIN, FLOAT_ARRAY_SIZE
-
-
Constructor Summary
Constructors Constructor Description VivaldiPositionImpl(HeightCoordinatesImpl coordinates)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object arg0)
float
estimateRTT(DHTNetworkPosition _other)
float
estimateRTT(Coordinates coordinates)
void
fromFloatArray(float[] data)
Coordinates
getCoordinates()
float
getErrorEstimate()
double[]
getLocation()
byte
getPositionType()
int
getSerialisedSize()
number of bytes on wireboolean
isValid()
void
serialise(java.io.DataOutputStream os)
void
setErrorEstimate(float error)
float[]
toFloatArray()
java.lang.String
toString()
void
update(byte[] _other_id, DHTNetworkPosition _other, float rtt)
void
update(float rtt, float[] data)
void
update(float rtt, Coordinates cj, float ej)
private boolean
valid(float f)
-
-
-
Field Detail
-
cc
private static final float cc
- See Also:
- Constant Field Values
-
ce
private static final float ce
- See Also:
- Constant Field Values
-
initial_error
private static final float initial_error
- See Also:
- Constant Field Values
-
coordinates
private HeightCoordinatesImpl coordinates
-
error
private float error
-
nbUpdates
private int nbUpdates
-
-
Constructor Detail
-
VivaldiPositionImpl
public VivaldiPositionImpl(HeightCoordinatesImpl coordinates)
-
-
Method Detail
-
getPositionType
public byte getPositionType()
- Specified by:
getPositionType
in interfaceDHTNetworkPosition
-
getCoordinates
public Coordinates getCoordinates()
- Specified by:
getCoordinates
in interfaceVivaldiPosition
-
getLocation
public double[] getLocation()
- Specified by:
getLocation
in interfaceDHTNetworkPosition
-
getErrorEstimate
public float getErrorEstimate()
- Specified by:
getErrorEstimate
in interfaceVivaldiPosition
-
setErrorEstimate
public void setErrorEstimate(float error)
- Specified by:
setErrorEstimate
in interfaceVivaldiPosition
-
update
public void update(float rtt, Coordinates cj, float ej)
- Specified by:
update
in interfaceVivaldiPosition
-
isValid
public boolean isValid()
- Specified by:
isValid
in interfaceDHTNetworkPosition
-
valid
private boolean valid(float f)
-
update
public void update(float rtt, float[] data)
- Specified by:
update
in interfaceVivaldiPosition
-
estimateRTT
public float estimateRTT(Coordinates coordinates)
- Specified by:
estimateRTT
in interfaceVivaldiPosition
-
toFloatArray
public float[] toFloatArray()
- Specified by:
toFloatArray
in interfaceVivaldiPosition
-
fromFloatArray
public void fromFloatArray(float[] data)
- Specified by:
fromFloatArray
in interfaceVivaldiPosition
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object arg0)
- Overrides:
equals
in classjava.lang.Object
-
estimateRTT
public float estimateRTT(DHTNetworkPosition _other)
- Specified by:
estimateRTT
in interfaceDHTNetworkPosition
- Returns:
- Float.NaN if no value available
-
update
public void update(byte[] _other_id, DHTNetworkPosition _other, float rtt)
- Specified by:
update
in interfaceDHTNetworkPosition
-
getSerialisedSize
public int getSerialisedSize()
Description copied from interface:DHTNetworkPosition
number of bytes on wire- Specified by:
getSerialisedSize
in interfaceDHTNetworkPosition
- Returns:
-
serialise
public void serialise(java.io.DataOutputStream os) throws java.io.IOException
- Specified by:
serialise
in interfaceDHTNetworkPosition
- Throws:
java.io.IOException
-
-