Re: p6: maximum delta-seconds of 2147483648

On Fri, Nov 15, 2013 at 12:41:41AM -0800, Roy T. Fielding wrote:
> 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?

Yes, that perfectly fits the issue in my opinion.

Thanks Roy!

willy

Received on Saturday, 16 November 2013 07:45:34 UTC