NtpClockMeasurement Class

The result of NtpClient.MeasureAsync: the clock offset agreed on by the majority of the servers that answered.

public sealed class NtpClockMeasurement

Properties

NameDescription
ClockOffsetGets the estimated clock offset between the local clock and the servers: the average of the offsets of NtpClockMeasurement.SelectedServers, weighted by the inverse of their root distance. Add it to the local clock to get the time of the servers.
FailedServersGets the clients whose server gave no valid reply, with the reason.
JitterGets the root mean square of the differences between the offsets of NtpClockMeasurement.SelectedServers and NtpClockMeasurement.ClockOffset.
MaximumClockOffsetGets the upper bound of the clock offset. See NtpClockMeasurement.MinimumClockOffset.
MinimumClockOffsetGets the lower bound of the clock offset: the true offset lies between NtpClockMeasurement.MinimumClockOffset and NtpClockMeasurement.MaximumClockOffset as long as the majority of the servers that answered tell the time correctly.
RejectedServersGets the servers whose time disagrees with the majority (the falsetickers of RFC 5905). Their offsets are ignored.
SelectedServersGets the servers that agree with the majority (the truechimers of RFC 5905), whose offsets make NtpClockMeasurement.ClockOffset.

Gets the estimated clock offset between the local clock and the servers: the average of the offsets of NtpClockMeasurement.SelectedServers, weighted by the inverse of their root distance. Add it to the local clock to get the time of the servers.

public TimeSpan ClockOffset { get; }

Property value

TimeSpan

Gets the clients whose server gave no valid reply, with the reason.

public IReadOnlyDictionary<NtpClient, Exception> FailedServers { get; }

Gets the root mean square of the differences between the offsets of NtpClockMeasurement.SelectedServers and NtpClockMeasurement.ClockOffset.

public TimeSpan Jitter { get; }

Property value

TimeSpan

MaximumClockOffset

NtpClockMeasurement.cs

Gets the upper bound of the clock offset. See NtpClockMeasurement.MinimumClockOffset.

public TimeSpan MaximumClockOffset { get; }

Property value

TimeSpan

MinimumClockOffset

NtpClockMeasurement.cs

Gets the lower bound of the clock offset: the true offset lies between NtpClockMeasurement.MinimumClockOffset and NtpClockMeasurement.MaximumClockOffset as long as the majority of the servers that answered tell the time correctly.

public TimeSpan MinimumClockOffset { get; }

Property value

TimeSpan

RejectedServers

NtpClockMeasurement.cs

Gets the servers whose time disagrees with the majority (the falsetickers of RFC 5905). Their offsets are ignored.

public IReadOnlyList<NtpServerMeasurement> RejectedServers { get; }

SelectedServers

NtpClockMeasurement.cs

Gets the servers that agree with the majority (the truechimers of RFC 5905), whose offsets make NtpClockMeasurement.ClockOffset.

public IReadOnlyList<NtpServerMeasurement> SelectedServers { get; }