{"action":"created","issue":{"url":"https://api.github.com/repos/nodejs/node/issues/24330","repository_url":"https://api.github.com/repos/nodejs/node","labels_url":"https://api.github.com/repos/nodejs/node/issues/24330/labels{/name}","comments_url":"https://api.github.com/repos/nodejs/node/issues/24330/comments","events_url":"https://api.github.com/repos/nodejs/node/issues/24330/events","html_url":"https://github.com/nodejs/node/pull/24330","id":380034943,"node_id":"MDExOlB1bGxSZXF1ZXN0MjMwMzMxMDIw","number":24330,"title":"WIP http_parser: don't reuse HTTPParser","user":{"login":"mmarchini","id":4048656,"node_id":"MDQ6VXNlcjQwNDg2NTY=","avatar_url":"https://avatars1.githubusercontent.com/u/4048656?v=4","gravatar_id":"","url":"https://api.github.com/users/mmarchini","html_url":"https://github.com/mmarchini","followers_url":"https://api.github.com/users/mmarchini/followers","following_url":"https://api.github.com/users/mmarchini/following{/other_user}","gists_url":"https://api.github.com/users/mmarchini/gists{/gist_id}","starred_url":"https://api.github.com/users/mmarchini/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mmarchini/subscriptions","organizations_url":"https://api.github.com/users/mmarchini/orgs","repos_url":"https://api.github.com/users/mmarchini/repos","events_url":"https://api.github.com/users/mmarchini/events{/privacy}","received_events_url":"https://api.github.com/users/mmarchini/received_events","type":"User","site_admin":false},"labels":[{"id":155267502,"node_id":"MDU6TGFiZWwxNTUyNjc1MDI=","url":"https://api.github.com/repos/nodejs/node/labels/C++","name":"C++","color":"e11d21","default":false},{"id":281232761,"node_id":"MDU6TGFiZWwyODEyMzI3NjE=","url":"https://api.github.com/repos/nodejs/node/labels/lib%20/%20src","name":"lib / src","color":"fad8c7","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":12,"created_at":"2018-11-13T02:49:01Z","updated_at":"2018-11-20T02:05:34Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/nodejs/node/pulls/24330","html_url":"https://github.com/nodejs/node/pull/24330","diff_url":"https://github.com/nodejs/node/pull/24330.diff","patch_url":"https://github.com/nodejs/node/pull/24330.patch"},"body":"As discussed in https://github.com/nodejs/diagnostics/issues/248 and\r\nhttps://github.com/nodejs/node/pull/21313, reusing HTTPParser resource\r\nis a blocker for landing\r\n`require('async_hooks').currentAsyncResource()`, since reusing an async\r\nresource interanlly would make it infeasible to use them reliably in\r\nWeakMaps. Two suggestions came up: have a wrapper around the HTTPParser\r\nwhich we would use as the async resource, or stop reusing HTTPParser in\r\nour HTTP server/client code.\r\n\r\nThis commit implements the latter, since we have a better GC now and\r\nreusing HTTPParser might make sense anymore. This also will avoid one\r\nextra JS->C++ call in some cases, which should improve performance for\r\nthese cases.\r\n\r\n<!--\r\nThank you for your pull request. Please provide a description above and review\r\nthe requirements below.\r\n\r\nBug fixes and new features should include tests and possibly benchmarks.\r\n\r\nContributors guide: https://github.com/nodejs/node/blob/master/CONTRIBUTING.md\r\n-->\r\n\r\n##### Checklist\r\n<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->\r\n\r\n- [x] `make -j4 test` (UNIX), or `vcbuild test` (Windows) passes\r\n- [x] tests and/or benchmarks are included\r\n- [x] commit message follows [commit guidelines](https://github.com/nodejs/node/blob/master/doc/guides/contributing/pull-requests.md#commit-message-guidelines)\r\n"},"comment":{"url":"https://api.github.com/repos/nodejs/node/issues/comments/440110074","html_url":"https://github.com/nodejs/node/pull/24330#issuecomment-440110074","issue_url":"https://api.github.com/repos/nodejs/node/issues/24330","id":440110074,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0MDExMDA3NA==","user":{"login":"mmarchini","id":4048656,"node_id":"MDQ6VXNlcjQwNDg2NTY=","avatar_url":"https://avatars1.githubusercontent.com/u/4048656?v=4","gravatar_id":"","url":"https://api.github.com/users/mmarchini","html_url":"https://github.com/mmarchini","followers_url":"https://api.github.com/users/mmarchini/followers","following_url":"https://api.github.com/users/mmarchini/following{/other_user}","gists_url":"https://api.github.com/users/mmarchini/gists{/gist_id}","starred_url":"https://api.github.com/users/mmarchini/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mmarchini/subscriptions","organizations_url":"https://api.github.com/users/mmarchini/orgs","repos_url":"https://api.github.com/users/mmarchini/repos","events_url":"https://api.github.com/users/mmarchini/events{/privacy}","received_events_url":"https://api.github.com/users/mmarchini/received_events","type":"User","site_admin":false},"created_at":"2018-11-20T02:05:34Z","updated_at":"2018-11-20T02:05:34Z","author_association":"MEMBER","body":"IncomingMessage works for `HTTPParser.REQUEST` :D\r\n\r\nShould we use ClientRequest for `HTTPParser.RESPONSE`? (ref: https://github.com/nodejs/node/blob/master/lib/_http_client.js#L631-L635) "}}
{"actor":{"display_login":"mmarchini"}}