<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in async_poll_stackless.rs</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>6ca03af1 - make async tests using `ready` interface more robust (#12360)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/test-programs/src/bin/async_poll_stackless.rs#6ca03af1</link>
        <description>make async tests using `ready` interface more robust (#12360)This changes the `ready` interface used by `component-async-tests` from:```interface ready {  // Set the `ready` state  set-ready: func(ready: bool);  // Block until `ready` is `true`  when-ready: async func();}```to:```interface ready {  resource thing {    constructor();    set-ready: func(ready: bool);    when-ready: async func();  }}```The problem with the original version was that it required global state and thuscaused cross-talk across concurrent tasks.  Due to implementation details insideWasmtime, the tests worked anyway, buthttps://github.com/bytecodealliance/wasmtime/pull/12357 perturbed that andrevealed how fragile tests based on that interface were.The new version puts the state inside a resource type, allowing each task createits own instance of that resource type and thereby avoid crosstalk.

            List of files:
            /wasmtime-44.0.1/crates/test-programs/src/bin/async_poll_stackless.rs</description>
        <pubDate>Thu, 15 Jan 2026 22:26:23 +0000</pubDate>
        <dc:creator>Joel Dice &lt;joel.dice@fermyon.com&gt;</dc:creator>
    </item>
<item>
        <title>34ba273b - remove `callback_code::POLL` and make `waitable-set.poll` not yield (#12182)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/test-programs/src/bin/async_poll_stackless.rs#34ba273b</link>
        <description>remove `callback_code::POLL` and make `waitable-set.poll` not yield (#12182)As of https://github.com/WebAssembly/component-model/pull/578, there is no more`POLL` callback code, and `waitable-set.poll` should not yield.  Guesttoolchains can emulate the old code with a combination of `YIELD` and`waitable-set.poll`.Note that I&apos;ve removed the now-redundant copy of `trap-if-block-and-sync.wast`in favor of the upstream version.

            List of files:
            /wasmtime-44.0.1/crates/test-programs/src/bin/async_poll_stackless.rs</description>
        <pubDate>Tue, 23 Dec 2025 20:48:56 +0000</pubDate>
        <dc:creator>Joel Dice &lt;joel.dice@fermyon.com&gt;</dc:creator>
    </item>
<item>
        <title>020727d0 - Update wasm-tools dependencies  (#12031)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/test-programs/src/bin/async_poll_stackless.rs#020727d0</link>
        <description>Update wasm-tools dependencies  (#12031)* Change separator style* Update wasm-tools dependencies* Also update wit-bindgen* Drop `[async]` name prefixes* Plumb `async` as part of a function typeRuntime handling of async functions and new traps are to be implementedin subsequent commits. This is just getting everything running again.* Run clang-format, also add test* Fix some more wast tests---------Co-authored-by: Sy Brand &lt;sy.brand@fastly.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/test-programs/src/bin/async_poll_stackless.rs</description>
        <pubDate>Fri, 14 Nov 2025 21:34:45 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>5764da5f - Revamp component model stream/future host API (again) (#11515)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/test-programs/src/bin/async_poll_stackless.rs#5764da5f</link>
        <description>Revamp component model stream/future host API (again) (#11515)* Revamp component model stream/future host API (again)This changes the host APIs for dealing with futures and streams from a&quot;rendezvous&quot;-style API to a callback-oriented one.Previously you would create e.g. a `StreamReader`/`StreamWriter` pair and calltheir `read` and `write` methods, respectively, and those methods would return`Future`s that resolved when the operation was matched with a corresponding`write` or `read` operation on the other end.With the new API, you instead provide a `StreamProducer` trait implementationwhe creating the stream, whose `produce` method will be called as soon as a readhappens, giving the implementation a chance to respond immediately withoutmaking the reader wait for a rendezvous.  Likewise, you can match the read endof a stream to a `StreamConsumer` to respond immediately to writes.  This modelshould reduce scheduling overhead and make it easier to e.g. pipe items to/from`AsyncWrite`/`AsyncRead` or `Sink`/`Stream` implementations without needing toexplicitly spawn background tasks.  In addition, the new API provides directaccess to guest read and write buffers for `stream&lt;u8&gt;` operations, enablingzero-copy operations.Other changes:- I&apos;ve removed the `HostTaskOutput`; we were using it to run extra code with  access to the store after a host task completes, but we can do that more  elegantly inside the future using `tls::get`.  This also allowed me to  simplify `Instance::poll_until` a bit.- I&apos;ve removed the `watch_{reader,writer}` functionality; it&apos;s not needed now  given that the runtime will automatically dispose of the producer or consumer  when the other end of the stream or future is closed -- no need for embedder  code to manage that.- In order to make `UntypedWriteBuffer` `Send`, I had to wrap its raw pointer  `buf` field in a `SendSyncPtr`.- I&apos;ve removed `{Future,Stream}Writer` entirely and moved  `Instance::{future,stream}` to `{Future,Stream}Reader::new`, respectively.- I&apos;ve added a bounds check to the beginnings of `Instance::guest_read` and  `Instance::guest_write` so that we need not do it later in  `Guest{Source,Destination}::remaining`, meaning those functions can be  infallible.Note that I haven&apos;t updated `wasmtime-wasi` yet to match; that will happen inone or more follow-up commits.Signed-off-by: Joel Dice &lt;joel.dice@fermyon.com&gt;* Add `Accessor::getter`, rename `with_data` to `with_getter`* fixup bindgen invocationSigned-off-by: Roman Volosatovs &lt;rvolosatovs@riseup.net&gt;* add support for zero-length writes/reads to/from hostI&apos;ve added a test to cover this; it also tests direct buffer access for`stream&lt;u8&gt;`, which I realized I forgot to cover earlier.  And of course therewas a bug :facepalm:.Signed-off-by: Joel Dice &lt;joel.dice@fermyon.com&gt;* add `{Destination,Source}::remaining` methodsThis can help `Stream{Producer,Consumer}` implementations determine how manyitems to write or read, respectively.Signed-off-by: Joel Dice &lt;joel.dice@fermyon.com&gt;* wasi: migrate sockets to new APISigned-off-by: Roman Volosatovs &lt;rvolosatovs@riseup.net&gt;* tests: read the socket stream until EOFSigned-off-by: Roman Volosatovs &lt;rvolosatovs@riseup.net&gt;* p3-sockets: account for cancellationSigned-off-by: Roman Volosatovs &lt;rvolosatovs@riseup.net&gt;* p3-sockets: mostly ensure byte buffer cancellation-safetySigned-off-by: Roman Volosatovs &lt;rvolosatovs@riseup.net&gt;* p3-filesystem: switch to new APISigned-off-by: Roman Volosatovs &lt;rvolosatovs@riseup.net&gt;* fixup! p3-sockets: mostly ensure byte buffer cancellation-safety* p3-cli: switch to new APISigned-off-by: Roman Volosatovs &lt;rvolosatovs@riseup.net&gt;* p3: limit maximum buffer sizeSigned-off-by: Roman Volosatovs &lt;rvolosatovs@riseup.net&gt;* p3-sockets: remove reuseaddr test loop workaroundSigned-off-by: Roman Volosatovs &lt;rvolosatovs@riseup.net&gt;* p3: drive I/O in `when_ready`Signed-off-by: Roman Volosatovs &lt;rvolosatovs@riseup.net&gt;* fixup! p3: drive I/O in `when_ready`* Refine `Stream{Producer,Consumer}` APIsPer conversations last week with Roman, Alex, and Lann, I&apos;ve updated thesetraits to present a lower-level API based on `poll_{consume,produce}` functionsand have documented the implementation requirements for various scenarios whichhave come up in `wasmtime-wasi`, particularly around graceful cancellation.  Seethe doc comments for those functions for details.Signed-off-by: Joel Dice &lt;joel.dice@fermyon.com&gt;* being integration of new APISigned-off-by: Roman Volosatovs &lt;rvolosatovs@riseup.net&gt;* update wasi/src/p3/filesystem to use new stream APIThis is totally untested so far; I&apos;ll run the tests once we have everything elsecompiling.Signed-off-by: Joel Dice &lt;joel.dice@fermyon.com&gt;* update wasi/src/p3/cli to use new stream APIThis is totally untested and doesn&apos;t even compile yet due to a lifetime issue Idon&apos;t have time to address yet.  I&apos;ll follow up later with a fix.Signed-off-by: Joel Dice &lt;joel.dice@fermyon.com&gt;* fix: remove `&apos;a` bound on `&amp;self`Signed-off-by: Roman Volosatovs &lt;rvolosatovs@riseup.net&gt;* finish `wasi:sockets` adaptationSigned-off-by: Roman Volosatovs &lt;rvolosatovs@riseup.net&gt;* finish `wasi:cli` adaptationNote, that this removes the read optimization - let&apos;s get theimplementation complete first and optimize laterSigned-off-by: Roman Volosatovs &lt;rvolosatovs@riseup.net&gt;* remove redundant loop in socketsSigned-off-by: Roman Volosatovs &lt;rvolosatovs@riseup.net&gt;* wasi: buffer on 0-length readsSigned-off-by: Roman Volosatovs &lt;rvolosatovs@riseup.net&gt;* finish `wasi:filesystem` adaptationSigned-off-by: Roman Volosatovs &lt;rvolosatovs@riseup.net&gt;* remove `MAX_BUFFER_CAPACITY`Signed-off-by: Roman Volosatovs &lt;rvolosatovs@riseup.net&gt;* refactor `Cursor` usageSigned-off-by: Roman Volosatovs &lt;rvolosatovs@riseup.net&gt;* impl Default for VecBufferSigned-off-by: Roman Volosatovs &lt;rvolosatovs@riseup.net&gt;* refactor: use consistent import stylingSigned-off-by: Roman Volosatovs &lt;rvolosatovs@riseup.net&gt;* feature-gate fs Arc accessorsSigned-off-by: Roman Volosatovs &lt;rvolosatovs@riseup.net&gt;* Update test expectations---------Signed-off-by: Joel Dice &lt;joel.dice@fermyon.com&gt;Signed-off-by: Roman Volosatovs &lt;rvolosatovs@riseup.net&gt;Co-authored-by: Alex Crichton &lt;alex@alexcrichton.com&gt;Co-authored-by: Roman Volosatovs &lt;rvolosatovs@riseup.net&gt;

            List of files:
            /wasmtime-44.0.1/crates/test-programs/src/bin/async_poll_stackless.rs</description>
        <pubDate>Thu, 04 Sep 2025 21:12:18 +0000</pubDate>
        <dc:creator>Joel Dice &lt;joel.dice@fermyon.com&gt;</dc:creator>
    </item>
<item>
        <title>804060c8 - add Component Model async ABI tests (#11136)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/test-programs/src/bin/async_poll_stackless.rs#804060c8</link>
        <description>add Component Model async ABI tests (#11136)* add Component Model async ABI testsThis pulls in the tests from the `wasip3-prototyping` repo, minus the onesrequiring WASIp3 support in `wasmtime-wasi[-http]`, which will be PR&apos;dseparately.* add audits and exemptions for new `component-async-tests` depsIn order to convince `cargo vet` that we only needed these deps to be`safe-to-run` (not necessarily `safe-to-deploy`, since it&apos;s test code), I&apos;vemoved the `wasm-compose` dep to the `dev-dependencies` section of the`Cargo.toml` file, which required rearranging some code.I&apos;ve exempted `wasm-compose` since it&apos;s a BA project, and also exempted all butone of the remaining new deps since they each get well over 10,000 downloads perday from crates.io.  I&apos;ve audited and certified the remaining dep, `im-rc`,which came in a bit shy of the 10,000-per-day mark.Signed-off-by: Joel Dice &lt;joel.dice@fermyon.com&gt;* simplify `component_async_tests::util::sleep`Signed-off-by: Joel Dice &lt;joel.dice@fermyon.com&gt;---------Signed-off-by: Joel Dice &lt;joel.dice@fermyon.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/test-programs/src/bin/async_poll_stackless.rs</description>
        <pubDate>Fri, 11 Jul 2025 23:32:19 +0000</pubDate>
        <dc:creator>Joel Dice &lt;joel.dice@fermyon.com&gt;</dc:creator>
    </item>
</channel>
</rss>
