fastest-server

1.0.1 • Public • Published

fastest-server

Build Status Dependency Status npm

Library used to get fastest server using ICMP (Internet Control Message Protocol).

Table of Contents

About

This library is used to get the fastest server from the list of servers (IP’s or host names). Many times same services are running in different regions to serve clients better. And this library will try to ping the list of servers using ICMP (Internet Control Message Protocol). Based on response time it will find the fastest server which is mostly nearest server.

Installation

npm install fastest-server

Usage

const FastestServer = require('fastest-server');
 
const { fastest, stats } = await FastestServer.get(['172.217.19.14', 'google.com'])
 
// fastest - will have fastest host.
// stats - will be more information about response time and respose type.
// {
//   fastest: 'google.com',
//   stats: [
//     { host: '172.217.19.14', response: 'REPLY', timeElapsed: 9 },
//     { host: 'google.com', response: 'REPLY', timeElapsed: 2 }
//   ]
// }

Methods Exposed

(static) FastestServer.get( hosts: Array< String >, [timeout: number]): Promise<{ fastest: string, stats: Array<{ host: string, response: string , timeElapsed: numer }>}>

const { fastest, stats } = await FastestServer.get(['172.217.19.14', 'google.com'], 5000);
 
console.log(fastest); // google.com
console.log(stats);
// [
//   { host: '172.217.19.14', response: 'REPLY', timeElapsed: 9 },
//   { host: 'google.com', response: 'REPLY', timeElapsed: 2 }
// ]

response will be one of the value from array: ['REPLY', 'NA', 'DESTINATION_UNREACHABLE', 'SOURCE_QUENCH', 'REDIRECT', 'UNKNOWN']

timeElapsed will be in milliseconds (ms)

Package Sidebar

Install

npm i fastest-server

Weekly Downloads

1

Version

1.0.1

License

MIT

Unpacked Size

50.6 kB

Total Files

4

Last publish

Collaborators

  • dhineshpandiyan