2.0.1 • Published 8 years ago

@smarterservices/smarterclock v2.0.1

Weekly downloads
-
License
-
Repository
github
Last release
8 years ago

SmarterClock

Used to ensure the time used is in sync across distributed systems. The sync is achived by the following process:

  • Fetches the time from an NTP server.
  • Adjusts for network latency and transfer time
  • Computes the delta between the NTP server and the system clock and stores the delta for later use.
  • Uses all the stored deltas to get the average time drift from UTC.

##Getting Started Install the module.

npm install @smarterservices/smarterclock

Import the module into your codebase

var smarterclock = require('@smarterservices/smarterclock')

Create an instance of the clock object passing in the required params. See the options section below for options that can be used.

var options = {};

// create a new instance
var clock = new smarterclock(options);

// get the current unix timestamp
var currentTime = clock.getTime();

console.log(currentTime);

Options

The clock constructor can accept the following options. all options are optional

  • syncDelay (number) : The time (in seconds) between each call to an NTP server to get the latest UTC timestamp. Defaults to 300 (which is 5 minutes).
  • history (number): The nubmer of delta values that should be maintained and used for calculating your local time drift. Defaults to 10.
  • servers (array) : An array of NTP servers to use when looking up time. Each value in the array should be an object with the keys server and port. Defaults to pool.ntp.org.

Example

{
	"syncDelay" : 60,
	"history": 10,
	"servers" : [{"server": "pool.ntp.org", "port": 123}]
}

Methods

###getTime()

Returns unix timestamp based on delta values between server and your local time. This is the time that can be used instead of new Date().getTime()

Example

clock.getTime();

###syncTime()

An on-demand method that will force a sync with an NTP server.

clock.syncTime();
		
2.0.1

8 years ago

2.0.0

8 years ago

1.1.1

9 years ago

1.0.9

9 years ago

1.0.8

10 years ago

1.0.7

10 years ago

1.0.6

10 years ago

1.0.5

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago