Subject: [quicwg/base-drafts] ACKs for receiver-only (#1232)

From: ekr <[email-masked]>
Date: Sun, 18 Mar 2018 21:55:22 +0000 (UTC)

"A receiver that is only sending ACK frames will not receive acknowledgments for
its packets.  Sending an occasional MAX_DATA or MAX_STREAM_DATA frame as data is
received will ensure that acknowledgements are generated by a peer.  Otherwise,
an endpoint MAY send a PING frame once per RTT to solicit an acknowledgment."

But this isn't true if the counterparty piggybacks ACKs in its packets that contain STREAM data (which is at least what I do!), and why I filed #1231. Is this really the behavior we want?

-- 
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/1232

---

From: Nick Banks <[email-masked]>
Date: Sun, 18 Mar 2018 23:00:09 +0000 (UTC)

@ekr, I don't understand why you say this isn't true. The issue here is that if an endpoint sends nothing but ACKs, there is no guarantee its peer will acknowledge those packets. The peer may have other data to send back, and may choose to include ACK frames in those packets, if there is room, but if the peer has enough constant stream data to send back and (for some reason) prioritizes the STREAM frames higher than ACK frames, it might not end up acknowledging the endpoint's ACK frames in a timely manner.

All that being said, personally I think ACK frames should have the highest priority when framing a packet to send out. So if you ever have something to send out (other than the ACKs) then the ACKs should end up getting sent too. But all this seems like an implementation issue to me.

-- 
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/1232#issuecomment-374062655

---

From: ekr <[email-masked]>
Date: Mon, 19 Mar 2018 08:05:10 +0000 (UTC)

Sorry, what's not true is the claim that you "will not". I agree you "may not". The distinction here is only relevant because of PR#1231, in which case you really would not.

-- 
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/1232#issuecomment-374129704

---

From: Martin Thomson <[email-masked]>
Date: Mon, 19 Mar 2018 02:09:57 -0700

So the more that I think about the problem here, the more I think that it was intended to address a non-problem.

The problem it was written to address was an asymmetric sending arrangement, but realistically, the endpoint generating data in that scenario will likely generate ACK frames as it goes.

Encouraging the sending of PING frames here is more likely to cause problems than solve them.

Maybe the right answer here is to remove this paragraph entirely.

-- 
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/1232#issuecomment-374144948

---

From: ekr <[email-masked]>
Date: Mon, 19 Mar 2018 09:43:59 +0000 (UTC)

I updated #1231 to rewrite this graph in a less normative sense.

-- 
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/1232#issuecomment-374154152