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

WASIX Support #1495

Closed
moloch-- opened this issue May 30, 2023 · 6 comments
Closed

WASIX Support #1495

moloch-- opened this issue May 30, 2023 · 6 comments
Labels
enhancement New feature or request

Comments

@moloch--
Copy link

This is a longer term feature request, but would be great to have WASIX support in Wazero;

@moloch-- moloch-- added the enhancement New feature or request label May 30, 2023
@ncruces
Copy link
Collaborator

ncruces commented May 30, 2023

The important bit to track is:
https://wasix.org/docs/api-reference#wasix-functions

The thread related stuff seems to depend on the phase 3 threads proposal (which we deferred in #1487).

@codefromthecrypt
Copy link
Contributor

@moloch-- so we currently have a table of supported functions in wasi_snapshot_preview1, so I imagine this would require a table for the extensions like clock_time_set.

I only just saw the docs today.. do you know what module name the extensions go into? Also, when we implemented WASI in the first place, we did things priority order instead of big bang. Can you mention which specific functions you need implemented and how you are using them (rust or c)?

@codefromthecrypt
Copy link
Contributor

Also, there's recently a project that is more experimentation friendly https://github.com/stealthrocket/wasi-go One way to proceed is to develop the features there (as there's no back compat or windows requirements), then once stable we can add them here.

@ncruces
Copy link
Collaborator

ncruces commented May 31, 2023

do you know what module name the extensions go into?

It's wasix_32v1, apparently.

@moloch--
Copy link
Author

Can you mention which specific functions you need implemented and how you are using them (rust or c)?

Our primary use case is sockets/networking, at least for how we use Wazero the rest are "nice to haves." Currently mostly using Rust, but also some wasi-python (but that's still experimental on the Python side so probably not worth worrying about).

@codefromthecrypt
Copy link
Contributor

@moloch-- by the way, as wasix is a superset of wasip1, I expect its socket support to be "mix and match" capable. watch releases as I am writing notes about v1.2.0 which adds experimental support for the socket functions defined in wasip1. There are glitches around non-blocking I/O, still, so if interested you can follow this. It would be good to know which functions python uses, as I'm not currently sure if it uses the existing wasip1 ones or not..

@mathetake mathetake closed this as not planned Won't fix, can't repro, duplicate, stale Apr 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants