Re: New Version Notification for draft-kamp-httpbis-structure-01.txt (fwd)

--------
In message <20161117090110.GA10016@1wt.eu>, Willy Tarreau writes:
>On Thu, Nov 17, 2016 at 09:01:35AM +0100, Julian Reschke wrote:

(Sorry for going time-nut on you guys...)

>Sure but that's one example where we know the 53-bit mantissa already fails
>to represent sub-microsecond when the seconds represent the unix time since
>the epoch, so a struct timespec is misrepresented there.

Nobody outside a small group institutions, of which I am the founding
member[1], are able to generate such a timestamp with any level of
credibility as to its truthfullness.

>On the other hand most of the time we don't care about the sub-microsecond
>accuracy,

Trust me:  We will never care about *timestamps* with sub-microsecond
resolution in HTTP headers. They barely make sense in the first
place and transmission noise and and delays will totally swamp any
information they might carry.

We might care about time *intervals* with sub-nanosecond resolution,
for instance how long it took to find something in memory.  Eleven
digits behind the decimal point is all you need for that[2] and
they should be stacked on top of a time_t offset of much lower
precision.

>Another option could be to state that some numbers can include a fractional
>part and that this part has to be processed separately *if required*. 

We are trying to *communicate* the number.  How people decide to
process the number on their own computer is not for us to decide [3].

>Or maybe Poul-Henning's 15-digit number can solve it as well. But we must not
>use it for any number as it would remove the ability to pass 64-bit integers.

15 digits is enough for a Content-Length of a petabyte, I don't think
anybody, now or in the future, will find that a sensible thing to do.

If you want to move cryptographic bits, there is a dedicated "blob"
datatype for that.

Poul-Henning

[1] http://phk.freebsd.dk/pubs/timecounter.pdf

[2] This is phyics:  You have to get a certain number of electrons
    through an electrical circuit before the voltage crosses your
    triggering threshold, and they are swimming in thermal noise.

[3] But the 15 digit limitation is there to make it easier for them.

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk@FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.

Received on Thursday, 17 November 2016 09:48:46 UTC