JSPM

vivaldi-coordinates

1.0.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 7
  • Score
    100M100P100Q46821F
  • License MIT

Vivaldi: A Decentralized Network Coordinate System

Package Exports

  • vivaldi-coordinates

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (vivaldi-coordinates) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

vivaldi-coordinates

travis npm license downloads Code Climate Test Coverage

Vivaldi: A Decentralized Network Coordinate System. Originaly description here.This package based on source code of Vuze and required nodejs >= 4.

API

create(data: Float32Array): VivaldiPosition

Create VivaldiPosition instance from raw coordinates. Argument data should have length == 4.

create(data: HeightCoordinates): VivaldiPosition

Create VivaldiPosition instance from HeightCoordinates instance.

create([error: Number]): VivaldiPosition

Create new empty VivaldiPosition instance. Argument error is optional.

update(rtt: Number, p1: VivaldiPosition, p2: VivaldiPosition|HeightCoordinates): bool

Update position p1 with other position p2 and time rtt.

distance(p1: VivaldiPosition, p2: VivaldiPosition|HeightCoordinates): number

Calculate distace between p1 and p2.

equals(p1, p2): bool

Check to equals p1 and p2.

Example

const vivaldi = require('vivaldi-coordinates');

var local_pos = vivaldi.create();	// create new empty pos;
var remote_pos;	// position from some remote host
var rtt = 7;	  // ping time to remote host

vivaldi.update(rtt, local_pos, remote_pos);	// update local position

License

MIT, 2015 (c) Dmitry Tsvettsikh