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.
Work-in-progress refactoring of the sockets implementation. Lots of small things, removing unnecessary steps where possible given that this is system-level code. Refactors include:
resolve
to DNSlookup
so that we are directly callinggetaddrinfo
with associated system hooks and caching, as I believe is expected. In addition fixed up the error handling and we also now return both IPv4 and IPv6 addresses and the ip name test is fully passing.family
lower case, avoiding the need for explicittoLowerCase()
elsewhere. Also moving away fromtoLocaleLowerCase()
to not invoke the engine ICU in systems code../sockets/*: null
exports mapping to ensure the private modules are private.ioCall
invocations always provide three arguments to ensure engine monomorphismPromise.resolve
wrapping.And then I removed the use of auto bind in UDP socket options application, as I don't think this is correct, the two udp options tests are now failing.
To resolve this, I plan to add the following to this PR today and tomorrow:
Once landed that will leave us with just the sample applications failing, at which point it should just be about debugging the final end-to-end implementation and less major refactoring.