22<ul >
33<li >Imports:
44<ul >
5- <li >interface <a href =" #wasi_io_error_0_2_6 " ><code >wasi:io/error@0.2.6 </code ></a ></li >
6- <li >interface <a href =" #wasi_sockets_network_0_2_6 " ><code >wasi:sockets/network@0.2.6 </code ></a ></li >
7- <li >interface <a href =" #wasi_sockets_instance_network_0_2_6 " ><code >wasi:sockets/instance-network@0.2.6 </code ></a ></li >
8- <li >interface <a href =" #wasi_io_poll_0_2_6 " ><code >wasi:io/poll@0.2.6 </code ></a ></li >
9- <li >interface <a href =" #wasi_sockets_udp_0_2_6 " ><code >wasi:sockets/udp@0.2.6 </code ></a ></li >
10- <li >interface <a href =" #wasi_sockets_udp_create_socket_0_2_6 " ><code >wasi:sockets/udp-create-socket@0.2.6 </code ></a ></li >
11- <li >interface <a href =" #wasi_io_streams_0_2_6 " ><code >wasi:io/streams@0.2.6 </code ></a ></li >
12- <li >interface <a href =" #wasi_clocks_monotonic_clock_0_2_6 " ><code >wasi:clocks/monotonic-clock@0.2.6 </code ></a ></li >
13- <li >interface <a href =" #wasi_sockets_tcp_0_2_6 " ><code >wasi:sockets/tcp@0.2.6 </code ></a ></li >
14- <li >interface <a href =" #wasi_sockets_tcp_create_socket_0_2_6 " ><code >wasi:sockets/tcp-create-socket@0.2.6 </code ></a ></li >
15- <li >interface <a href =" #wasi_sockets_ip_name_lookup_0_2_6 " ><code >wasi:sockets/ip-name-lookup@0.2.6 </code ></a ></li >
5+ <li >interface <a href =" #wasi_io_error_0_2_7 " ><code >wasi:io/error@0.2.7 </code ></a ></li >
6+ <li >interface <a href =" #wasi_sockets_network_0_2_7 " ><code >wasi:sockets/network@0.2.7 </code ></a ></li >
7+ <li >interface <a href =" #wasi_sockets_instance_network_0_2_7 " ><code >wasi:sockets/instance-network@0.2.7 </code ></a ></li >
8+ <li >interface <a href =" #wasi_io_poll_0_2_7 " ><code >wasi:io/poll@0.2.7 </code ></a ></li >
9+ <li >interface <a href =" #wasi_sockets_udp_0_2_7 " ><code >wasi:sockets/udp@0.2.7 </code ></a ></li >
10+ <li >interface <a href =" #wasi_sockets_udp_create_socket_0_2_7 " ><code >wasi:sockets/udp-create-socket@0.2.7 </code ></a ></li >
11+ <li >interface <a href =" #wasi_io_streams_0_2_7 " ><code >wasi:io/streams@0.2.7 </code ></a ></li >
12+ <li >interface <a href =" #wasi_clocks_monotonic_clock_0_2_7 " ><code >wasi:clocks/monotonic-clock@0.2.7 </code ></a ></li >
13+ <li >interface <a href =" #wasi_sockets_tcp_0_2_7 " ><code >wasi:sockets/tcp@0.2.7 </code ></a ></li >
14+ <li >interface <a href =" #wasi_sockets_tcp_create_socket_0_2_7 " ><code >wasi:sockets/tcp-create-socket@0.2.7 </code ></a ></li >
15+ <li >interface <a href =" #wasi_sockets_ip_name_lookup_0_2_7 " ><code >wasi:sockets/ip-name-lookup@0.2.7 </code ></a ></li >
1616</ul >
1717</li >
1818</ul >
19- <h2 ><a id =" wasi_io_error_0_2_6 " ></a >Import interface wasi:io/error@0.2.6 </h2 >
19+ <h2 ><a id =" wasi_io_error_0_2_7 " ></a >Import interface wasi:io/error@0.2.7 </h2 >
2020<hr />
2121<h3 >Types</h3 >
2222<h4 ><a id =" error " ></a ><code >resource error</code ></h4 >
@@ -49,7 +49,7 @@ hazard.</p>
4949<ul >
5050<li ><a id =" method_error_to_debug_string.0 " ></a > <code >string</code ></li >
5151</ul >
52- <h2 ><a id =" wasi_sockets_network_0_2_6 " ></a >Import interface wasi:sockets/network@0.2.6 </h2 >
52+ <h2 ><a id =" wasi_sockets_network_0_2_7 " ></a >Import interface wasi:sockets/network@0.2.7 </h2 >
5353<hr />
5454<h3 >Types</h3 >
5555<h4 ><a id =" error " ></a ><code >type error</code ></h4 >
@@ -264,7 +264,7 @@ errors are network-related errors.</p>
264264<ul >
265265<li ><a id =" network_error_code.0 " ></a > option< ; <a href =" #error_code " ><a href =" #error_code " ><code >error-code</code ></a ></a >> ; </li >
266266</ul >
267- <h2 ><a id =" wasi_sockets_instance_network_0_2_6 " ></a >Import interface wasi:sockets/instance-network@0.2.6 </h2 >
267+ <h2 ><a id =" wasi_sockets_instance_network_0_2_7 " ></a >Import interface wasi:sockets/instance-network@0.2.7 </h2 >
268268<p >This interface provides a value-export of the default network handle..</p >
269269<hr />
270270<h3 >Types</h3 >
@@ -279,7 +279,7 @@ errors are network-related errors.</p>
279279<ul >
280280<li ><a id =" instance_network.0 " ></a > own< ; <a href =" #network " ><a href =" #network " ><code >network</code ></a ></a >> ; </li >
281281</ul >
282- <h2 ><a id =" wasi_io_poll_0_2_6 " ></a >Import interface wasi:io/poll@0.2.6 </h2 >
282+ <h2 ><a id =" wasi_io_poll_0_2_7 " ></a >Import interface wasi:io/poll@0.2.7 </h2 >
283283<p >A poll API intended to let users wait for I/O events on multiple handles
284284at once.</p >
285285<hr />
@@ -332,7 +332,7 @@ being ready for I/O.</p>
332332<ul >
333333<li ><a id =" poll.0 " ></a > list< ; <code >u32</code >> ; </li >
334334</ul >
335- <h2 ><a id =" wasi_sockets_udp_0_2_6 " ></a >Import interface wasi:sockets/udp@0.2.6 </h2 >
335+ <h2 ><a id =" wasi_sockets_udp_0_2_7 " ></a >Import interface wasi:sockets/udp@0.2.7 </h2 >
336336<hr />
337337<h3 >Types</h3 >
338338<h4 ><a id =" pollable " ></a ><code >type pollable</code ></h4 >
@@ -746,7 +746,7 @@ It's planned to be removed when <code>future</code> is natively supported in Pre
746746<ul >
747747<li ><a id =" method_outgoing_datagram_stream_subscribe.0 " ></a > own< ; <a href =" #pollable " ><a href =" #pollable " ><code >pollable</code ></a ></a >> ; </li >
748748</ul >
749- <h2 ><a id =" wasi_sockets_udp_create_socket_0_2_6 " ></a >Import interface wasi:sockets/udp-create-socket@0.2.6 </h2 >
749+ <h2 ><a id =" wasi_sockets_udp_create_socket_0_2_7 " ></a >Import interface wasi:sockets/udp-create-socket@0.2.7 </h2 >
750750<hr />
751751<h3 >Types</h3 >
752752<h4 ><a id =" network " ></a ><code >type network</code ></h4 >
@@ -791,7 +791,7 @@ the socket is effectively an in-memory configuration object, unable to communica
791791<ul >
792792<li ><a id =" 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 >
793793</ul >
794- <h2 ><a id =" wasi_io_streams_0_2_6 " ></a >Import interface wasi:io/streams@0.2.6 </h2 >
794+ <h2 ><a id =" wasi_io_streams_0_2_7 " ></a >Import interface wasi:io/streams@0.2.7 </h2 >
795795<p >WASI I/O is an I/O abstraction API which is currently focused on providing
796796stream types.</p >
797797<p >In the future, the component model is expected to add built-in stream types;
@@ -964,25 +964,13 @@ the last call to check-write provided a permit.</p>
964964<h4 ><a id =" method_output_stream_blocking_write_and_flush " ></a ><code >[method]output-stream.blocking-write-and-flush: func</code ></h4 >
965965<p >Perform a write of up to 4096 bytes, and then flush the stream. Block
966966until all of these operations are complete, or an error occurs.</p >
967- <p >This is a convenience wrapper around the use of <code >check-write</code >,
968- <code >subscribe</code >, <code >write</code >, and <code >flush</code >, and is implemented with the
969- following pseudo-code:</p >
970- <pre ><code class =" language-text " >let pollable = this.subscribe();
971- while !contents.is_empty() {
972- // Wait for the stream to become writable
973- pollable.block();
974- let Ok(n) = this.check-write(); // eliding error handling
975- let len = min(n, contents.len());
976- let (chunk, rest) = contents.split_at(len);
977- this.write(chunk ); // eliding error handling
978- contents = rest;
979- }
980- this.flush();
981- // Wait for completion of `flush`
982- pollable.block();
983- // Check for any errors that arose during `flush`
984- let _ = this.check-write(); // eliding error handling
985- </code ></pre >
967+ <p >Returns success when all of the contents written are successfully
968+ flushed to output. If an error occurs at any point before all
969+ contents are successfully flushed, that error is returned as soon as
970+ possible. If writing and flushing the complete contents causes the
971+ stream to become closed, this call should return success, and
972+ subsequent calls to check-write or other interfaces should return
973+ stream-error::closed.</p >
986974<h5 >Params</h5 >
987975<ul >
988976<li ><a id =" method_output_stream_blocking_write_and_flush.self " ></a ><code >self</code >: borrow< ; <a href =" #output_stream " ><a href =" #output_stream " ><code >output-stream</code ></a ></a >> ; </li >
@@ -1056,24 +1044,8 @@ that should be written.</p>
10561044<p >Perform a write of up to 4096 zeroes, and then flush the stream.
10571045Block until all of these operations are complete, or an error
10581046occurs.</p >
1059- <p >This is a convenience wrapper around the use of <code >check-write</code >,
1060- <code >subscribe</code >, <code >write-zeroes</code >, and <code >flush</code >, and is implemented with
1061- the following pseudo-code:</p >
1062- <pre ><code class =" language-text " >let pollable = this.subscribe();
1063- while num_zeroes != 0 {
1064- // Wait for the stream to become writable
1065- pollable.block();
1066- let Ok(n) = this.check-write(); // eliding error handling
1067- let len = min(n, num_zeroes);
1068- this.write-zeroes(len); // eliding error handling
1069- num_zeroes -= len;
1070- }
1071- this.flush();
1072- // Wait for completion of `flush`
1073- pollable.block();
1074- // Check for any errors that arose during `flush`
1075- let _ = this.check-write(); // eliding error handling
1076- </code ></pre >
1047+ <p >Functionality is equivelant to <code >blocking-write-and-flush</code > with
1048+ contents given as a list of len containing only zeroes.</p >
10771049<h5 >Params</h5 >
10781050<ul >
10791051<li ><a id =" method_output_stream_blocking_write_zeroes_and_flush.self " ></a ><code >self</code >: borrow< ; <a href =" #output_stream " ><a href =" #output_stream " ><code >output-stream</code ></a ></a >> ; </li >
@@ -1121,7 +1093,7 @@ is ready for reading, before performing the <code>splice</code>.</p>
11211093<ul >
11221094<li ><a id =" 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 >
11231095</ul >
1124- <h2 ><a id =" wasi_clocks_monotonic_clock_0_2_6 " ></a >Import interface wasi:clocks/monotonic-clock@0.2.6 </h2 >
1096+ <h2 ><a id =" wasi_clocks_monotonic_clock_0_2_7 " ></a >Import interface wasi:clocks/monotonic-clock@0.2.7 </h2 >
11251097<p >WASI Monotonic Clock is a clock API intended to let users measure elapsed
11261098time.</p >
11271099<p >It is intended to be portable at least between Unix-family platforms and
@@ -1180,7 +1152,7 @@ elapsed from the time this function is invoked.</p>
11801152<ul >
11811153<li ><a id =" subscribe_duration.0 " ></a > own< ; <a href =" #pollable " ><a href =" #pollable " ><code >pollable</code ></a ></a >> ; </li >
11821154</ul >
1183- <h2 ><a id =" wasi_sockets_tcp_0_2_6 " ></a >Import interface wasi:sockets/tcp@0.2.6 </h2 >
1155+ <h2 ><a id =" wasi_sockets_tcp_0_2_7 " ></a >Import interface wasi:sockets/tcp@0.2.7 </h2 >
11841156<hr />
11851157<h3 >Types</h3 >
11861158<h4 ><a id =" input_stream " ></a ><code >type input-stream</code ></h4 >
@@ -1771,7 +1743,7 @@ has no effect and returns <code>ok</code>.</p>
17711743<ul >
17721744<li ><a id =" method_tcp_socket_shutdown.0 " ></a > result< ; _, <a href =" #error_code " ><a href =" #error_code " ><code >error-code</code ></a ></a >> ; </li >
17731745</ul >
1774- <h2 ><a id =" wasi_sockets_tcp_create_socket_0_2_6 " ></a >Import interface wasi:sockets/tcp-create-socket@0.2.6 </h2 >
1746+ <h2 ><a id =" wasi_sockets_tcp_create_socket_0_2_7 " ></a >Import interface wasi:sockets/tcp-create-socket@0.2.7 </h2 >
17751747<hr />
17761748<h3 >Types</h3 >
17771749<h4 ><a id =" network " ></a ><code >type network</code ></h4 >
@@ -1816,7 +1788,7 @@ is called, the socket is effectively an in-memory configuration object, unable t
18161788<ul >
18171789<li ><a id =" 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 >
18181790</ul >
1819- <h2 ><a id =" wasi_sockets_ip_name_lookup_0_2_6 " ></a >Import interface wasi:sockets/ip-name-lookup@0.2.6 </h2 >
1791+ <h2 ><a id =" wasi_sockets_ip_name_lookup_0_2_7 " ></a >Import interface wasi:sockets/ip-name-lookup@0.2.7 </h2 >
18201792<hr />
18211793<h3 >Types</h3 >
18221794<h4 ><a id =" pollable " ></a ><code >type pollable</code ></h4 >
0 commit comments