<?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 sockets.rs</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>62d9b187 - Run s390x CI on a native machine (#11711)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/test-programs/src/sockets.rs#62d9b187</link>
        <description>Run s390x CI on a native machine (#11711)The hardware for this is provided by IBM and it&apos;s definitely faster thanQEMU. We&apos;ve still got slow jobs elsewhere but removing this as a blockeris still nice for CI times!prtest:linux-s390x

            List of files:
            /wasmtime-44.0.1/crates/test-programs/src/sockets.rs</description>
        <pubDate>Tue, 23 Sep 2025 20:19:25 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>8cc276b0 - Enable clippy&apos;s `redundant_field_names` lint (#10985)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/test-programs/src/sockets.rs#8cc276b0</link>
        <description>Enable clippy&apos;s `redundant_field_names` lint (#10985)Seems like a clear enough improvement and also something useful to havea lint for as refactorings enable/disable this pattern over time, sothis should help us stay consistent.

            List of files:
            /wasmtime-44.0.1/crates/test-programs/src/sockets.rs</description>
        <pubDate>Mon, 09 Jun 2025 16:41:12 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>696d19f7 - wasi-sockets: Fix `shutdown` bugs (#9225)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/test-programs/src/sockets.rs#696d19f7</link>
        <description>wasi-sockets: Fix `shutdown` bugs (#9225)* Rename:LastWrite -&gt; WriteState,Done -&gt; Ready,Waiting -&gt; Writing* Wrap the TCP streams inside a mutex.And rename `abort_wait` to `cancel`* Move shutdown into the stream types* Fix Linux-specific peculiarity where `recv` continues to work even after `shutdown(sock, SHUT_RD)` has been called.* Refactor poll_cancel* Fix data loss issue.Calling `shutdown` _after_ data has been accepted by `write`, but _before_ it has been fully flushed, caused the in-flight data to be lost.* Simplify poll_cancel* Use tokio::sync::Mutex instead of std::sync::Mutex so I can revert to regular async code

            List of files:
            /wasmtime-44.0.1/crates/test-programs/src/sockets.rs</description>
        <pubDate>Thu, 12 Sep 2024 15:20:59 +0000</pubDate>
        <dc:creator>Dave Bakker &lt;github@davebakker.io&gt;</dc:creator>
    </item>
<item>
        <title>e6a9fa19 - wasi-sockets: Add SO_REUSEADDR back in (#7690)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/test-programs/src/sockets.rs#e6a9fa19</link>
        <description>wasi-sockets: Add SO_REUSEADDR back in (#7690)* Restore SO_REUSEADDR.This inadvertently removed in 8ca80569452908d678066fb34a11d1ceda78e0c7 when switching from `bind_existing_tcp_listener` to `rustix::net::bind`* Remove AddressInUse workarounds by generating a random port.* fmt* Ignore unused_variables warning* Prevent spurious test failures by trying again a few times on EADDRINUSE* Fix grammar in .wit documentation

            List of files:
            /wasmtime-44.0.1/crates/test-programs/src/sockets.rs</description>
        <pubDate>Sun, 17 Dec 2023 18:34:27 +0000</pubDate>
        <dc:creator>Dave Bakker &lt;github@davebakker.io&gt;</dc:creator>
    </item>
<item>
        <title>82fbd0c0 - Add a test for allow-ip-name-lookup=no (#7657)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/test-programs/src/sockets.rs#82fbd0c0</link>
        <description>Add a test for allow-ip-name-lookup=no (#7657)The test simply tries looking up example.com and ensuring it fails with`PermanentResolverFailure`. Additionally, `PermanentResolverFailure` isremoved as one of the allowed errors in the normal ip name lookup testas those allowed errors should only be transient lookup errors and`PermanentResolverFailure` is very much not a transient error.Signed-off-by: Ryan Levick &lt;ryan.levick@fermyon.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/test-programs/src/sockets.rs</description>
        <pubDate>Fri, 08 Dec 2023 17:38:48 +0000</pubDate>
        <dc:creator>Ryan Levick &lt;ryan.levick@fermyon.com&gt;</dc:creator>
    </item>
<item>
        <title>ffdac62d - wasi-sockets: integration test &amp; internal documentation updates (#7570)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/test-programs/src/sockets.rs#ffdac62d</link>
        <description>wasi-sockets: integration test &amp; internal documentation updates (#7570)* Implement timeout on all blocking utility methods.* Expand documentation of compatibility fixes

            List of files:
            /wasmtime-44.0.1/crates/test-programs/src/sockets.rs</description>
        <pubDate>Wed, 29 Nov 2023 19:17:25 +0000</pubDate>
        <dc:creator>Dave Bakker &lt;github@davebakker.io&gt;</dc:creator>
    </item>
<item>
        <title>c91566f6 - wasi-sockets: Simplify ip name lookup interface (#7483)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/test-programs/src/sockets.rs#c91566f6</link>
        <description>wasi-sockets: Simplify ip name lookup interface (#7483)* Refactor ip_name_lookup test* Update ip-name-lookup::resolve-addresses- Remove the non-essential parameters- Lift the restriction against parsing IP addresses. Implementations would still have to parse IP addresses to decide whether or not to return an error* Deduplicate to_canonical

            List of files:
            /wasmtime-44.0.1/crates/test-programs/src/sockets.rs</description>
        <pubDate>Mon, 06 Nov 2023 19:05:34 +0000</pubDate>
        <dc:creator>Dave Bakker &lt;github@davebakker.io&gt;</dc:creator>
    </item>
<item>
        <title>973a34b5 - wasi-sockets: Sync up UDP implementation &amp; tests with TCP (#7423)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/test-programs/src/sockets.rs#973a34b5</link>
        <description>wasi-sockets: Sync up UDP implementation &amp; tests with TCP (#7423)* Refactor &amp; move utilities. So that UDP can use them too.* Minor tweak in error code while connecting* Refactor: move portability workarounds out of the TCP implementation.* Sync up UDP implementation and testsbased on the existing TCP implementation &amp; tests.* Make test less flaky in CI.

            List of files:
            /wasmtime-44.0.1/crates/test-programs/src/sockets.rs</description>
        <pubDate>Sun, 05 Nov 2023 21:34:28 +0000</pubDate>
        <dc:creator>Dave Bakker &lt;github@davebakker.io&gt;</dc:creator>
    </item>
<item>
        <title>ddffc7e9 - Rename poll-list to poll, poll-one to pollable.block, and introduce pollable.ready (#7427)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/test-programs/src/sockets.rs#ddffc7e9</link>
        <description>Rename poll-list to poll, poll-one to pollable.block, and introduce pollable.ready (#7427)* update wasi:io/poll wit to https://github.com/WebAssembly/wasi-io/pull/54* put version in wit package name* implement changes to the wits* move contents of Host::poll_one to HostPollable::block* rename Host::poll_list to Host::poll,* implement HostPollable::ready, using futures::future::poll_immediate* wit: fix reference to poll-list* wasi-http wit: fix reference to poll-list* clocks implementation: ready returns immediately if deadline has pastthis is an optimization, but what it really allows us to do is assertpollable.ready() for a subscribe_duration(0) is ready immediately.* component adapter: rename poll-list to poll* test-programs: renames to poll functionstest-programs/src/bin/preview2_sleep.rs in particular now assertsready() on a subscribe_duration(0) and a subscribe_instant(now() - 1),so we have test coverage for ready as well now* code reviewCo-authored-by: Alex Crichton &lt;alex@alexcrichton.com&gt;---------Co-authored-by: Alex Crichton &lt;alex@alexcrichton.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/test-programs/src/sockets.rs</description>
        <pubDate>Tue, 31 Oct 2023 20:42:54 +0000</pubDate>
        <dc:creator>Pat Hickey &lt;phickey@fastly.com&gt;</dc:creator>
    </item>
<item>
        <title>a841785d - monotonic clock: introduce `duration` type, split `subscribe` (#7358)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/test-programs/src/sockets.rs#a841785d</link>
        <description>monotonic clock: introduce `duration` type, split `subscribe` (#7358)* monotonic clock: introduce `duration` type, split `subscribe`We are introducing a `duration` type because it has a distinct meaningfrom `instant`: an `instant` can only be compared to other `instant`sfrom the exact same `monotonic-clock`, whereas a `duration` representsa duration of time which can be compared to any other duration of time.The `duration` type is motivated, in part, by a desire to reuse it tospecify durations such as timeouts in other WASI proposals.Instead of taking a boolean specifying whether the u64 is an absolute orrelative time, `subscribe-instant` takes an `instant` type and`subscribe-duration` takes a `duration` type.* wasmtime-wasi: implement changes to monotonic clock interface* adapter: fixes for subscribe duration and instant* factor subscribe_to_duration out into a helper function.* sync wits into wasi-http* component adapter: fix for interpreting flag for monotonic instant vs duration* subscribe_instant impl: fix logic for when time is in the pastcaught by subtract overflow panic, thankfully* test-programs: compile against new subscribe instant, duration methods

            List of files:
            /wasmtime-44.0.1/crates/test-programs/src/sockets.rs</description>
        <pubDate>Mon, 30 Oct 2023 21:48:04 +0000</pubDate>
        <dc:creator>Pat Hickey &lt;phickey@fastly.com&gt;</dc:creator>
    </item>
<item>
        <title>a6a9bdf8 - wasi-sockets: Introduce UDP streams (#7243)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/test-programs/src/sockets.rs#a6a9bdf8</link>
        <description>wasi-sockets: Introduce UDP streams (#7243)* Introduce UDP streamsIntroduce new `inbound-datagram-stream` and `outbound-datagram-stream` types and moved `receive` and `send` methods to those respectively. These streams are returned by `bind` can be individually subscribed to. This resolves a design issue where a UDP server  would end up in a spin loop because `receive` returned EWOULDBLOCK but poll_* always returned immediately because the socket was ready for sending. In this new setup, users can poll each direction separately. Fixes https://github.com/WebAssembly/wasi-sockets/issues/64Additionally:- Enable send-like behaviour by making `outbound-datagram::remote-address` optional. Fixes https://github.com/WebAssembly/wasi-sockets/pull/57- Dropped the `network` parameter from the `connect` call, because `bind` is now _required_ to perform IO.* Align names with wasi-http* Revert previous changes to `bind`. Replace `connect` with `stream`Remove the Mutex again. Instead allow `stream` to be called multiple times, but trap if the previous streams are still active.* The code block was treated as Rust code.* Align more closely to wasi-io&apos;s input&amp;output-stream* Use `send` instead of `sendto` on connected sockets.prtest:full

            List of files:
            /wasmtime-44.0.1/crates/test-programs/src/sockets.rs</description>
        <pubDate>Wed, 25 Oct 2023 00:24:58 +0000</pubDate>
        <dc:creator>Dave Bakker &lt;github@davebakker.io&gt;</dc:creator>
    </item>
<item>
        <title>f4be3606 - Refactor the test-programs test suite (#7182)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/test-programs/src/sockets.rs#f4be3606</link>
        <description>Refactor the test-programs test suite (#7182)* Refactor the test-programs test suiteThis commit is a large refactoring that reorganizes `test-programs` andhow we tests wasms in Wasmtime. Often writing tests requires complicatedinteractions with the guest which can&apos;t be done via hand-written `*.wat`syntax and requires a compiler to get engaged. For this purpose Wasmtimecurrently has the `crates/test-programs/*` test suite which builds filesfrom source and then runs the tests. This has been somewhat cumbersomein the past though and it&apos;s not been easy to extend this over time, sothis commit attempts to address this.The scheme implemented in this PR looks like:* All wasm test programs live in `crates/test-programs/src/bin/*.rs`.  All of them, no exceptions.* Wasm tests have shared support located at  `crates/test-programs/src/lib.rs` and its submodules, such as bindings  generation for WASI.* Wasm tests are built by a new `crates/test-programs/artifacts` crate.  This crate compiles modules and additionally creates components for  all test programs. The crate itself only records the path to these  outputs and a small amount of testing support, but otherwise doesn&apos;t  interact with `wasmtime`-the-crate itself.* All tests in `crates/test-programs/tests/*.rs` have moved. For example  wasi-http tests now live at `crates/wasi-http/tests/*.rs`. Legacy  tests of wasi-common now live at `crates/wasi-common/tests/*.rs`.  Modern tests for preview2 live at `crates/wasi/tests/*.rs`.* Wasm tests are bucketed based on their filename prefix. For example  `preview1_*` is tested in wasi-common and wasmtime-wasi. The  `preview2_*` prefix is only tested with wasmtime-wasi, however.* A new `cli_*` prefix is used to execute tests as part of  `tests/all/main.rs`. This is a new submodule in  `tests/all/cli_tests.rs` which executes these components on the  command line. Many old &quot;command&quot; tests were migrated here.* Helper macros are generated to assert that a test suite is run in its  entirety. This way if a `preview1_*` test is added it&apos;s asserted to  get added to both wasi-common and wasmtime-wasi in the various modes  they run tests.Overall this moved a number of tests around and refactored some edges ofthe tests, but this should not lose any tests (except one that wasn&apos;tactually testing anything). Additionally the hope is that it&apos;s mucheasier to add tests in the future. The process is to add a new file in`crates/test-programs/src/bin/*.rs` named appropriately. For example apreview2 executable is `preview2_*` and a CLI tests is `cli_*`. Whenbuilding the test suite an error is generated in the appropriate modulethen of &quot;please write a test here&quot;, and then a test is written in thesame manner as the other tests in the module.* Remove no-longer-needed fetchesprtest:full* I&apos;m worried wasi is running low on semicolons* Add the WASI target in all CI actions* Add unknown-unknown target on all CI builders too* Fix building test artifacts under miriNeed to avoid wrappers for these cross-compiled targets* Break circular dependency for packagingDon&apos;t use the workspace dep for `wasmtime-wasi` since it injects aversion, instead use a `path = &apos;..&apos;` dependency to fool Cargo intodropping the dependency during the package phase.* Fix some merge conflicts with tests* Fix rebase for new tests* Remove stray comment* Fix some flaky tests* Fix network tests in synchronous modeThis commit is an attempt to fix some networking tests in synchronousmode in our test suite. Currently networking tests don&apos;t actually run insynchronous mode on CI which is why no failures have been surfaced yet,but the refactoring in #7182 is going to start doing this.Currently the `udp_sample_application.rs` test blocks infinitely insynchronous mode for me locally, most of the time. This appears to be aninteraction between how Tokio handles readiness and how we&apos;reentering the event loop. We&apos;re effectively entering the Tokio event loopwith a future that&apos;s always ready which ends up starving Tokio ofotherwise performing its background work such as updating flags forreadiness of reading/writing.The fix here is to add a yield at the start of an `in_tokio` block whichis used in synchronous mode. This is a kludge fix but the intention isto enable Tokio to have a chance to update readiness flags and processevents from epoll/kqueue/etc.An additional fix to this issue is WebAssembly/wasi-sockets#64 where thetest is waiting on `READABLE` or `WRITABLE`, but in this specific caseit should only wait on `READABLE`. If it waited on just this then thatwould also fix this issue. Nevertheless having a `yield_now` is expectedto have little-to-no overhead and otherwise fix this edge case of analways-ready future.* Fix passing empty arguments on the CLI* Add another blocking accept* Update crates/test-programs/src/bin/api_proxy.rsCo-authored-by: Trevor Elliott &lt;awesomelyawesome@gmail.com&gt;---------Co-authored-by: Trevor Elliott &lt;awesomelyawesome@gmail.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/test-programs/src/sockets.rs</description>
        <pubDate>Mon, 09 Oct 2023 19:22:42 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
</channel>
</rss>
