Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change adds a Node.js wrapper for controlling an
xsnap
subprocess. The package’s postinstall hook builds the debug and release binaries and is platform-agnostic (that is, it might even work on Windows), rather than locating a system level dependency.For purposes of demonstrating the controller, there is an example REPL called
src/xsrepl.js
that is capable of taking and resuming from snapshots.Prompted by @warner to do better than having an in-XS
onMessage
hook, I made the API for sending and receiving syscalls symmetric. The XS code may callsysCall
or be called withanswerSysCall
. The Node.js side may have ananswerSysCall
implementation and dispatches to XS with an asyncsysCall
method. Both accept binary data and may return binary data.