Subject: [quicwg/base-drafts] Pseudocode for persistent congestion is too hard (#4080)

From: Martin Thomson <[email-masked]>
Date: Tue, 08 Sep 2020 15:28:41 -0700

This removes that function, relying instead on comments and the
definition in text (which people have noted is now very clear).

I have also reset a couple of extra variables in this case.  It is
important to catch all of these because if you don&#39;t you get poor
outcomes.

The only question I have is regarding bytes in flight.  I think that we
need to keep tracking those bytes, or the overall accounting gets messy.
That is what our implementation does anyway.

Closes #4010.
Closes #3972.
You can view, comment on, or merge this pull request online at:

  https://github.com/quicwg/base-drafts/pull/4080

-- Commit Summary --

  * Pseudocode for persistent congestion is too hard

-- File Changes --

    M draft-ietf-quic-recovery.md (20)

-- Patch Links --

https://github.com/quicwg/base-drafts/pull/4080.patch
https://github.com/quicwg/base-drafts/pull/4080.diff

-- 
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/pull/4080

---

From: Martin Thomson <[email-masked]>
Date: Tue, 08 Sep 2020 15:33:12 -0700

@martinthomson pushed 1 commit.

a8adc5d8d5ccab2cb05dc3a371057c71df275a76  oops

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/4080/files/fb64708249f8e089121082ba0de6e4cd0c6648c1..a8adc5d8d5ccab2cb05dc3a371057c71df275a76

---

From: ianswett <[email-masked]>
Date: Tue, 08 Sep 2020 15:33:20 -0700

@ianswett approved this pull request.

-- 
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/pull/4080#pullrequestreview-484535154

---

From: Martin Thomson <[email-masked]>
Date: Tue, 08 Sep 2020 15:38:52 -0700

779d9238f65c3373619615b3b05257196e811e8a  Filter out packets sent before an RTT sample

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/4080/files/a8adc5d8d5ccab2cb05dc3a371057c71df275a76..779d9238f65c3373619615b3b05257196e811e8a

---

From: Martin Thomson <[email-masked]>
Date: Tue, 08 Sep 2020 15:41:11 -0700

20642c995d59efe11f6c5fbb575aa130e72f73f7  Make a copy for this

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/4080/files/779d9238f65c3373619615b3b05257196e811e8a..20642c995d59efe11f6c5fbb575aa130e72f73f7

---

From: Martin Thomson <[email-masked]>
Date: Tue, 08 Sep 2020 15:48:08 -0700

c4bd59fee3d0c7b7d6508403d7b7b627b94eeb19  Copy inline

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/4080/files/71c232f81b377fad180d24e3a19efe256e595725..c4bd59fee3d0c7b7d6508403d7b7b627b94eeb19

---

From: ianswett <[email-masked]>
Date: Tue, 08 Sep 2020 15:53:03 -0700

-- 
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/pull/4080#pullrequestreview-484547391

---

From: Martin Thomson <[email-masked]>
Date: Tue, 08 Sep 2020 15:54:38 -0700

@martinthomson pushed 2 commits.

9c2d7fb58100b6519a5d3fb523541c98d939cbcf  curlies
900535aec0ef510a8cac858ef4a7a17055467656  Invert comment

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/4080/files/c4bd59fee3d0c7b7d6508403d7b7b627b94eeb19..900535aec0ef510a8cac858ef4a7a17055467656

---

From: Jana Iyengar <[email-masked]>
Date: Tue, 08 Sep 2020 15:55:19 -0700

@janaiyengar approved this pull request.

-- 
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/pull/4080#pullrequestreview-484548228

---

From: Jana Iyengar <[email-masked]>
Date: Tue, 08 Sep 2020 15:55:55 -0700

@kazu-yamamoto : Please take a look. I'll merge this, but please respond with comments if you think something here should be changed.

-- 
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/pull/4080#issuecomment-689178669

---

From: Jana Iyengar <[email-masked]>
Date: Tue, 08 Sep 2020 15:56:10 -0700

Merged #4080 into master.

-- 
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/pull/4080#event-3743117715

---

From: Kazu Yamamoto <[email-masked]>
Date: Tue, 08 Sep 2020 17:42:48 -0700

@janaiyengar This PR seems reasonable to me. I support this change.

@martinthomson Thank you for brushing up the code. Since I'm a functional programmer, I prefer to use `filter` to build `pc_lost` from `lost_packets`. But `for` is reasonable in this pseudocode.

I don't understand your concern about "bytes in flight".

-- 
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/pull/4080#issuecomment-689228546

---

From: Martin Thomson <[email-masked]>
Date: Tue, 08 Sep 2020 17:59:40 -0700

Thanks @kazu-yamamoto, I share your preference for doing something like `pc_lost = lost_packets.filter(lost => lost.sent_time > first_rtt_sample)`, but that's not the style here :(

-- 
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/pull/4080#issuecomment-689233435