Class SntpMessage
Message for the SNTP-protocol (RFC 4330).
NTP-timestamps will be calculated at best in microsecond precision.
- Since:
- 2.1
- Author:
- Meno Hochschild
-
Method Summary
Modifier and TypeMethodDescriptionstatic longconvert(double ntpTimestamp)Converts given NTP-timestamp to a microsecond value relative to the UNIX- epoch.byteYields the LI-bits as appointment of a coming leap second.bytegetMode()Displays the mode.doubleNTP-timestamp when the client request was sent.intYields the maximum interval between two successful server messages in seconds as exponent for base 2.intYields the precision of the server clock in seconds as exponent for the base 2.doubleNTP-timestamp when the server received the client request.Identifies a reference source.doubleNTP-timestamp when the time of the server was set or corrected last time.doubleYields the total delay in seconds relative to the primary source.doubleYields the maximum error in seconds relative to the primary source.shortDisplays the stratum-value indicating the distance of the original time source.doubleNTP-timestamp when the client or server request was sent.byteDisplays the NTP-version.toString()Returns a human-readable form of the internal state.
-
Method Details
-
getLeapIndicator
public byte getLeapIndicator()Yields the LI-bits as appointment of a coming leap second.
- 0 - no warning.
- 1 - last minute of day has 61 seconds.
- 2 - last minute of day has 59 seconds.
- 3 - alert state (missing clock synchronization).
- Returns:
- byte
- Since:
- 2.1
-
getVersion
public byte getVersion()Displays the NTP-version.
- Returns:
- 3 (if only IPv4 is supported) else 4
- Since:
- 2.1
-
getMode
public byte getMode()Displays the mode.
- Returns:
- 3 (client-mode) or 4 (server-mode) oder 5 (broadcast)
- Since:
- 2.1
-
getStratum
public short getStratum()Displays the stratum-value indicating the distance of the original time source.
Usually it is the count of involved clock servers respective layers. The value
0indicates a kiss-o'-death-message by which the server signals to the client that repeated requests should be immediately stopped.- Returns:
- 0 (unspecified) oder 1 (direkt) oder 2-15 (sekundär)
- Since:
- 2.1
-
getPollInterval
public int getPollInterval()Yields the maximum interval between two successful server messages in seconds as exponent for base 2.
This property is only relevant if the server is sending messages in the broadcast-mode. In all other cases the server should send the value
0.- Returns:
- broadcast-mode: value in range
4 <= pollInterval <= 17 - Since:
- 2.1
-
getPrecision
public int getPrecision()Yields the precision of the server clock in seconds as exponent for the base 2.
- Returns:
- int in the usual range
-6 <= precision <= -23 - Since:
- 2.1
-
getRootDelay
public double getRootDelay()Yields the total delay in seconds relative to the primary source.
This information only concerns the NTP-server, not the actual network traffic with the client.
- Returns:
- round-trip-delay in seconds
- Since:
- 2.1
-
getRootDispersion
public double getRootDispersion()Yields the maximum error in seconds relative to the primary source.
This information only concerns the NTP-server, not the actual network traffic with the client.
- Returns:
- maximum error in seconds
- Since:
- 2.1
-
getReferenceIdentifier
Identifies a reference source.
If the connected server is a primary NTP-server (stratum = 1) then the return value will usually be a string from following list:
- LOCL - uncalibrated local clock
- CESM - calibrated Cesium clock
- RBDM - calibrated Rubidium clock
- PPS - calibrated quartz clock or other pulse-per-second source
- IRIG - Inter-Range Instrumentation Group
- ACTS - NIST telephone modem service
- USNO - USNO telephone modem service
- PTB - PTB (Germany) telephone modem service
- TDF - Allouis (France) Radio 164 kHz
- DCF - Mainflingen (Germany) Radio 77.5 kHz
- MSF - Rugby (UK) Radio 60 kHz
- WWV - Ft. Collins (US) Radio 2.5, 5, 10, 15, 20 MHz
- WWVB - Boulder (US) Radio 60 kHz
- WWVH - Kauai Hawaii (US) Radio 2.5, 5, 10, 15 MHz
- CHU - Ottawa (Canada) Radio 3330, 7335, 14670 kHz
- LORC - LORAN-C radionavigation getChronology
- OMEG - OMEGA radionavigation getChronology
- GPS - Global positioning getChronology
A secondary IPv4-server will return a 32-bit-IP-address else the return value represents the first 32 bits of a MD5-hash value of a IPv6- or NSAP-address of the synchronization source.
In case of a (
stratum == 0) - reply of the server the return value describes a kiss-or-death-message. The client should then not repeat the request (or at least not within the next minute). A non-exhausting selection:- ACST - Association belongs to an anycast server
- AUTH - Server authentication failed
- AUTO - Autokey sequence failed
- BCST - Association belongs to a broadcast server
- CRYP - Cryptographic authentication or identification failed
- DENY - Access denied by remote server
- DROP - Lost peer in symmetric mode
- RSTR - Access denied due to local policy
- INIT - Association has not yet synchronized for the first time
- MCST - Association belongs to a manycast server
- NKEY - No key found. Either the key was never installed or is not trusted
- RATE - Rate exceeded. The server has temporarily denied access because the client exceeded the rate threshold
- RMOT - Somebody is tinkering with the association from a remote host running ntpdc. Not to worry unless some rascal has stolen your keys
- STEP - A step change in getChronology time has occurred, but the association has not yet resynchronized
- Returns:
- String
- Since:
- 2.1
-
getReferenceTimestamp
public double getReferenceTimestamp()NTP-timestamp when the time of the server was set or corrected last time.
The method yields
0if no request has been sent yet.- Returns:
- NTP-time in seconds since 1900-01-01
- Since:
- 2.1
-
getOriginateTimestamp
public double getOriginateTimestamp()NTP-timestamp when the client request was sent.
The method yields
0if no request has been sent yet.- Returns:
- NTP-time in seconds since 1900-01-01
- Since:
- 2.1
-
getReceiveTimestamp
public double getReceiveTimestamp()NTP-timestamp when the server received the client request.
The method yields
0if no request has been sent yet.- Returns:
- NTP-time in seconds since 1900-01-01
- Since:
- 2.1
-
getTransmitTimestamp
public double getTransmitTimestamp()NTP-timestamp when the client or server request was sent.
- Returns:
- NTP-time in seconds since 1900-01-01
- Since:
- 2.1
-
toString
Returns a human-readable form of the internal state.
-
convert
public static long convert(double ntpTimestamp)Converts given NTP-timestamp to a microsecond value relative to the UNIX- epoch.
- Parameters:
ntpTimestamp- NTP-timestamp (seconds since 1900-01-01)- Returns:
- long-Wert relative to 1970-01-01 in microseconds without leap seconds
- Since:
- 2.1
-