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. 
 | 
NtpMessage(byte leapIndicator,
          byte version,
          byte mode,
          short stratum,
          byte pollInterval,
          byte precision,
          double rootDelay,
          double rootDispersion,
          byte[] referenceIdentifier,
          double referenceTimestamp,
          double originateTimestamp,
          double receiveTimestamp,
          double transmitTimestamp)
Constructs a new NtpMessage 
 | 
| 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)
array - an array of byte.public NtpMessage(byte leapIndicator,
          byte version,
          byte mode,
          short stratum,
          byte pollInterval,
          byte precision,
          double rootDelay,
          double rootDispersion,
          byte[] referenceIdentifier,
          double referenceTimestamp,
          double originateTimestamp,
          double receiveTimestamp,
          double transmitTimestamp)
leapIndicator - a byte.version - a byte.mode - a byte.stratum - a short.pollInterval - a byte.precision - a byte.rootDelay - a double.rootDispersion - a double.referenceIdentifier - an array of byte.referenceTimestamp - a double.originateTimestamp - a double.receiveTimestamp - a double.transmitTimestamp - a double.public NtpMessage()
public byte[] toByteArray()
public String toString()
public static short unsignedByteToShort(byte b)
b - a byte.public static double decodeTimestamp(byte[] array,
                     int pointer)
pointer and
 return it as a double, according to the NTP 64-bit timestamp format.array - an array of byte.pointer - a int.public static void encodeTimestamp(byte[] array,
                   int pointer,
                   double timestamp)
array - an array of byte.pointer - a int.timestamp - a double.public static String timestampToString(double timestamp)
timestamp - a double.String object.public static String referenceIdentifierToString(byte[] ref, short stratum, byte version)
ref - an array of byte.stratum - a short.version - a byte.String object.Copyright © 2015. All rights reserved.