Release v0.1.0
This is the initial release of the ntp
package. Currently it supports the following features:
Time()
to query the current time according to a remote NTP server.Query()
to query multiple pieces of time-related information from a remote NTP server.QueryWithOptions()
, which is likeQuery()
but with the ability to override default query options.
Time-related information returned by the Query
functions includes:
Time
: the time the server transmitted its response, according to the server's clock.ClockOffset
: the estimated offset of the client's clock relative to the server's clock. You may apply this offset to any local system clock reading once the query is complete.RTT
: an estimate of the round-trip-time delay between the client and the server.Precision
: the precision of the server's clock reading.Stratum
: the "stratum" level of the server, where 1 indicates a server directly connected to a reference clock, and values greater than 1 indicating the number of hops from the reference clock.ReferenceID
: A unique identifier for the NTP server that was contacted.ReferenceTime
: The time at which the server last updated its local clock setting.RootDelay
: The server's round-trip delay to the reference clock.RootDispersion
: The server's total dispersion to the referenced clock.RootDistance
: An estimate of the root synchronization distance.Leap
: The leap second indicator.MinError
: A lower bound on the clock error between the client and the server.Poll
: the maximum polling interval between successive messages on the server.
The Response
structure returned by the Query
functions also contains a Response.Validate()
function that returns an error if any of the fields returned by the server are invalid.