Skip to content

Commit be294c8

Browse files
authored
Post the minutes for the 10-15 in-person meeting. (WebAssembly#121)
1 parent 5801834 commit be294c8

File tree

2 files changed

+89
-1
lines changed

2 files changed

+89
-1
lines changed

meetings/2019/WASI-10-15.md

Lines changed: 89 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,92 @@ HTTP (servers and clients).
2525

2626
## Meeting Notes
2727

28-
Posted after meeting.
28+
Attendees:
29+
30+
Dan Gohman
31+
Syrus Akbary
32+
John Plevyak
33+
Pitor Sikora
34+
Alon Zakai
35+
Mark Nottingham
36+
Leif Hedstrom
37+
Jorge Lopez Silva
38+
Pat Hickey
39+
Johnnie Birch
40+
Roberto Peon
41+
42+
Meeting Notes:
43+
44+
Presentation: [Proxy-WASM: a “standard” WebAssembly interface for the data plane, Piotr Sikora, John Plevyak](https://docs.google.com/presentation/d/1QMGEuVD9p5iNbzxzgT4p2PXpxg1MjfSbpbJdw6g6Q_Y/edit?usp=sharing)
45+
Resources:
46+
[WebAssembly in Envoy](https://docs.google.com/document/d/1HLV35OZP0A_a8dVjDo4kwTsovDkaycS83ZLKFpG9W8Q/edit)
47+
48+
<Presentation>Described the envoy use case and then reviewed an API (logs, network, http, etc)
49+
50+
Dan: Is there a main function?
51+
Piotr: No, there is no main. The module functions are the entry points
52+
53+
Dan: How is `__post_instantiate` used?
54+
Piotr: It’s an initialization function which is called at Vm startup, which may live across multiple requests.
55+
56+
Dan: Does `proxy_set_effective_context` imply persistent state?
57+
Piotr: That’s an ABI design question, it could work that way or by passing in the context to each call.
58+
59+
Roberto: Is there an api for caching
60+
Piotr: Not at the moment. Not supported by envoy.
61+
Roberto: What about streaming? What if the data you’re receiving is not in order?
62+
Pat: We have a different proposal that addresses this.
63+
Piotr: We don’t have an answer for this yet.
64+
65+
Syrus: Have you thought about using this proxy api on the client-side (browser, [via extensions](https://developer.chrome.com/extensions/webRequest)) as well?
66+
Piotr: Our use case is not focused on that
67+
68+
Roberto: Are you thinking about having a Session abstraction in addition to Connection?
69+
John: We don’t have it yet, but we may add it in the future
70+
71+
Jorge: Version management?
72+
<discussion> limitations of current toolchains mean that the abi version is encoded as numbers in a function symbol name. But this can change as tools and standardization progress.
73+
Pat: optional imports may alleviate some of the versioning problems too
74+
75+
76+
Presentation: [“What HTTP Needs from WebAssembly”](https://github.com/WebAssembly/WASI/blob/master/meetings/2019/What%20HTTP%20Needs%20from%20WebAssembly.pdf), Mark Nottingham
77+
78+
Roberto: What about multiple headers with one name?
79+
Mark: [paraphrase] we probably need to talk about that
80+
81+
Dan: Does this include DNS?
82+
Mark: Yes, the API accepts names, and they are translated implicitly
83+
84+
Discussion of optional imports, which will be important as different use cases will need different parts of these APIs.
85+
Spec: https://github.com/WebAssembly/WASI/blob/master/design/optional-imports.md
86+
87+
(general presentation of the people in the meeting)
88+
89+
Dan: Could you use this for general-purpose HTTP programming?
90+
Mark: Yes, there are some features which are proxy-specific, but this could be used for clients and servers
91+
92+
93+
Presentation: [WASI HTTP proposal](https://github.com/pchickey/wasi_http_strawman), Pat Hickey
94+
95+
John: This concept of futures doesn’t allow you to chain futures, right?
96+
Pat: Yes, this is a difference from JS futures
97+
98+
Pat: This is a low-level API; most customers would be using higher-level libraries on top of this
99+
100+
John: This API allows you to decide what you want to poll for
101+
102+
Pat: The `future_close` function allows you to release resources
103+
104+
Roberto: How much would this API change if you had threads?
105+
Pat: Our goal is mostly to have threads in the background, so that users don’t need to worry about them. But some users may want more threads in the future. We don’t have all the answers here yet.
106+
107+
Alon: The `request_new` function takes a string url; how does this relate to `path_open` which doesn’t support absolute paths?
108+
Dan: That’s a good point; one possibility is to change this API to make URL access more capability-oriented
109+
John: That enables nested sandboxing
110+
Alon: This model entails some overhead. If every WASI API uses OCAP, it could add up
111+
112+
Action items:
113+
Dan to post a skeleton Reactor design document
114+
Dan to finish WASI modularization API
115+
Pat to make a Futures proposal
116+
John, Piotr, Mark. Pat to flesh out their API proposals offline and figure out next steps
Binary file not shown.

0 commit comments

Comments
 (0)