- From: Roy T. Fielding <fielding@gbiv.com>
- Date: Fri, 15 Nov 2013 00:41:41 -0800
- To: Mark Nottingham <mnot@mnot.net>
- Cc: Willy Tarreau <w@1wt.eu>, "Julian F. Reschke" <julian.reschke@gmx.de>, Eliot Lear <lear@cisco.com>, HTTP Working Group <ietf-http-wg@w3.org>
This is what I am about to commit (and am happy to let Julian make any tweaks later if more discussion calls for it) ... 1.2.1. Delta Seconds The delta-seconds rule specifies a non-negative integer, representing time in seconds. delta-seconds = 1*DIGIT 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. Cool? ....Roy
Received on Friday, 15 November 2013 08:42:05 UTC