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

Node.js uvwasi team Meeting 2023-06-21 #211

Closed
mhdawson opened this issue Jun 19, 2023 · 7 comments
Closed

Node.js uvwasi team Meeting 2023-06-21 #211

mhdawson opened this issue Jun 19, 2023 · 7 comments
Assignees

Comments

@mhdawson
Copy link
Member

Time

UTC Wed 21-Jun-2023 18:00 (06:00 PM):

Timezone Date/Time
US / Pacific Wed 21-Jun-2023 11:00 (11:00 AM)
US / Mountain Wed 21-Jun-2023 12:00 (12:00 PM)
US / Central Wed 21-Jun-2023 13:00 (01:00 PM)
US / Eastern Wed 21-Jun-2023 14:00 (02:00 PM)
EU / Western Wed 21-Jun-2023 19:00 (07:00 PM)
EU / Central Wed 21-Jun-2023 20:00 (08:00 PM)
EU / Eastern Wed 21-Jun-2023 21:00 (09:00 PM)
Moscow Wed 21-Jun-2023 21:00 (09:00 PM)
Chennai Wed 21-Jun-2023 23:30 (11:30 PM)
Hangzhou Thu 22-Jun-2023 02:00 (02:00 AM)
Tokyo Thu 22-Jun-2023 03:00 (03:00 AM)
Sydney Thu 22-Jun-2023 04:00 (04:00 AM)

Or in your local time:

Links

Agenda

Extracted from uvwasi-agenda labelled issues and pull requests from the nodejs org prior to the meeting.

nodejs/node

  • WASI preview 1: fd_readdir ignores cookie argument #47193

nodejs/uvwasi

  • feat!: Allow project to be installable #210
  • What's new with uvwasi in 2023 #201
  • Implement 4 stubbed out socket methods #200
  • Changes to WASI spec in snapshot_preview2 #59

Invited

  • uvwasi team: @nodejs/wasi

Observers/Guests

Notes

The agenda comes from issues labelled with uvwasi-agenda across all of the repositories in the nodejs org. Please label any additional issues that should be on the agenda before the meeting starts.

Joining the meeting

@mhdawson mhdawson self-assigned this Jun 19, 2023
@mhdawson
Copy link
Member Author

mhdawson commented Jun 21, 2023

Minutes from the meeting today:

Node.js uvwasi team Meeting 2023-06-21

Links

Present

Agenda

Announcements

*Extracted from uvwasi-agenda labelled issues and pull requests from the nodejs org prior to the meeting.

  • No news this week.

nodejs/node

  • WASI preview 1: fd_readdir ignores cookie argument #47193
    • No updates

nodejs/uvwasi

  • feat!: Allow project to be installable #210
  • What's new with uvwasi in 2023 #201
    • No news this week
  • Implement 4 stubbed out socket methods #200
    • Oscar and Michael met to discuss some issues
    • Tricky issue is related to streams is that it really wants you to run a callback, but challenge in uvwasi.
    • To start will not worry about support non socket methods in v1, will add that in a follow on
    • Michael plans to start looking at adding some tests to the PR
  • Changes to WASI spec in snapshot_preview2 #59

Q&A, Other

Upcoming Meetings

Click +GoogleCalendar at the bottom right to add to your own Google calendar.

@cjihrig
Copy link
Collaborator

cjihrig commented Jun 21, 2023

Tricky issue is related to streams is that it really wants you to run a callback, but challenge in uvwasi.

Is the problem that the WASI APIs are blocking? Just off the top of my head, you may be able to create a uv_loop_t only for WASI to use. Then, you could call uv_run() to spin that event loop until the operation completes. You would still need to use callbacks, but from the caller's perspective things would seem to be blocking.

Of course, another option is to use native sockets directly. That would be a bigger pain up front, but probably lower overhead once all the wrinkles were ironed out.

@cjihrig
Copy link
Collaborator

cjihrig commented Jun 27, 2023

cc: @mhdawson in case ^ is relevant to #214

@mhdawson
Copy link
Member Author

mhdawson commented Jun 27, 2023

@cjihrig thanks for the ping, once the listen takes place, is ok to defer a uv_run() until sock_accept is called? If so then following your suggestion the sock_accept implementation might be able to simply call uv_run with the option to just run once followed by calling uv_accept and do this in a loop until uv_accept indicates that a connection has come in.

@mhdawson
Copy link
Member Author

@ospencer ^ so you are aware of this discussion.

@cjihrig
Copy link
Collaborator

cjihrig commented Jun 30, 2023

@mhdawson sorry for the delay - I was traveling. To answer your question, I'm not 100% sure, but I think so. What you're describing is how I envisioned things working.

@mhdawson
Copy link
Member Author

mhdawson commented Jun 30, 2023

@cjihrig seems to be working so far see - #214. So far just the uvwasi_sock_accept is being run so not 100% sure getting a socket we can use but looking good so far.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants