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

Get rid of all uses of Handle #380

Closed
kkoopa opened this issue Jul 19, 2015 · 4 comments
Closed

Get rid of all uses of Handle #380

kkoopa opened this issue Jul 19, 2015 · 4 comments
Milestone

Comments

@kkoopa
Copy link
Collaborator

kkoopa commented Jul 19, 2015

The Handleclass is deprecated and should be removed. There are two ways of resolving this: Doing it for all Node versions or only doing it for new versions. I prefer the first option, but it might entail slightly more work, as all faulty APIs in Node and V8 need wrapping and converting. It should, however, result in cleaner code in the end.

@kkoopa kkoopa added this to the 2.0 milestone Jul 19, 2015
@rvagg
Copy link
Member

rvagg commented Jul 20, 2015

What is this going to mean for NAN users? are we going to have to provide a Nan::Local that does everything needed in all situations? And is this going to hold up v2 progress?

@kkoopa
Copy link
Collaborator Author

kkoopa commented Jul 20, 2015

Local does everything needed. Just forget Handle ever existed. It need not cause a delay if the documentation is changed and we consider documented API as the real API and not whatever might accidentally compile.

For the past two years I've kept every NAN function outputting Local but accepting Handle as input. The major concern is that this change can cause some minor inconvenience in old versions.

On July 20, 2015 4:16:43 AM EEST, Rod Vagg notifications@github.com wrote:

What is this going to mean for NAN users? are we going to have to
provide a Nan::Local that does everything needed in all situations?
And is this going to hold up v2 progress?


Reply to this email directly or view it on GitHub:
#380 (comment)

@kkoopa
Copy link
Collaborator Author

kkoopa commented Jul 20, 2015

It will still be necessary to divide into different versions due to all Node APIs using those awful Handles, like the init function of every addon. I don't know what the best solution actually is, but the change has been known and coming for almost two years.

It's actually quite good timing of V8 to start forcing it now, as we have a new major planned, but that is just luck. How come Node hasn't prepared for any of this in the past two years? It seems like there has been a general trend of postponing necessary changes until everything comes at once. I hope the new practice of next and nextnext branches will help alleviate the general issue of waiting until everything is on fire before starting to put out the flames.

nodejs/node#2202

@kkoopa
Copy link
Collaborator Author

kkoopa commented Jul 20, 2015

This ought to be (badly) handled by e6c0daf.
Haven't tested on V8 4.5.

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

No branches or pull requests

2 participants