Subject: Ack Delay field

From: Martin Duke <[email-masked]>
Date: Thu, 31 Aug 2017 14:07:54 -0700

Is the 16 bit mantissa thing used in the ACK frame in network order. That
is, do I pretend the bits are an integer and rearrange the bytes
accordingly, or are the bits specifically laid out as described in the spec?

---

From: Matthew Kerwin <[email-masked]>
Date: Fri, 1 Sep 2017 07:27:43 +1000

On 1 Sep. 2017 7:09 am, "Martin Duke" <[email-masked]> wrote:

I read the 16 bits into an integer (i.e. changing endianness), then masked
the low 10 bits. That might just have been complete lack of imagination on
my part. I've also never got my code to a point where I can test interop.

Cheers
-- 
Matthew Kerwin

---

From: Patrick McManus <[email-masked]>
Date: Thu, 31 Aug 2017 17:28:31 -0400

this doesn't directly address your issue, but I want to make sure you
remember that the current example in the spec is known to be wrong:
https://github.com/quicwg/base-drafts/issues/109

(I somehow blocked out the long conversation from tokyo from my mind and
got totally confused when doing the implementation..)

---

From: Ryan Hamilton <[email-masked]>
Date: Thu, 31 Aug 2017 14:34:53 -0700

> my part. I've also never got my code to a point where I can test interop.

​That's exactly what we did. We treat the "16-bit unsigned float with 11
explicit bits of mantissa and 5 bits of explicit exponent" as a unit16_t in
memory, and mask out the various bits. When serializing, we write these 16
bits in network byte order, but store them in host by order.​

---

From: Dmitri Tikhonov <[email-masked]>
Date: Thu, 31 Aug 2017 17:34:36 -0400

On Thu, Aug 31, 2017 at 02:07:54PM -0700, Martin Duke wrote:
> Is the 16 bit mantissa thing used in the ACK frame in network order.

Judging by Q040, which implements IETF-like STREAM, RST_STREAM, and
ACK frames, yes.

  - Dmitri.

> That

---

From: Patrick McManus <[email-masked]>
Date: Thu, 31 Aug 2017 17:39:47 -0400

> me too

---

From: Christian Huitema <[email-masked]>
Date: Thu, 31 Aug 2017 20:17:37 -0700

On 8/31/2017 2:39 PM, Patrick McManus wrote:
>
>
>     ​That's exactly what we did. We treat the "16-bit unsigned
>     float with 11 explicit bits of mantissa and 5 bits of explicit
>     exponent" as a unit16_t in memory, and mask out the various bits.
>     When serializing, we write these 16 bits in network byte order,
>     but store them in host by order.​
>
> me too
>
Same here. Maybe worth saying so in the spec.

-- 
Christian Huitema

---

From: Martin Thomson <[email-masked]>
Date: Fri, 1 Sep 2017 14:00:19 +1000

On Fri, Sep 1, 2017 at 1:17 PM, Christian Huitema <[email-masked]> wrote:
>> That's exactly what we did. We treat the "16-bit unsigned float with 11
>> bits in network byte order, but store them in host by order.
>>
> me too
>

We already agreed to.  #109 is agreed and assigned, awaiting a PR.

---

From: Jana Iyengar <[email-masked]>
Date: Thu, 31 Aug 2017 21:26:04 -0700

Yes, it's worth saying in the spec, and I'll spin up a PR for this shortly.