-
Notifications
You must be signed in to change notification settings - Fork 7
Remaining steps to open nodejs/node PR #21
Comments
Very glad to this move forward, great job Colin!
uvwasi is using uv_fs_ calls to write to fds, right? That is not going to fly. I think we need to wrap |
Amazing work, seems like a great roadmap going forward! Would the plan then be to continue to work on the next steps within this repo too? I don't see any issue withing releasing experimental without all the sys calls too. |
the socket specific wasi methods should be removed too, they were copied from cloudabi and aren't going to exist moving forward. |
@saghul I will look into that more once @guybedford After something lands in nodejs/node, we could certainly use this repo to collaborate on new features - especially large ones. I have a feeling that after the first big PR, subsequent changes would fit into the "normal PR" category though. @devsnek you mean |
from my experience everyone is just pretending they don't exist. |
We just launched the https://github.com/wasmerio/wasmer-js Here's the announcement: https://medium.com/wasmer/wasmer-js-9a53e837b80 I'd love to get your thoughts! 🤗 Also, super interested in the sockets (recv and send) side of the equation... how is this implementation handling it? |
Pretty much #21 (comment). The functions are wired up, but uvwasi is returning |
Looks like wasmer doesn't implement them either... https://github.com/wasmerio/wasmer/blob/38048b6acf91be3582a712f661996d134a0740ab/lib/wasi/src/syscalls/mod.rs#L2426 but wasmtime does: https://github.com/CraneStation/wasmtime/blob/0653ae2c9c37353cb2bae2511a63f04e06c30b98/wasmtime-wasi/src/syscalls.rs#L911 |
I'd be happy to take a PR for any or all of the missing socket calls. Until the end of October I'm going to be more strapped for time, and there are other WASI related things to work on that are less nebulous. My concern is spending time implementing them if they are going to be ultimately removed from WASI. |
Gotcha, makes sense! AFAICT, the only use for them (ATM) would be if you use systemd's socket activation capability, so your WASI app gets executed with an already open fd, passed by cli arguments or env variable... |
wasmtime is using I followed up with the discussion in the WASI group and I'm waiting for some feedback: WebAssembly/WASI#4 |
I think this is getting close to MVP status, and something that can be PR'ed to the main repo. I'd like to create a checklist here of work that needs to be completed before opening a PR. Please keep in mind that this will be listed as experimental, and WASI itself is still fairly experimental. These are the items that I think are essential, and must be implemented before opening a PR to the main repo:
These are the items that I think should be non-blockers to opening a PR to the main repo. They are items that are necessary before it could move out of experimental status:
I haven't tested this on Windows at all yet, but I expect it to fail. Windows help would be greatly appreciated 😄EDIT: Turns out that Windows works significantly better than I thought it would. There are still some Windows bugs, but not as many as I thought there would be.UVWASI_ENOTSUP
. I don't think this is necessarily a blocker. Here is a summary of the missing calls:poll_oneoff()
- This one looks to be the biggest pain to implement and will require some special treatment on Windows according to Remaining steps to open nodejs/node PR #21 (comment).sock_recv()
,sock_send()
, andsock_shutdown()
- These are likely to be removed from WASI, and can be ignored for now.cc: @nodejs/tsc @guybedford @devsnek @nodejs/libuv
The text was updated successfully, but these errors were encountered: