-
-
Notifications
You must be signed in to change notification settings - Fork 35.4k
discuss: object serializer/deserializer + transferables #6300
Copy link
Copy link
Closed
Labels
c++Issues and PRs that require attention from people who are familiar with C++.Issues and PRs that require attention from people who are familiar with C++.discussIssues opened for discussions and feedbacks.Issues opened for discussions and feedbacks.feature requestIssues that request new features to be added to Node.js.Issues that request new features to be added to Node.js.v8 engineIssues and PRs related to the V8 dependency.Issues and PRs related to the V8 dependency.
Metadata
Metadata
Assignees
Labels
c++Issues and PRs that require attention from people who are familiar with C++.Issues and PRs that require attention from people who are familiar with C++.discussIssues opened for discussions and feedbacks.Issues opened for discussions and feedbacks.feature requestIssues that request new features to be added to Node.js.Issues that request new features to be added to Node.js.v8 engineIssues and PRs related to the V8 dependency.Issues and PRs related to the V8 dependency.
I wanted to propose this issue as a top-level home for discussions from multiple issues, amongst #2133, #3145.
Both issues are too big to have immediate action (judging from what I have read), but they have a serializer/deserializer feature in common,
node,c++andv8are not providing out of the box. @bnoordhuis mentioned that it seems to be unrealistic to drag inBlinkcode because of the many dependencies within that repo. I had a look also into theirWebWorkerimplementation, which is fairly huge.Reading up on this from various c++ resources this is of course a non-trivial task. Whereas I also don't believe there will ever be a single method for arbitrary object serialization (please prove me wrong), due to the way v8 works. We would need to judge this before hand because that means a lot of serialization strategies would be insufficient for us.
As a quick guess, that would probably lead us to implement
::serialize()methods per Class, no matter if binary or text, which would ensure serilization happens correctly at dev / build time.