{"action":"created","issue":{"url":"https://api.github.com/repos/nodejs/node/issues/3461","labels_url":"https://api.github.com/repos/nodejs/node/issues/3461/labels{/name}","comments_url":"https://api.github.com/repos/nodejs/node/issues/3461/comments","events_url":"https://api.github.com/repos/nodejs/node/issues/3461/events","html_url":"https://github.com/nodejs/node/pull/3461","id":112477894,"number":3461,"title":"AsyncWrap external API improvements","user":{"login":"trevnorris","id":289174,"avatar_url":"https://avatars.githubusercontent.com/u/289174?v=3","gravatar_id":"","url":"https://api.github.com/users/trevnorris","html_url":"https://github.com/trevnorris","followers_url":"https://api.github.com/users/trevnorris/followers","following_url":"https://api.github.com/users/trevnorris/following{/other_user}","gists_url":"https://api.github.com/users/trevnorris/gists{/gist_id}","starred_url":"https://api.github.com/users/trevnorris/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trevnorris/subscriptions","organizations_url":"https://api.github.com/users/trevnorris/orgs","repos_url":"https://api.github.com/users/trevnorris/repos","events_url":"https://api.github.com/users/trevnorris/events{/privacy}","received_events_url":"https://api.github.com/users/trevnorris/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/nodejs/node/labels/c++","name":"c++","color":"e11d21"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2015-10-20T23:05:18Z","updated_at":"2015-10-26T16:48:39Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/nodejs/node/pulls/3461","html_url":"https://github.com/nodejs/node/pull/3461","diff_url":"https://github.com/nodejs/node/pull/3461.diff","patch_url":"https://github.com/nodejs/node/pull/3461.patch"},"body":"Few improvements to make the `AsyncWrap` external API more usable. These include:\r\n\r\n1) Hooks are optional (except the init hook).\r\n2) All `AsyncWrap` instances receive a unique id.\r\n3) Call callback from the `AsyncWrap` destructor.\r\n\r\nR=@bnoordhuis \r\n\r\nCI: https://ci.nodejs.org/job/node-test-pull-request/548/"},"comment":{"url":"https://api.github.com/repos/nodejs/node/issues/comments/151205895","html_url":"https://github.com/nodejs/node/pull/3461#issuecomment-151205895","issue_url":"https://api.github.com/repos/nodejs/node/issues/3461","id":151205895,"user":{"login":"trevnorris","id":289174,"avatar_url":"https://avatars.githubusercontent.com/u/289174?v=3","gravatar_id":"","url":"https://api.github.com/users/trevnorris","html_url":"https://github.com/trevnorris","followers_url":"https://api.github.com/users/trevnorris/followers","following_url":"https://api.github.com/users/trevnorris/following{/other_user}","gists_url":"https://api.github.com/users/trevnorris/gists{/gist_id}","starred_url":"https://api.github.com/users/trevnorris/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trevnorris/subscriptions","organizations_url":"https://api.github.com/users/trevnorris/orgs","repos_url":"https://api.github.com/users/trevnorris/repos","events_url":"https://api.github.com/users/trevnorris/events{/privacy}","received_events_url":"https://api.github.com/users/trevnorris/received_events","type":"User","site_admin":false},"created_at":"2015-10-26T16:48:39Z","updated_at":"2015-10-26T16:48:39Z","body":"> how does this fit into the tick/turn logic, does it follow immediately after the `post` hook in the `oncomplete` cases?\r\n\r\nDoesn't have a specific timing. Sometimes the handle is cleaned up on a `close()` call, and other times it's cleaned up whenever GC gets around to it. It fires whenever the class instance is being destructed, and that can be done manually or be handled automatically."}}