public 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 double |
decodeTimestamp(byte[] array,
int pointer)
Will read 8 bytes of a message beginning at
pointer
and return it as a double, according to the NTP 64-bit timestamp
format. |
static void |
encodeTimestamp(byte[] array,
int pointer,
double timestamp)
Encodes a timestamp in the specified position in the message
|
static String |
referenceIdentifierToString(byte[] ref,
short stratum,
byte version)
Returns a string representation of a reference identifier according
to the rules set out in RFC 2030.
|
static String |
timestampToString(double timestamp)
Returns a timestamp (number of seconds since 00:00 1-Jan-1900) as a
formatted date/time string.
|
byte[] |
toByteArray()
This method constructs the data bytes of a raw NTP packet.
|
String |
toString()
Returns a string representation of a NtpMessage
|
static short |
unsignedByteToShort(byte b)
Converts an unsigned byte to a short.
|
public byte leapIndicator
public byte version
public byte mode
public short stratum
public byte pollInterval
public byte precision
public double rootDelay
public double rootDispersion
public byte[] referenceIdentifier
public double referenceTimestamp
public double originateTimestamp
public double receiveTimestamp
public double transmitTimestamp
public NtpMessage(byte[] array)
public NtpMessage()
public byte[] toByteArray()
public String toString()
public static short unsignedByteToShort(byte b)
public static double decodeTimestamp(byte[] array, int pointer)
pointer
and return it as a double, according to the NTP 64-bit timestamp
format.public static void encodeTimestamp(byte[] array, int pointer, double timestamp)
public static String timestampToString(double timestamp)
public static String referenceIdentifierToString(byte[] ref, short stratum, byte version)
TV-Browser 2.7.6, Copyright (C) 04-2003 Martin Oberhauser (martin@tvbrowser.org)