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

to-do list #1

Open
4 of 5 tasks
nitely opened this issue Mar 26, 2024 · 1 comment
Open
4 of 5 tasks

to-do list #1

nitely opened this issue Mar 26, 2024 · 1 comment

Comments

@nitely
Copy link
Owner

nitely commented Mar 26, 2024

  • FLOW CONTROL https://httpwg.org/specs/rfc9113.html#n-the-flow-control-window
  • A server that is attempting to gracefully shut down a connection SHOULD send an initial GOAWAY frame with the last stream identifier set to 231-1 and a NO_ERROR code. This signals to the client that a shutdown is imminent and that initiating further requests is prohibited. After allowing time for any in-flight stream creation (at least one round-trip time), the server MAY send another GOAWAY frame with an updated last stream identifier. This ensures that a connection can be cleanly shut down without losing requests. https://httpwg.org/specs/rfc9113.html#GOAWAY
  • a server MAY request that the client abort transmission of a request without error by sending a RST_STREAM with an error code of NO_ERROR after sending a complete response (i.e., a frame with the END_STREAM flag set).
  • A server SHOULD treat a request as malformed if it contains a Host header field that identifies an entity that differs from the entity in the ":authority" pseudo-header field. The values of fields need to be normalized to compare them (see Section 6.2 of [RFC3986]). An origin server can apply any normalization method, whereas other servers MUST perform scheme-based normalization (see Section 6.2.3 of [RFC3986]) of the two fields.
  • A server MUST NOT indicate that a stream has not been processed unless it can guarantee that fact. If frames that are on a stream are passed to the application layer for any stream, then REFUSED_STREAM MUST NOT be used for that stream, and a GOAWAY frame MUST include a stream identifier that is greater than or equal to the given stream identifier.
Repository owner locked and limited conversation to collaborators Mar 26, 2024
@nitely
Copy link
Owner Author

nitely commented Jun 15, 2024

Remove dispatcher-stream queue

It leads to code like this. It's limited to 1 single element anyway. Increasing the limit has never show any improvement.

It should be replaced by something like ValueAsync (but using just 2 future vars). But the value needs to be consumed before resuming. So if closed, the dispatcher can deal with the close error while waiting for the value to be consumed.

Done

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

No branches or pull requests

1 participant