This Internet-Draft will expire on May 16, 2014.
+This Internet-Draft will expire on May 19, 2014.
The delta-seconds rule specifies a non-negative integer, representing time in seconds.
delta-seconds = 1*DIGIT -
If a cache receives a delta-seconds value larger than the largest positive integer it can represent, or if any of its subsequent - calculations overflows, the cache MUST consider the value to be 2147483648 (2^{31}). A recipient parsing a delta-seconds value MUST use an arithmetic type of at least 31 bits of range, and a sender MUST NOT generate delta-seconds with a value greater than 2147483648. -
-Note that this value (2147483648) might cause implementation issues on some platforms (in particular, those that represent - INT_MAX as 2^{31}-1), and therefore ought to be handled carefully. -
+A recipient parsing a delta-seconds value and converting it to binary form ought to use an arithmetic type of at least 31 + bits of non-negative integer range. If a cache receives a delta-seconds value greater than the greatest integer it can represent, + or if any of its subsequent calculations overflows, the cache MUST consider the value to be either 2147483648 (2^{31}) or the greatest positive integer it can conveniently represent. +
+Note: The value 2147483648 is here for historical reasons, effectively represents infinity (over 68 years), and does not need to + be stored in binary form; an implementation could produce it as a canned string if any overflow occurs, even if the calculations + are performed with an arithmetic type incapable of directly representing that number. What matters here is that an overflow + be detected and not treated as a negative value in later calculations. +
+