-
Notifications
You must be signed in to change notification settings - Fork 87
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
Fix bug in RequestStream #271
base: master
Are you sure you want to change the base?
Conversation
Connection Errors in RequestStream now also close the connection. And the tests are fixed. |
…d replacing it with Atomics or OnceLock structures for each different thing
…started but no headers sent. This is the fist step to fix this with a test. But the test is not perfect yet
@seanmonstar i noticed another Problem. The h3/h3/src/server/connection.rs Lines 110 to 143 in dbf2523
This line waits for a bidirectional stream and also drives the connection forward by listening to the control-stream and with the changes from this PR also gets notified over mpsc when a connection-error in a different request-stream occurs. h3/h3/src/server/connection.rs Line 115 in dbf2523
This lines from the h3/h3/src/server/connection.rs Lines 136 to 137 in dbf2523
When a client starts a bidirectional stream but sends no headers, the This also introduces some kind of head of line blocking, because the server cannot process any other request if the first one is slower. I see two possible solutions:
I would prefer the second option, because this is a low level crate and with this the user has more control. Also the number of maximal concurrent steams is managed by the quic layer. So no need to hold this information in h3. https://www.rfc-editor.org/rfc/rfc9114#name-streams
What do you think? |
I think it'd probably be best to tackle that in a follow-up PR. Good work! |
I can do it in a "follow-up" PR. But i probably will do the "follow-up" first because this PR will get easier with that problem fixed. |
I noticed, that I need to address this here, because I need changes already made in this PR. And to continue this PR I need this fixed. |
No problem, let me know when you think it's ready and I'll give it a review! |
See #270