Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pseudocode for persistent congestion is too hard #4080

Merged
merged 8 commits into from
Sep 8, 2020

Conversation

martinthomson
Copy link
Member

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'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.

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'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.
@martinthomson martinthomson added editorial An issue that does not affect the design of the protocol; does not require consensus. -recovery labels Sep 8, 2020
@janaiyengar
Copy link
Contributor

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

@janaiyengar janaiyengar merged commit f57edfa into master Sep 8, 2020
@janaiyengar janaiyengar deleted the no-pc-pseudocode branch September 8, 2020 22:55
@martinthomson martinthomson linked an issue Sep 8, 2020 that may be closed by this pull request
@kazu-yamamoto
Copy link
Contributor

@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".

@martinthomson
Copy link
Member Author

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 :(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-recovery editorial An issue that does not affect the design of the protocol; does not require consensus.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Persistent congestion period: text and pseudo-code don't agree Define AreAllPacketsLost() function
4 participants