Package org.apache.commons.net.ntp
Class TimeInfo
- java.lang.Object
-
- org.apache.commons.net.ntp.TimeInfo
-
public class TimeInfo extends java.lang.Object
Wrapper class to network time packet messages (NTP, etc) that computes related timing info and stats.- Version:
- $Revision: 1652863 $
-
-
Constructor Summary
Constructors Constructor Description TimeInfo(NtpV3Packet message, long returnTime)
Create TimeInfo object with raw packet message and destination time received.TimeInfo(NtpV3Packet msgPacket, long returnTime, boolean doComputeDetails)
Create TimeInfo object with raw packet message and destination time received.TimeInfo(NtpV3Packet message, long returnTime, java.util.List<java.lang.String> comments)
Create TimeInfo object with raw packet message and destination time received.TimeInfo(NtpV3Packet message, long returnTime, java.util.List<java.lang.String> comments, boolean doComputeDetails)
Create TimeInfo object with raw packet message and destination time received.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addComment(java.lang.String comment)
Add comment (error/warning) to list of comments associated with processing of NTP parameters.void
computeDetails()
Compute and validate details of the NTP message packet.boolean
equals(java.lang.Object obj)
Compares this object against the specified object.java.net.InetAddress
getAddress()
Get host address from message datagram if availablejava.util.List<java.lang.String>
getComments()
Return list of comments (if any) during processing of NTP packet.java.lang.Long
getDelay()
Get round-trip network delay.NtpV3Packet
getMessage()
Returns NTP message packet.java.lang.Long
getOffset()
Get clock offset needed to adjust local clock to match remote clock.long
getReturnTime()
Returns time at which time message packet was received by local machine.int
hashCode()
Computes a hashcode for this object.
-
-
-
Constructor Detail
-
TimeInfo
public TimeInfo(NtpV3Packet message, long returnTime)
Create TimeInfo object with raw packet message and destination time received.- Parameters:
message
- NTP message packetreturnTime
- destination receive time- Throws:
java.lang.IllegalArgumentException
- if message is null
-
TimeInfo
public TimeInfo(NtpV3Packet message, long returnTime, java.util.List<java.lang.String> comments)
Create TimeInfo object with raw packet message and destination time received.- Parameters:
message
- NTP message packetreturnTime
- destination receive timecomments
- List of errors/warnings identified during processing- Throws:
java.lang.IllegalArgumentException
- if message is null
-
TimeInfo
public TimeInfo(NtpV3Packet msgPacket, long returnTime, boolean doComputeDetails)
Create TimeInfo object with raw packet message and destination time received. Auto-computes details if computeDetails flag set otherwise this is delayed until computeDetails() is called. Delayed computation is for fast intialization when sub-millisecond timing is needed.- Parameters:
msgPacket
- NTP message packetreturnTime
- destination receive timedoComputeDetails
- flag to pre-compute delay/offset values- Throws:
java.lang.IllegalArgumentException
- if message is null
-
TimeInfo
public TimeInfo(NtpV3Packet message, long returnTime, java.util.List<java.lang.String> comments, boolean doComputeDetails)
Create TimeInfo object with raw packet message and destination time received. Auto-computes details if computeDetails flag set otherwise this is delayed until computeDetails() is called. Delayed computation is for fast intialization when sub-millisecond timing is needed.- Parameters:
message
- NTP message packetreturnTime
- destination receive timecomments
- list of comments used to store errors/warnings with messagedoComputeDetails
- flag to pre-compute delay/offset values- Throws:
java.lang.IllegalArgumentException
- if message is null
-
-
Method Detail
-
addComment
public void addComment(java.lang.String comment)
Add comment (error/warning) to list of comments associated with processing of NTP parameters. If comment list not create then one will be created.- Parameters:
comment
- the comment
-
computeDetails
public void computeDetails()
Compute and validate details of the NTP message packet. Computed fields include the offset and delay.
-
getComments
public java.util.List<java.lang.String> getComments()
Return list of comments (if any) during processing of NTP packet.- Returns:
- List or null if not yet computed
-
getDelay
public java.lang.Long getDelay()
Get round-trip network delay. If null then could not compute the delay.- Returns:
- Long or null if delay not available.
-
getOffset
public java.lang.Long getOffset()
Get clock offset needed to adjust local clock to match remote clock. If null then could not compute the offset.- Returns:
- Long or null if offset not available.
-
getMessage
public NtpV3Packet getMessage()
Returns NTP message packet.- Returns:
- NTP message packet.
-
getAddress
public java.net.InetAddress getAddress()
Get host address from message datagram if available- Returns:
- host address of available otherwise null
- Since:
- 3.4
-
getReturnTime
public long getReturnTime()
Returns time at which time message packet was received by local machine.- Returns:
- packet return time.
-
equals
public boolean equals(java.lang.Object obj)
Compares this object against the specified object. The result istrue
if and only if the argument is notnull
and is aTimeStamp
object that contains the same values as this object.- Overrides:
equals
in classjava.lang.Object
- Parameters:
obj
- the object to compare with.- Returns:
true
if the objects are the same;false
otherwise.- Since:
- 3.4
-
hashCode
public int hashCode()
Computes a hashcode for this object. The result is the exclusive OR of the return time and the message hash code.- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- a hash code value for this object.
- Since:
- 3.4
-
-