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

describe state transition when sending multiple RESET_STREAM_AT frames #35

Closed
wants to merge 1 commit into from

Conversation

marten-seemann
Copy link
Collaborator

@marten-seemann marten-seemann commented Oct 18, 2023

Fixes #23.

After sending multiple frames for the same stream, the state transition to the
"Reset Recvd" state only occurs when receiving the acknowledgement for the frame
with the frame carrying the lowest Reliable Size. Acknowledgements for
RESET_STREAM_AT frames with higher offsets don't cause a state transition.
Copy link
Member

@kazuho kazuho Oct 18, 2023

Choose a reason for hiding this comment

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

I'd be wary of calling out the terminal state here. The problem is that we will be waiting for all the acks for STREAM frames up to Reliable Size, that leads us to "Data Recvd" not "Reset Recvd."

If we want to talk about the terminal state using names, I think we'd need to describe the entire state transition, because I can see people getting confused with a RESET_STREAM_AT frame leading to "Data Recvd" on the sender side, "Data Read" on the client side.

For the purpose of this pull request, I think it might be a good idea to lightly state that the sender MUST ensure delivery of an RESET_STREAM_AT frame carrying the smallest Reliable Size, possibly in the first paragraph of this subsection. That is where we talk about the sender reducing Reliable Size of the RESET_STREAM_AT frame.

@marten-seemann
Copy link
Collaborator Author

Replaced by #36.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add additional details in Spec for state tracking behavior
2 participants