#include <chrono>
#include <cstdint>
#include <deque>
#include <map>
#include <mutex>
#include <string>
#include <vector>
Go to the source code of this file.
|
| struct | Mads::ClockSample |
| | One four-timestamp exchange, all fields microseconds since the Unix epoch: t1/t4 read from the initiator's clock, t2/t3 from the responder's. More...
|
| |
| struct | Mads::ClockOffsetResult |
| | Result of a clock-offset measurement: offset_us added to a clock in the measured domain yields broker-host time (broker_host_clock - domain_clock). source/hops/origin_agent_id/seq are Agent-level bookkeeping the estimator does not fill in – only estimate()'s own offset_us/delay_us/samples/valid are computed from the timestamps. More...
|
| |
| class | Mads::ClockOffsetEstimator |
| | Accumulates ClockSamples and returns the classic NTP "best of N": the retained sample with the smallest round-trip delay, i.e. the one least polluted by queuing delay along the path. More...
|
| |
| class | Mads::ClockConsensus |
| | Per-clock-domain adoption of the smallest-delay measurement heard from any agent sharing that domain (ยง2.1 of the design): agents on one host announce their own measurements, and every agent applies this same deterministic rule – so they converge on one offset without an election. More...
|
| |
| struct | Mads::HostSkewStat |
| | Snapshot of one host's passive clock skew, as computed by HostSkewStats::snapshot() at a given instant. More...
|
| |
| class | Mads::HostSkewStats |
| | Thread-safe sliding-window tracker of per-host clock skew, fed by mads top's passive mode: for every received message, record (local_rx_time - payload's own timestamp field), both as epoch microseconds. No protocol at all – works against any existing MADS deployment, since timestamp/hostname are already stamped on every published message by Agent::publish(). More...
|
| |