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 floatprivate static final floatprivate HeightCoordinatesImplprivate floatprivate static final floatprivate intFields inherited from interface DHTNetworkPosition
POSITION_TYPE_NONE, POSITION_TYPE_VIVALDI_V1, POSITION_TYPE_VIVALDI_V2Fields inherited from interface VivaldiPosition
CONVERGE_EVERY, CONVERGE_FACTOR, ERROR_MIN, FLOAT_ARRAY_SIZE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanfloatestimateRTT(DHTNetworkPosition _other) floatestimateRTT(Coordinates coordinates) voidfromFloatArray(float[] data) floatdouble[]byteintnumber of bytes on wirebooleanisValid()voidvoidsetErrorEstimate(float error) float[]toString()voidupdate(byte[] _other_id, DHTNetworkPosition _other, float rtt) voidupdate(float rtt, float[] data) voidupdate(float rtt, Coordinates cj, float ej) private booleanvalid(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:
getPositionTypein interfaceDHTNetworkPosition
-
getCoordinates
- Specified by:
getCoordinatesin interfaceVivaldiPosition
-
getLocation
public double[] getLocation()- Specified by:
getLocationin interfaceDHTNetworkPosition
-
getErrorEstimate
public float getErrorEstimate()- Specified by:
getErrorEstimatein interfaceVivaldiPosition
-
setErrorEstimate
public void setErrorEstimate(float error) - Specified by:
setErrorEstimatein interfaceVivaldiPosition
-
update
- Specified by:
updatein interfaceVivaldiPosition
-
isValid
public boolean isValid()- Specified by:
isValidin interfaceDHTNetworkPosition
-
valid
private boolean valid(float f) -
update
public void update(float rtt, float[] data) - Specified by:
updatein interfaceVivaldiPosition
-
estimateRTT
- Specified by:
estimateRTTin interfaceVivaldiPosition
-
toFloatArray
public float[] toFloatArray()- Specified by:
toFloatArrayin interfaceVivaldiPosition
-
fromFloatArray
public void fromFloatArray(float[] data) - Specified by:
fromFloatArrayin interfaceVivaldiPosition
-
toString
-
equals
-
estimateRTT
- Specified by:
estimateRTTin interfaceDHTNetworkPosition- Parameters:
_other-- Returns:
- Float.NaN if no value available
-
update
- Specified by:
updatein interfaceDHTNetworkPosition
-
getSerialisedSize
public int getSerialisedSize()Description copied from interface:DHTNetworkPositionnumber of bytes on wire- Specified by:
getSerialisedSizein interfaceDHTNetworkPosition- Returns:
-
serialise
- Specified by:
serialisein interfaceDHTNetworkPosition- Throws:
IOException
-