Class TAITime

  • All Implemented Interfaces:
    TMTTime, java.io.Serializable, scala.Equals, scala.Product

    public final class TAITime
    extends java.lang.Object
    implements TMTTime, scala.Product, java.io.Serializable
    Represents an instantaneous point in International Atomic Time (TAI).

    param: value the underlying java.time.Instant

    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      TAITime​(java.time.Instant value)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static TAITime after​(scala.concurrent.duration.FiniteDuration duration)  
      static TAITime now()
      Obtains the PTP (Precision Time Protocol) synchronized current time in TAI timescale.
      static int offset()
      Fetches UTC to TAI offset by doing a native call to ntp_gettimex in case of a Linux machine.
      UTCTime toUTC()
      Converts the TAITime to UTCTime by subtracting the UTC-TAI offset.
      java.time.Instant value()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface scala.Equals

        canEqual, equals
      • Methods inherited from interface scala.Product

        productArity, productElement, productElementName, productElementNames, productIterator, productPrefix
    • Constructor Detail

      • TAITime

        public TAITime​(java.time.Instant value)
    • Method Detail

      • now

        public static TAITime now()
        Obtains the PTP (Precision Time Protocol) synchronized current time in TAI timescale. In case of a Linux machine, this will make a native call clock_gettime inorder to get time from the system clock with nanosecond precision In case of all the other operating systems, nanosecond precision is not supported, hence no native call is made.

        Returns:
        current time in TAI scale
      • after

        public static TAITime after​(scala.concurrent.duration.FiniteDuration duration)
      • offset

        public static int offset()
        Fetches UTC to TAI offset by doing a native call to ntp_gettimex in case of a Linux machine. It ensures to get the latest offset as updated by the PTP Grandmaster.

        Returns:
        offset of UTC to TAI in seconds
      • value

        public java.time.Instant value()
        Specified by:
        value in interface TMTTime
      • toUTC

        public UTCTime toUTC()
        Converts the TAITime to UTCTime by subtracting the UTC-TAI offset. UTC-TAI offset is fetched by doing a native call to ntp_gettimex. It ensures to get the latest offset as updated by the PTP Grandmaster.

        Returns:
        UTC time at the given TAI time