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

rename to CLOSE_STREAM, make error code optional #11

Merged
merged 2 commits into from Jun 13, 2023

Conversation

marten-seemann
Copy link
Collaborator

First stab at renaming to CLOSE_STREAM. I'm pretty sure this requires more cleanup.
Introducing a variant without an error code creates a lot of complication, since this is now an alternative to a STREAM frame with a FIN bit.

Copy link
Member

@kazuho kazuho left a comment

Choose a reason for hiding this comment

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

@marten-seemann Thank you for your efforts. Looks good modulo the points below.

draft-ietf-quic-reliable-stream-reset.md Outdated Show resolved Hide resolved
draft-ietf-quic-reliable-stream-reset.md Outdated Show resolved Hide resolved
Co-authored-by: Kazuho Oku <kazuhooku@gmail.com>
@marten-seemann
Copy link
Collaborator Author

Thank you @kazuho!

@marten-seemann marten-seemann merged commit ee27bf7 into master Jun 13, 2023
3 checks passed
@marten-seemann marten-seemann mentioned this pull request Jun 21, 2023
Copy link
Member

@martinthomson martinthomson left a comment

Choose a reason for hiding this comment

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

I don't think I'm convinced that this is a good direction just yet.

Stream ID (i),
Application Protocol Error Code (i),
[Application Protocol Error Code (i)],
Copy link
Member

Choose a reason for hiding this comment

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

I would prefer if this were unconditional. A value of 0 (or whatever application error equates to no error) is fine.

I see why you made this choice, but if the goal is to send STREAM+FIN, then STREAM+FIN exists. This frame only makes sense if reliable size < final size.

# Resetting Streams
## Without an Error

When closing a stream with an error, the node has the choise between a STREAM
Copy link
Member

Choose a reason for hiding this comment

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

choice

The CLOSE_STREAM frame can be used to reduce the reliable offset after a
STREAM frame with a FIN bit has been sent. If STREAM frames containing data
up to that byte offset are lost, the initiator MUST retransmit this data, as
described in (Section 13.3 of {{!RFC9000}}). Data sent beyond that byte offset
Copy link
Member

Choose a reason for hiding this comment

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

{{Section 13.3 of !RFC9000}}

frame and a RELIABLE_RESET_STREAM frame. When using a RESET_STREAM frame, the
behavior is unchanged from the behavior described in ({{!RFC9000}}).
frame and a CLOSE_STREAM frame of type 0x21. When using a RESET_STREAM frame,
the behavior is unchanged from the behavior described in ({{!RFC9000}}).
Copy link
Member

Choose a reason for hiding this comment

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

Lose the parentheses.

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.

None yet

3 participants