-
Notifications
You must be signed in to change notification settings - Fork 29.8k
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
http2: reinject data received before http2 is attached #35678
Conversation
Reinject the data already received from the TLS socket when the HTTP2 client is attached with a delay Fixes: nodejs#35475
Review requested:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you also do this for TLS, so that #34958 is fully covered? :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Ah, right :) Cool. I’ll close my PR. :) |
That PR has one drawback: it doesn't allow for the user code to listen for |
Commit Queue failed- Loading data for nodejs/node/pull/35678 ✔ Done loading data for nodejs/node/pull/35678 ----------------------------------- PR info ------------------------------------ Title http2: reinject data received before http2 is attached (#35678) ⚠ Could not retrieve the email or name of the PR author's from user's GitHub profile! Branch mmomtchev:http2-tls-reinject -> nodejs:master Labels C++, lib / src Commits 1 - http2: reinject data received before http2 is attached Committers 1 - Momtchil Momtchev PR-URL: https://github.com/nodejs/node/pull/35678 Reviewed-By: Anna Henningsen Reviewed-By: Matteo Collina ------------------------------ Generated metadata ------------------------------ PR-URL: https://github.com/nodejs/node/pull/35678 Reviewed-By: Anna Henningsen Reviewed-By: Matteo Collina -------------------------------------------------------------------------------- ✖ Last GitHub CI failed ℹ Last Full PR CI on 2020-10-16T20:32:53Z: https://ci.nodejs.org/job/node-test-pull-request/33679/ - Querying data for job/node-test-pull-request/33679/ ✔ Build data downloaded - Querying failures of job/node-test-commit/41433/ ✔ Data downloaded ✖ 3 failure(s) on the last Jenkins CI run ℹ This PR was created on Fri, 16 Oct 2020 11:44:25 GMT ✔ Approvals: 2 ✔ - Anna Henningsen (@addaleax): https://github.com/nodejs/node/pull/35678#pullrequestreview-510395321 ✔ - Matteo Collina (@mcollina) (TSC): https://github.com/nodejs/node/pull/35678#pullrequestreview-510398648 ✖ This PR needs to wait 26 more hours to land -------------------------------------------------------------------------------- ✔ Aborted `git node land` session in /home/runner/work/node/node/.ncu Commit Queue action: https://github.com/nodejs/node/actions/runs/312171239 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the patch :)
I still think I prefer @addaleax approach (using |
We reinject when the sockets has already waiting data, remarked by @mildsunrise Co-authored-by: Alba Mendez <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm, thx
Landed in 629e1ab...1f703e1 |
Reinject the data already received from the TLS socket when the HTTP2 client is attached with a delay Fixes: #35475 PR-URL: #35678 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Alba Mendez <[email protected]> Reviewed-By: Franziska Hinkelmann <[email protected]> Reviewed-By: Ricky Zhou <[email protected]>
We reinject when the sockets has already waiting data, remarked by @mildsunrise Co-authored-by: Alba Mendez <[email protected]> PR-URL: #35678 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Alba Mendez <[email protected]> Reviewed-By: Franziska Hinkelmann <[email protected]> Reviewed-By: Ricky Zhou <[email protected]>
hmm, this landed as two separate commits instead of squashing them into one... what do we do in these cases? |
it's still (almost) at the tip of the branch, I volunteer to do a force push to undo and land properly if given permission... if it's too risky we can leave it like that |
Reply |
Reinject the data already received from the TLS socket when the HTTP2 client is attached with a delay Fixes: #35475 PR-URL: #35678 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Alba Mendez <[email protected]> Reviewed-By: Franziska Hinkelmann <[email protected]> Reviewed-By: Ricky Zhou <[email protected]>
We reinject when the sockets has already waiting data, remarked by @mildsunrise Co-authored-by: Alba Mendez <[email protected]> PR-URL: #35678 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Alba Mendez <[email protected]> Reviewed-By: Franziska Hinkelmann <[email protected]> Reviewed-By: Ricky Zhou <[email protected]>
Reinject the data already received from the TLS socket when the HTTP2 client is attached with a delay Fixes: #35475 PR-URL: #35678 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Alba Mendez <[email protected]> Reviewed-By: Franziska Hinkelmann <[email protected]> Reviewed-By: Ricky Zhou <[email protected]>
We reinject when the sockets has already waiting data, remarked by @mildsunrise Co-authored-by: Alba Mendez <[email protected]> PR-URL: #35678 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Alba Mendez <[email protected]> Reviewed-By: Franziska Hinkelmann <[email protected]> Reviewed-By: Ricky Zhou <[email protected]>
Reinject the data already received from the TLS socket when the HTTP2 client is attached with a delay Fixes: #35475 PR-URL: #35678 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Alba Mendez <[email protected]> Reviewed-By: Franziska Hinkelmann <[email protected]> Reviewed-By: Ricky Zhou <[email protected]>
We reinject when the sockets has already waiting data, remarked by @mildsunrise Co-authored-by: Alba Mendez <[email protected]> PR-URL: #35678 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Alba Mendez <[email protected]> Reviewed-By: Franziska Hinkelmann <[email protected]> Reviewed-By: Ricky Zhou <[email protected]>
Reinject the data already received from the TLS socket when the HTTP2 client is attached with a delay Fixes: #35475 PR-URL: #35678 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Alba Mendez <[email protected]> Reviewed-By: Franziska Hinkelmann <[email protected]> Reviewed-By: Ricky Zhou <[email protected]>
We reinject when the sockets has already waiting data, remarked by @mildsunrise Co-authored-by: Alba Mendez <[email protected]> PR-URL: #35678 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Alba Mendez <[email protected]> Reviewed-By: Franziska Hinkelmann <[email protected]> Reviewed-By: Ricky Zhou <[email protected]>
make -j4 test
(UNIX), orvcbuild test
(Windows) passes