Class VivaldiPositionImpl
java.lang.Object
com.biglybt.core.dht.netcoords.vivaldi.ver1.impl.VivaldiPositionImpl
- All Implemented Interfaces:
DHTNetworkPosition
,VivaldiPosition
Vivaldi Papers :
http://www.sigcomm.org/sigcomm2004/papers/p426-dabek111111.pdf
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final float
private static final float
private HeightCoordinatesImpl
private float
private static final float
private int
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 -
Method Summary
Modifier and TypeMethodDescriptionboolean
float
estimateRTT
(DHTNetworkPosition _other) float
estimateRTT
(Coordinates coordinates) void
fromFloatArray
(float[] data) float
double[]
byte
int
number of bytes on wireboolean
isValid()
void
void
setErrorEstimate
(float error) float[]
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 Details
-
cc
private static final float cc- See Also:
-
ce
private static final float ce- See Also:
-
initial_error
private static final float initial_error- See Also:
-
coordinates
-
error
private float error -
nbUpdates
private int nbUpdates
-
-
Constructor Details
-
VivaldiPositionImpl
-
-
Method Details
-
getPositionType
public byte getPositionType()- Specified by:
getPositionType
in interfaceDHTNetworkPosition
-
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
- 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
- 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
-
equals
-
estimateRTT
- Specified by:
estimateRTT
in interfaceDHTNetworkPosition
- Returns:
- Float.NaN if no value available
-
update
- 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
- Specified by:
serialise
in interfaceDHTNetworkPosition
- Throws:
IOException
-