rfc9581v5.txt | rfc9581.txt | |||
---|---|---|---|---|
skipping to change at line 145 ¶ | skipping to change at line 145 ¶ | |||
2. Objectives | 2. Objectives | |||
For the time tag, the present specification addresses the following | For the time tag, the present specification addresses the following | |||
objectives that go beyond the original tags 0 and 1 (defined in | objectives that go beyond the original tags 0 and 1 (defined in | |||
Sections 3.4.1 and 3.4.2 of [RFC8949]): | Sections 3.4.1 and 3.4.2 of [RFC8949]): | |||
* Additional resolution for epoch-based time (as in tag 1). CBOR | * Additional resolution for epoch-based time (as in tag 1). CBOR | |||
tag 1 only provides for representation of time as an integer and | tag 1 only provides for representation of time as an integer and | |||
as up to a binary64 floating-point value [IEEE754], which limits | as up to a binary64 floating-point value [IEEE754], which limits | |||
the resolution to approximately microseconds at the time of | the resolution to approximately microseconds at the time of | |||
writing (and progressively becoming worse over time). | writing (progressively becoming worse over time). | |||
* Indication of timescale. Tags 0 and 1 are defined for UTC; | * Indication of timescale. Tags 0 and 1 are defined for UTC; | |||
however, some interchanges are better performed on TAI. Other | however, some interchanges are better performed on TAI. Other | |||
timescales may be registered once they become relevant (e.g., one | timescales may be registered once they become relevant (e.g., one | |||
of the proposed successors to UTC that might no longer use leap | of the proposed successors to UTC that might no longer use leap | |||
seconds or a scale based on smeared leap seconds). | seconds or a scale based on smeared leap seconds). | |||
By incorporating a way to transport [RFC9557] suffix information (see | By incorporating a way to transport [RFC9557] suffix information (see | |||
Sections 3.6 and 3.7), additional indications of intents about the | Sections 3.6 and 3.7), additional indications of intents about the | |||
interpretation of the time given can be provided; in particular, for | interpretation of the time given can be provided; in particular, for | |||
skipping to change at line 313 ¶ | skipping to change at line 313 ¶ | |||
instance in C timespec (Section 7.27.1 of [C]). When ingesting a | instance in C timespec (Section 7.27.1 of [C]). When ingesting a | |||
timestamp with one of these keys into a type provided by the target | timestamp with one of these keys into a type provided by the target | |||
platform, care has to be taken to meet its invariants. For example, | platform, care has to be taken to meet its invariants. For example, | |||
for C timespec, the fractional part tv_nsec needs to be between 0 | for C timespec, the fractional part tv_nsec needs to be between 0 | |||
inclusive and 10^9 exclusive, which can be achieved by also adjusting | inclusive and 10^9 exclusive, which can be achieved by also adjusting | |||
the base time appropriately. | the base time appropriately. | |||
3.4. Keys -1, -13, and 13: Timescale | 3.4. Keys -1, -13, and 13: Timescale | |||
Keys -1, -13, and 13 are used to indicate a timescale, where key 13 | Keys -1, -13, and 13 are used to indicate a timescale, where key 13 | |||
is critical. Keys -1 and -13 have identical semantics (they are both | is critical. Keys -1 and -13 have identical semantics (both are | |||
assigned because key -1 was chosen first and then, when key 13 was | assigned because key -1 was chosen first and then, when key 13 was | |||
added, it appeared desirable to have a negative equivalent). Each | added, it appeared desirable to have a negative equivalent). Each | |||
extended time data item MUST NOT contain more than one of these keys. | extended time data item MUST NOT contain more than one of these keys. | |||
The value 0 indicates UTC, with the POSIX epoch [TIME_T]; the value 1 | The value 0 indicates UTC, with the POSIX epoch [TIME_T]; the value 1 | |||
indicates TAI, with the Precision Time Protocol (PTP) epoch (1 | indicates TAI, with the Precision Time Protocol (PTP) epoch (1 | |||
January 1970 00:00:00 TAI, see [IEEE1588-2019] or [IEEE1588-2008]). | January 1970 00:00:00 TAI, see [IEEE1588-2019] or [IEEE1588-2008]). | |||
$$ETIME-ELECTIVE //= (-1 => $ETIME-TIMESCALE) | $$ETIME-ELECTIVE //= (-1 => $ETIME-TIMESCALE) | |||
$$ETIME-ELECTIVE //= (-13 => $ETIME-TIMESCALE) | $$ETIME-ELECTIVE //= (-13 => $ETIME-TIMESCALE) | |||
skipping to change at line 362 ¶ | skipping to change at line 362 ¶ | |||
| earth-referenced timescales (such as UT1 and TT), as well as | | earth-referenced timescales (such as UT1 and TT), as well as | |||
| possibly for specific realizations of abstract timescales (such | | possibly for specific realizations of abstract timescales (such | |||
| as TAI(USNO), the specific realization obtained at the United | | as TAI(USNO), the specific realization obtained at the United | |||
| States Naval Observatory, which is more accurate as a constant | | States Naval Observatory, which is more accurate as a constant | |||
| offset basis for GPS times). While the registration process | | offset basis for GPS times). While the registration process | |||
| itself is trivial, these registrations need to be made based on | | itself is trivial, these registrations need to be made based on | |||
| a solid specification of their actual definition. | | a solid specification of their actual definition. | |||
3.5. Clock Quality | 3.5. Clock Quality | |||
A number of keys are defined to indicate the quality of clock that | A number of keys are defined to indicate the quality of the clock | |||
was used to determine the point in time. | that was used to determine the point in time. | |||
The first three are analogous to clock-quality-grouping in [RFC8575], | The first three are analogous to clock-quality-grouping in [RFC8575], | |||
which is in turn based on the definitions in [IEEE1588-2008]; the | which is in turn based on the definitions in [IEEE1588-2008]; the | |||
last two are specific to this document. | last two are specific to this document. | |||
ClockQuality-group = ( | ClockQuality-group = ( | |||
? &(ClockClass: -2) => uint .size 1 ; PTP/RFC8575 | ? &(ClockClass: -2) => uint .size 1 ; PTP/RFC8575 | |||
? &(ClockAccuracy: -4) => uint .size 1 ; PTP/RFC8575 | ? &(ClockAccuracy: -4) => uint .size 1 ; PTP/RFC8575 | |||
? &(OffsetScaledLogVariance: -5) => uint .size 2 ; PTP/RFC8575 | ? &(OffsetScaledLogVariance: -5) => uint .size 2 ; PTP/RFC8575 | |||
? &(Uncertainty: -7) => ~time/~duration | ? &(Uncertainty: -7) => ~time/~duration | |||
End of changes. 3 change blocks. | ||||
4 lines changed or deleted | 4 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |