Class TimeInfo

java.lang.Object
org.apache.commons.net.ntp.TimeInfo

public class TimeInfo extends Object
Wrapper class to network time packet messages (NTP, etc.) that computes related timing info and stats.
  • Constructor Summary

    Constructors
    Constructor
    Description
    TimeInfo(NtpV3Packet message, long returnTimeMillis)
    Create TimeInfo object with raw packet message and destination time received.
    TimeInfo(NtpV3Packet msgPacket, long returnTimeMillis, boolean doComputeDetails)
    Create TimeInfo object with raw packet message and destination time received.
    TimeInfo(NtpV3Packet message, long returnTimeMillis, List<String> comments)
    Create TimeInfo object with raw packet message and destination time received.
    TimeInfo(NtpV3Packet message, long returnTimeMillis, List<String> comments, boolean doComputeDetails)
    Create TimeInfo object with raw packet message and destination time received.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addComment(String comment)
    Add comment (error/warning) to list of comments associated with processing of NTP parameters.
    void
    Compute and validate details of the NTP message packet.
    boolean
    Compares this object against the specified object.
    Gets host address from message datagram if available
    Return list of comments (if any) during processing of NTP packet.
    Gets round-trip network delay.
    Returns NTP message packet.
    Gets clock offset needed to adjust local clock to match remote clock.
    long
    Returns time at which time message packet was received by local machine.
    int
    Computes a hash code for this object.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • TimeInfo

      public TimeInfo(NtpV3Packet message, long returnTimeMillis)
      Create TimeInfo object with raw packet message and destination time received.
      Parameters:
      message - NTP message packet
      returnTimeMillis - destination receive time
      Throws:
      IllegalArgumentException - if message is null
    • TimeInfo

      public TimeInfo(NtpV3Packet msgPacket, long returnTimeMillis, 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 initialization when sub-millisecond timing is needed.
      Parameters:
      msgPacket - NTP message packet
      returnTimeMillis - destination receive time
      doComputeDetails - flag to pre-compute delay/offset values
      Throws:
      IllegalArgumentException - if message is null
    • TimeInfo

      public TimeInfo(NtpV3Packet message, long returnTimeMillis, List<String> comments)
      Create TimeInfo object with raw packet message and destination time received.
      Parameters:
      message - NTP message packet
      returnTimeMillis - destination receive time
      comments - List of errors/warnings identified during processing
      Throws:
      IllegalArgumentException - if message is null
    • TimeInfo

      public TimeInfo(NtpV3Packet message, long returnTimeMillis, List<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 initialization when sub-millisecond timing is needed.
      Parameters:
      message - NTP message packet
      returnTimeMillis - destination receive time
      comments - list of comments used to store errors/warnings with message
      doComputeDetails - flag to pre-compute delay/offset values
      Throws:
      IllegalArgumentException - if message is null
  • Method Details

    • addComment

      public void addComment(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.
    • equals

      public boolean equals(Object obj)
      Compares this object against the specified object. The result is true if and only if the argument is not null and is a TimeStamp object that contains the same values as this object.
      Overrides:
      equals in class Object
      Parameters:
      obj - the object to compare with.
      Returns:
      true if the objects are the same; false otherwise.
      Since:
      3.4
    • getAddress

      Gets host address from message datagram if available
      Returns:
      host address of available otherwise null
      Since:
      3.4
    • getComments

      public List<String> getComments()
      Return list of comments (if any) during processing of NTP packet.
      Returns:
      List or null if not yet computed
    • getDelay

      public Long getDelay()
      Gets round-trip network delay. If null then could not compute the delay.
      Returns:
      Long or null if delay not available.
    • getMessage

      Returns NTP message packet.
      Returns:
      NTP message packet.
    • getOffset

      public Long getOffset()
      Gets 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.
    • getReturnTime

      public long getReturnTime()
      Returns time at which time message packet was received by local machine.
      Returns:
      packet return time.
    • hashCode

      public int hashCode()
      Computes a hash code for this object. The result is the exclusive OR of the return time and the message hash code.
      Overrides:
      hashCode in class Object
      Returns:
      a hash code value for this object.
      Since:
      3.4