Skip to content

Commit

Permalink
Be more explicit about "elective" and "critical"
Browse files Browse the repository at this point in the history
  • Loading branch information
cabo committed Oct 18, 2023
1 parent 3fe7e2e commit 85f885f
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions draft-ietf-cbor-time-tag.md
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,9 @@ item (CBOR major type 5). The map may contain integer (major types 0
and 1) or text string (major type 3) keys, with the value type
determined by each specific key.
For negative integer keys and text string values of the key,
implementations MUST ignore key/value pairs they do not understand.
implementations MUST ignore key/value pairs they do not understand; we
say that these keys are "elective", as the extended time is still
usable if an implementation elects not to implement them.
Conversely, for unsigned integer keys, implementations MUST signal as
an error key/value pairs they do not understand or implement
(these are either "base time" or "critical", see below).
Expand All @@ -284,11 +286,12 @@ text-string keys, which may encode supplementary information.

Supplementary information may also be provided by additional unsigned
integer keys that are explicitly defined to provide supplementary
information ("critical"; as these are required to be understood, there
can be no confusion with base time keys).
information (we say these keys are defined to be "critical"); as these
are required to be understood, there can be no confusion with base
time keys.

Negative integer and text string keys always supply supplementary
information ("elective", and this will not be explicitly stated
information (they are "elective", and this will not be explicitly stated
below).

Supplementary information may include:
Expand Down

0 comments on commit 85f885f

Please sign in to comment.