Skip to content

Incoporate ideas from WebAssembly/WASI#240 #3

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

Closed
sunfishcode opened this issue Mar 9, 2021 · 1 comment
Closed

Incoporate ideas from WebAssembly/WASI#240 #3

sunfishcode opened this issue Mar 9, 2021 · 1 comment
Assignees

Comments

@sunfishcode
Copy link
Member

WebAssembly/WASI#240 proposed several ideas for unifying read/write with read/recv and making the interface more general that would be good to pull in here.

@sunfishcode sunfishcode self-assigned this Mar 9, 2021
@sunfishcode
Copy link
Member Author

Here's a list of ideas from WebAssembly/WASI#240 and their status in #4:

  • End-of-stream is indicated explicitly, though it is now indicated with a bool return value on success, rather than $success_eos errno value, which is cleaner now that we're using witx's expected types.
  • There is no fdstat. I/O types fully abstracts away the underlying device.
  • There is no need for waitall, as WASI I/O functions may not be interrupted.
  • Reading from files and sockets is fully unified.
  • WASI I/O excludes the terminal support bits. Terminal support will be a separate feature on top.
  • Datagram sockets and out-of-band messages are not currently supported, but may be in scope when we can have streams of arbitrary types.
  • Connectionless sockets are not supported. These will likely require different I/O Types.
  • Streams vs. arrays: this distinction is now being realized; I/O arrays will be updated soon!
  • Peeking is not yet supported. I've opened Peek? #6 to track this.

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

1 participant