generated from WebAssembly/wasi-proposal-template
-
Notifications
You must be signed in to change notification settings - Fork 24
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #99 from WebAssembly/pch/preview2
Release Preview 2: set package version to 0.2.0
- Loading branch information
Showing
13 changed files
with
72 additions
and
52 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,21 +2,21 @@ | |
<ul> | ||
<li>Imports: | ||
<ul> | ||
<li>interface <a href="#wasi:sockets_network_0.2.0_rc_2024_01_16"><code>wasi:sockets/[email protected]-rc-2024-01-16</code></a></li> | ||
<li>interface <a href="#wasi:sockets_instance_network_0.2.0_rc_2024_01_16"><code>wasi:sockets/[email protected]-rc-2024-01-16</code></a></li> | ||
<li>interface <a href="#wasi:io_poll_0.2.0_rc_2023_11_10"><code>wasi:io/[email protected]-rc-2023-11-10</code></a></li> | ||
<li>interface <a href="#wasi:sockets_udp_0.2.0_rc_2024_01_16"><code>wasi:sockets/[email protected]-rc-2024-01-16</code></a></li> | ||
<li>interface <a href="#wasi:sockets_udp_create_socket_0.2.0_rc_2024_01_16"><code>wasi:sockets/[email protected]-rc-2024-01-16</code></a></li> | ||
<li>interface <a href="#wasi:io_error_0.2.0_rc_2023_11_10"><code>wasi:io/[email protected]-rc-2023-11-10</code></a></li> | ||
<li>interface <a href="#wasi:io_streams_0.2.0_rc_2023_11_10"><code>wasi:io/[email protected]-rc-2023-11-10</code></a></li> | ||
<li>interface <a href="#wasi:clocks_monotonic_clock_0.2.0_rc_2023_11_10"><code>wasi:clocks/[email protected]-rc-2023-11-10</code></a></li> | ||
<li>interface <a href="#wasi:sockets_tcp_0.2.0_rc_2024_01_16"><code>wasi:sockets/[email protected]-rc-2024-01-16</code></a></li> | ||
<li>interface <a href="#wasi:sockets_tcp_create_socket_0.2.0_rc_2024_01_16"><code>wasi:sockets/[email protected]-rc-2024-01-16</code></a></li> | ||
<li>interface <a href="#wasi:sockets_ip_name_lookup_0.2.0_rc_2024_01_16"><code>wasi:sockets/[email protected]-rc-2024-01-16</code></a></li> | ||
<li>interface <a href="#wasi:sockets_network_0.2.0"><code>wasi:sockets/[email protected]</code></a></li> | ||
<li>interface <a href="#wasi:sockets_instance_network_0.2.0"><code>wasi:sockets/[email protected]</code></a></li> | ||
<li>interface <a href="#wasi:io_poll_0.2.0"><code>wasi:io/[email protected]</code></a></li> | ||
<li>interface <a href="#wasi:sockets_udp_0.2.0"><code>wasi:sockets/[email protected]</code></a></li> | ||
<li>interface <a href="#wasi:sockets_udp_create_socket_0.2.0"><code>wasi:sockets/[email protected]</code></a></li> | ||
<li>interface <a href="#wasi:io_error_0.2.0"><code>wasi:io/[email protected]</code></a></li> | ||
<li>interface <a href="#wasi:io_streams_0.2.0"><code>wasi:io/[email protected]</code></a></li> | ||
<li>interface <a href="#wasi:clocks_monotonic_clock_0.2.0"><code>wasi:clocks/[email protected]</code></a></li> | ||
<li>interface <a href="#wasi:sockets_tcp_0.2.0"><code>wasi:sockets/[email protected]</code></a></li> | ||
<li>interface <a href="#wasi:sockets_tcp_create_socket_0.2.0"><code>wasi:sockets/[email protected]</code></a></li> | ||
<li>interface <a href="#wasi:sockets_ip_name_lookup_0.2.0"><code>wasi:sockets/[email protected]</code></a></li> | ||
</ul> | ||
</li> | ||
</ul> | ||
<h2><a name="wasi:sockets_network_0.2.0_rc_2024_01_16">Import interface wasi:sockets/[email protected]-rc-2024-01-16</a></h2> | ||
<h2><a name="wasi:sockets_network_0.2.0">Import interface wasi:sockets/[email protected]</a></h2> | ||
<hr /> | ||
<h3>Types</h3> | ||
<h4><a name="network"><code>resource network</code></a></h4> | ||
|
@@ -209,7 +209,7 @@ supported size. | |
<li><a name="ip_socket_address.ipv4"><code>ipv4</code></a>: <a href="#ipv4_socket_address"><a href="#ipv4_socket_address"><code>ipv4-socket-address</code></a></a></li> | ||
<li><a name="ip_socket_address.ipv6"><code>ipv6</code></a>: <a href="#ipv6_socket_address"><a href="#ipv6_socket_address"><code>ipv6-socket-address</code></a></a></li> | ||
</ul> | ||
<h2><a name="wasi:sockets_instance_network_0.2.0_rc_2024_01_16">Import interface wasi:sockets/[email protected]-rc-2024-01-16</a></h2> | ||
<h2><a name="wasi:sockets_instance_network_0.2.0">Import interface wasi:sockets/[email protected]</a></h2> | ||
<p>This interface provides a value-export of the default network handle..</p> | ||
<hr /> | ||
<h3>Types</h3> | ||
|
@@ -224,13 +224,13 @@ supported size. | |
<ul> | ||
<li><a name="instance_network.0"></a> own<<a href="#network"><a href="#network"><code>network</code></a></a>></li> | ||
</ul> | ||
<h2><a name="wasi:io_poll_0.2.0_rc_2023_11_10">Import interface wasi:io/[email protected]-rc-2023-11-10</a></h2> | ||
<h2><a name="wasi:io_poll_0.2.0">Import interface wasi:io/[email protected]</a></h2> | ||
<p>A poll API intended to let users wait for I/O events on multiple handles | ||
at once.</p> | ||
<hr /> | ||
<h3>Types</h3> | ||
<h4><a name="pollable"><code>resource pollable</code></a></h4> | ||
<h2><a href="#pollable"><code>pollable</code></a> epresents a single I/O event which may be ready, or not.</h2> | ||
<h2><a href="#pollable"><code>pollable</code></a> represents a single I/O event which may be ready, or not.</h2> | ||
<h3>Functions</h3> | ||
<h4><a name="method_pollable.ready"><code>[method]pollable.ready: func</code></a></h4> | ||
<p>Return the readiness of a pollable. This function never blocks.</p> | ||
|
@@ -274,7 +274,7 @@ being reaedy for I/O.</p> | |
<ul> | ||
<li><a name="poll.0"></a> list<<code>u32</code>></li> | ||
</ul> | ||
<h2><a name="wasi:sockets_udp_0.2.0_rc_2024_01_16">Import interface wasi:sockets/[email protected]-rc-2024-01-16</a></h2> | ||
<h2><a name="wasi:sockets_udp_0.2.0">Import interface wasi:sockets/[email protected]</a></h2> | ||
<hr /> | ||
<h3>Types</h3> | ||
<h4><a name="pollable"><code>type pollable</code></a></h4> | ||
|
@@ -688,7 +688,7 @@ It's planned to be removed when <code>future</code> is natively supported in Pre | |
<ul> | ||
<li><a name="method_outgoing_datagram_stream.subscribe.0"></a> own<<a href="#pollable"><a href="#pollable"><code>pollable</code></a></a>></li> | ||
</ul> | ||
<h2><a name="wasi:sockets_udp_create_socket_0.2.0_rc_2024_01_16">Import interface wasi:sockets/[email protected]-rc-2024-01-16</a></h2> | ||
<h2><a name="wasi:sockets_udp_create_socket_0.2.0">Import interface wasi:sockets/[email protected]</a></h2> | ||
<hr /> | ||
<h3>Types</h3> | ||
<h4><a name="network"><code>type network</code></a></h4> | ||
|
@@ -733,7 +733,7 @@ the socket is effectively an in-memory configuration object, unable to communica | |
<ul> | ||
<li><a name="create_udp_socket.0"></a> result<own<<a href="#udp_socket"><a href="#udp_socket"><code>udp-socket</code></a></a>>, <a href="#error_code"><a href="#error_code"><code>error-code</code></a></a>></li> | ||
</ul> | ||
<h2><a name="wasi:io_error_0.2.0_rc_2023_11_10">Import interface wasi:io/[email protected]-rc-2023-11-10</a></h2> | ||
<h2><a name="wasi:io_error_0.2.0">Import interface wasi:io/[email protected]</a></h2> | ||
<hr /> | ||
<h3>Types</h3> | ||
<h4><a name="error"><code>resource error</code></a></h4> | ||
|
@@ -768,7 +768,7 @@ hazard.</p> | |
<ul> | ||
<li><a name="method_error.to_debug_string.0"></a> <code>string</code></li> | ||
</ul> | ||
<h2><a name="wasi:io_streams_0.2.0_rc_2023_11_10">Import interface wasi:io/[email protected]-rc-2023-11-10</a></h2> | ||
<h2><a name="wasi:io_streams_0.2.0">Import interface wasi:io/[email protected]</a></h2> | ||
<p>WASI I/O is an I/O abstraction API which is currently focused on providing | ||
stream types.</p> | ||
<p>In the future, the component model is expected to add built-in stream types; | ||
|
@@ -816,6 +816,10 @@ polled for using <code>wasi:io/poll</code>.</h2> | |
<h3>Functions</h3> | ||
<h4><a name="method_input_stream.read"><code>[method]input-stream.read: func</code></a></h4> | ||
<p>Perform a non-blocking read from the stream.</p> | ||
<p>When the source of a <code>read</code> is binary data, the bytes from the source | ||
are returned verbatim. When the source of a <code>read</code> is known to the | ||
implementation to be text, bytes containing the UTF-8 encoding of the | ||
text are returned.</p> | ||
<p>This function returns a list of bytes containing the read data, | ||
when successful. The returned list will contain up to <code>len</code> bytes; | ||
it may return fewer than requested, but not more. The list is | ||
|
@@ -911,6 +915,11 @@ error.</p> | |
</ul> | ||
<h4><a name="method_output_stream.write"><code>[method]output-stream.write: func</code></a></h4> | ||
<p>Perform a write. This function never blocks.</p> | ||
<p>When the destination of a <code>write</code> is binary data, the bytes from | ||
<code>contents</code> are written verbatim. When the destination of a <code>write</code> is | ||
known to the implementation to be text, the bytes of <code>contents</code> are | ||
transcoded from UTF-8 into the encoding of the destination and then | ||
written.</p> | ||
<p>Precondition: check-write gave permit of Ok(n) and contents has a | ||
length of less than or equal to n. Otherwise, this function will trap.</p> | ||
<p>returns Err(closed) without writing if the stream has closed since | ||
|
@@ -933,7 +942,7 @@ following pseudo-code:</p> | |
<pre><code class="language-text">let pollable = this.subscribe(); | ||
while !contents.is_empty() { | ||
// Wait for the stream to become writable | ||
poll-one(pollable); | ||
pollable.block(); | ||
let Ok(n) = this.check-write(); // eliding error handling | ||
let len = min(n, contents.len()); | ||
let (chunk, rest) = contents.split_at(len); | ||
|
@@ -942,7 +951,7 @@ while !contents.is_empty() { | |
} | ||
this.flush(); | ||
// Wait for completion of `flush` | ||
poll-one(pollable); | ||
pollable.block(); | ||
// Check for any errors that arose during `flush` | ||
let _ = this.check-write(); // eliding error handling | ||
</code></pre> | ||
|
@@ -1002,7 +1011,7 @@ all derived <a href="#pollable"><code>pollable</code></a>s created with this fun | |
</ul> | ||
<h4><a name="method_output_stream.write_zeroes"><code>[method]output-stream.write-zeroes: func</code></a></h4> | ||
<p>Write zeroes to a stream.</p> | ||
<p>this should be used precisely like <code>write</code> with the exact same | ||
<p>This should be used precisely like <code>write</code> with the exact same | ||
preconditions (must use check-write first), but instead of | ||
passing a list of bytes, you simply pass the number of zero-bytes | ||
that should be written.</p> | ||
|
@@ -1025,15 +1034,15 @@ the following pseudo-code:</p> | |
<pre><code class="language-text">let pollable = this.subscribe(); | ||
while num_zeroes != 0 { | ||
// Wait for the stream to become writable | ||
poll-one(pollable); | ||
pollable.block(); | ||
let Ok(n) = this.check-write(); // eliding error handling | ||
let len = min(n, num_zeroes); | ||
this.write-zeroes(len); // eliding error handling | ||
num_zeroes -= len; | ||
} | ||
this.flush(); | ||
// Wait for completion of `flush` | ||
poll-one(pollable); | ||
pollable.block(); | ||
// Check for any errors that arose during `flush` | ||
let _ = this.check-write(); // eliding error handling | ||
</code></pre> | ||
|
@@ -1084,7 +1093,7 @@ is ready for reading, before performing the <code>splice</code>.</p> | |
<ul> | ||
<li><a name="method_output_stream.blocking_splice.0"></a> result<<code>u64</code>, <a href="#stream_error"><a href="#stream_error"><code>stream-error</code></a></a>></li> | ||
</ul> | ||
<h2><a name="wasi:clocks_monotonic_clock_0.2.0_rc_2023_11_10">Import interface wasi:clocks/[email protected]-rc-2023-11-10</a></h2> | ||
<h2><a name="wasi:clocks_monotonic_clock_0.2.0">Import interface wasi:clocks/[email protected]</a></h2> | ||
<p>WASI Monotonic Clock is a clock API intended to let users measure elapsed | ||
time.</p> | ||
<p>It is intended to be portable at least between Unix-family platforms and | ||
|
@@ -1145,7 +1154,7 @@ occured.</p> | |
<ul> | ||
<li><a name="subscribe_duration.0"></a> own<<a href="#pollable"><a href="#pollable"><code>pollable</code></a></a>></li> | ||
</ul> | ||
<h2><a name="wasi:sockets_tcp_0.2.0_rc_2024_01_16">Import interface wasi:sockets/[email protected]-rc-2024-01-16</a></h2> | ||
<h2><a name="wasi:sockets_tcp_0.2.0">Import interface wasi:sockets/[email protected]</a></h2> | ||
<hr /> | ||
<h3>Types</h3> | ||
<h4><a name="input_stream"><code>type input-stream</code></a></h4> | ||
|
@@ -1736,7 +1745,7 @@ has no effect and returns <code>ok</code>.</p> | |
<ul> | ||
<li><a name="method_tcp_socket.shutdown.0"></a> result<_, <a href="#error_code"><a href="#error_code"><code>error-code</code></a></a>></li> | ||
</ul> | ||
<h2><a name="wasi:sockets_tcp_create_socket_0.2.0_rc_2024_01_16">Import interface wasi:sockets/[email protected]-rc-2024-01-16</a></h2> | ||
<h2><a name="wasi:sockets_tcp_create_socket_0.2.0">Import interface wasi:sockets/[email protected]</a></h2> | ||
<hr /> | ||
<h3>Types</h3> | ||
<h4><a name="network"><code>type network</code></a></h4> | ||
|
@@ -1781,7 +1790,7 @@ is called, the socket is effectively an in-memory configuration object, unable t | |
<ul> | ||
<li><a name="create_tcp_socket.0"></a> result<own<<a href="#tcp_socket"><a href="#tcp_socket"><code>tcp-socket</code></a></a>>, <a href="#error_code"><a href="#error_code"><code>error-code</code></a></a>></li> | ||
</ul> | ||
<h2><a name="wasi:sockets_ip_name_lookup_0.2.0_rc_2024_01_16">Import interface wasi:sockets/[email protected]-rc-2024-01-16</a></h2> | ||
<h2><a name="wasi:sockets_ip_name_lookup_0.2.0">Import interface wasi:sockets/[email protected]</a></h2> | ||
<hr /> | ||
<h3>Types</h3> | ||
<h4><a name="pollable"><code>type pollable</code></a></h4> | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,9 @@ | ||
[clocks] | ||
url = "https://github.com/WebAssembly/wasi-clocks/archive/main.tar.gz" | ||
sha256 = "89da8eca4cd195516574c89c5b3c24a7b5af3ff2565c16753d20d3bdbc5fc60f" | ||
sha512 = "244079b3f592d58478a97adbd0bee8d49ae9dd1a3e435651ee40997b50da9fe62cfaba7e3ec7f7406d7d0288d278a43a3a0bc5150226ba40ce0f8ac6d33f7ddb" | ||
sha256 = "468b4d12892fe926b8eb5d398dbf579d566c93231fa44f415440572c695b7613" | ||
sha512 = "e6b53a07221f1413953c9797c68f08b815fdaebf66419bbc1ea3e8b7dece73731062693634731f311a03957b268cf9cc509c518bd15e513c318aa04a8459b93a" | ||
|
||
[io] | ||
url = "https://github.com/WebAssembly/wasi-io/archive/main.tar.gz" | ||
sha256 = "f2e6127b235c37c06be675a904d6acf08db953ea688d78c42892c6ad3bd194e4" | ||
sha512 = "32feefbc115c34bf6968cb6e9dc15e755698ee90648e5a5d84448917c36a318bd61b401195eb64330e2475e1d098bfb8dee1440d594a68e0797748762bd84ae5" | ||
sha256 = "7210e5653539a15478f894d4da24cc69d61924cbcba21d2804d69314a88e5a4c" | ||
sha512 = "49184a1b0945a889abd52d25271172ed3dc2db6968fcdddb1bab7ee0081f4a3eeee0977ad2291126a37631c0d86eeea75d822fa8af224c422134500bf9f0f2bb" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
package wasi:clocks@0.2.0-rc-2023-11-10; | ||
package wasi:clocks@0.2.0; | ||
/// WASI Monotonic Clock is a clock API intended to let users measure elapsed | ||
/// time. | ||
/// | ||
|
@@ -10,7 +10,7 @@ package wasi:[email protected]; | |
/// | ||
/// It is intended for measuring elapsed time. | ||
interface monotonic-clock { | ||
use wasi:io/poll@0.2.0-rc-2023-11-10.{pollable}; | ||
use wasi:io/poll@0.2.0.{pollable}; | ||
|
||
/// An instant in time, in nanoseconds. An instant is relative to an | ||
/// unspecified initial value, and can only be compared to instances from | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
package wasi:clocks@0.2.0-rc-2023-11-10; | ||
package wasi:clocks@0.2.0; | ||
|
||
world imports { | ||
import monotonic-clock; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
package wasi:io@0.2.0-rc-2023-11-10; | ||
package wasi:io@0.2.0; | ||
|
||
|
||
interface error { | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
package wasi:io@0.2.0-rc-2023-11-10; | ||
package wasi:io@0.2.0; | ||
|
||
world imports { | ||
import streams; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
package wasi:sockets@0.2.0-rc-2024-01-16; | ||
package wasi:sockets@0.2.0; | ||
|
||
world imports { | ||
import instance-network; | ||
|