class NtpMessage extends Object
Modifier and Type | Field and Description |
---|---|
byte |
leapIndicator
This is a two-bit code warning of an impending leap second to be
inserted/deleted in the last minute of the current day.
|
byte |
mode
This value indicates the mode, with values defined as follows:
Mode Meaning
---- -------
0 reserved
1 symmetric active
2 symmetric passive
3 client
4 server
5 broadcast
6 reserved for NTP control message
7 reserved for private use
In unicast and anycast modes, the client sets this field to 3 (client)
in the request and the server sets it to 4 (server) in the reply.
|
double |
originateTimestamp
This is the time at which the request departed the client for the
server, in seconds since 00:00 1-Jan-1900.
|
byte |
pollInterval
This value indicates the maximum interval between successive messages,
in seconds to the nearest power of two.
|
byte |
precision
This value indicates the precision of the local clock, in seconds to
the nearest power of two.
|
double |
receiveTimestamp
This is the time at which the request arrived at the server, in seconds
since 00:00 1-Jan-1900.
|
byte[] |
referenceIdentifier
This is a 4-byte array identifying the particular reference source.
|
double |
referenceTimestamp
This is the time at which the local clock was last set or corrected, in
seconds since 00:00 1-Jan-1900.
|
double |
rootDelay
This value indicates the total roundtrip delay to the primary reference
source, in seconds.
|
double |
rootDispersion
This value indicates the nominal error relative to the primary reference
source, in seconds.
|
short |
stratum
This value indicates the stratum level of the local clock, with values
defined as follows:
Stratum Meaning
----------------------------------------------
0 unspecified or unavailable
1 primary reference (e.g., radio clock)
2-15 secondary reference (via NTP or SNTP)
16-255 reserved
|
double |
transmitTimestamp
This is the time at which the reply departed the server for the client,
in seconds since 00:00 1-Jan-1900.
|
byte |
version
This value indicates the NTP/SNTP version number.
|
Constructor and Description |
---|
NtpMessage()
Constructs a new NtpMessage in client -> server mode, and sets the
transmit timestamp to the current time.
|
NtpMessage(byte[] array)
Constructs a new NtpMessage from an array of bytes.
|
Modifier and Type | Method and Description |
---|---|
static void |
encodeTimestamp(byte[] array,
int pointer,
double timestamp)
Encodes a timestamp in the specified position in the message
|
String |
referenceIdentifierToString() |
byte[] |
toByteArray()
This method constructs the data bytes of a raw NTP packet.
|
String |
toString()
Returns a string representation of a NtpMessage
|
public byte leapIndicator
public byte version
public final byte mode
public short stratum
public byte pollInterval
public byte precision
public double rootDelay
public double rootDispersion
public final byte[] referenceIdentifier
public double referenceTimestamp
public double originateTimestamp
public double receiveTimestamp
public final double transmitTimestamp
public NtpMessage(byte[] array)
array
- 48 bytes minimumpublic NtpMessage()
public byte[] toByteArray()
public String toString()
public static void encodeTimestamp(byte[] array, int pointer, double timestamp)
array
- output 8 bytes starting at pointerpointer
- the offsettimestamp
- the time to encode (since 1900, NOT Java time)public String referenceIdentifierToString()