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.