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

Don't retransmit old MAX_STREAM_DATA and MAX_DATA #807

Merged
merged 2 commits into from Oct 10, 2017
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
6 changes: 6 additions & 0 deletions draft-ietf-quic-transport.md
Expand Up @@ -2420,6 +2420,12 @@ When a packet is detected as lost, the sender re-sends any frames as necessary:
* STOP_SENDING frames MUST be retransmitted, unless the stream has become closed
in the appropriate direction. See {{solicited-state-transitions}}.

* The most recent MAX_STREAM_DATA frame for a stream MUST be retransmitted. Any
previous unacknowledged MAX_STREAM_DATA frame for the same stream SHOULD NOT
be retransmitted since a newer MAX_STREAM_DATA frame for a stream obviates the
need for delivering older ones. Similarly, the most recent MAX_DATA frame MUST
be retransmitted; previous unacknowledged ones SHOULD NOT be retransmitted.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am starting to think it's a mistake to phrase this in terms of frames at all. It's the information you want to retransmit. It seems like there are lots of cases where you would be constantly updating your willingness to receive (if, say, you want to continue offering a given buffer size) but you only transmit occasionally. If I have to retransmit, why would I want to advertise stale data rather than the most current data.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. Anytime the words "retransmit frame" appear in the text, it's probably an error. And the phrase 'retransmit packet' should occur twice: Once to tell you not to do it and once to tell you can do it for connection close packets only.


* All other frames MUST be retransmitted.

Upon detecting losses, a sender MUST take appropriate congestion control action.
Expand Down