category: Specifications

Implemented

Goals

  • Synchronized clock between peers (server & client)
  • Latency correction
  • Enable to compute msg latency
  • Client driven to facilitate backward compatibility

Protocol

  1. The peer issues an immediate PING (ID = 2) system request to the server including a client_timestamp.
  2. The server returns an immediate response to the client that includes the unmodified client_timestamp and its own ref_timestamp.
  3. The client computes a ping = current_timestamp - client_timestamp value and exposes it to the developer.
  4. The client estimates the offset between its timestamp and the ref_timestamp : offset = ref_timestamp - client_timestamp+ping/2
  5. The client exposes to the developer the synchronized timestamp timestamp+Avg(offset)

Ping response format

data   | Server timestamp     |   request data  |
------------------------------------------------|
Length |    8 (ulong)         |     xxxx        |