timeserver

command module
v1.2.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 23, 2023 License: MIT Imports: 12 Imported by: 0

README

Time Server

HTTP Time Server that returns the current server time

How it works

Terminology

  • t0: time when the client sends the request
  • t1: time when the server receives the request
  • t2: time when the server sends the response
  • t3: time when the client receives the response

Protocol

  1. The Client sends a request GET /tt to the server.

The server is written in Go and returns the current time in the following format:

18446744073709551615$18446744073709551615
  1. The Client can parse the response by splitting the string by $ and converting the first part to t1 and the second part to t2.

  2. The Client can calculate offset by the following formula:

offset = (t1 - t0 + t2 - t3) / 2;
  1. The Client also can calculate sync error by the following formula:
error = Math.abs(t3 - t0 - (t2 - t1)) / 2;
  1. The Client repeats the request several times and calculates and records the offset and error for each request.

  2. After that client calculates the confidence interval using the Intersection algorithm.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL