Subject: [quicwg/base-drafts] Does a timestamp for a packet implicity ACK it (#698)

From: Subodh Iyengar <[email-masked]>
Date: Wed, 26 Jul 2017 19:30:42 -0700

In the ACK blocks we have a ACK block section and a Timestamp section. However there is not requirement that the TS be consistent with the ACK blocks. Should we consider the encoding of a packet (with its distance from largest acked), an implict ack for it. The nice thing about it is that the timestamp block is a much more efficient representation of single packets which are at a large gap away from other packets.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/698

---

From: ianswett <[email-masked]>
Date: Thu, 27 Jul 2017 10:00:13 +0000 (UTC)

I believe only the ack blocks ack packets.  Otherwise we'll need special case behavior.

And I think the timestamp block is actually much less efficient, even for single packets, since it's a minimum of 3 bytes vs the smallest ack block size of 2 bytes.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/698#issuecomment-318317373

---

From: Subodh Iyengar <[email-masked]>
Date: Thu, 27 Jul 2017 11:15:01 +0000 (UTC)

It's more efficient if you have a packet with a very large gap which you would need multiple ack blocks to represent

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/698#issuecomment-318333175

---

From: ianswett <[email-masked]>
Date: Thu, 27 Jul 2017 04:38:45 -0700

Timestamps have to be within 255 packets of the largest acked, because there's only a byte to specify the delta from largest acked, so ack blocks can be used to represent much larger gaps than timestamps.

To come back to the first question, I don't think timestamps should be used to ack packets and I'd like to say that one MUST not specify timestamps that don't have corresponding ack blocks in the same ack frame.  I'm not sure how many people would enforce that, but it is enforceable.  

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/698#issuecomment-318337667

---

From: MikkelFJ <[email-masked]>
Date: Thu, 27 Jul 2017 05:19:21 -0700

> to say that one MUST not specify timestamps that don't have corresponding ack blocks
This one is new to me - I was wondering and didn't find anything in spec a while back.
You might offload new timestamps in ack frame when running multiple ack frames because a single frame is insufficient.

Not arguing either.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/698#issuecomment-318345696

---

From: ianswett <[email-masked]>
Date: Thu, 27 Jul 2017 13:23:56 +0000 (UTC)

Agreed, I think multiple ack frames should be acceptable and potentially could be critical for cases like connection migration.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/698#issuecomment-318360582