Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
548e398
Revamp component model stream/future host API (again)
dicej Aug 15, 2025
a734339
Add `Accessor::getter`, rename `with_data` to `with_getter`
alexcrichton Aug 25, 2025
c3204ca
fixup bindgen invocation
rvolosatovs Aug 25, 2025
61c5a24
add support for zero-length writes/reads to/from host
dicej Aug 25, 2025
056f064
add `{Destination,Source}::remaining` methods
dicej Aug 26, 2025
ddb3036
wasi: migrate sockets to new API
rvolosatovs Aug 27, 2025
cae75ff
tests: read the socket stream until EOF
rvolosatovs Aug 27, 2025
99397e7
p3-sockets: account for cancellation
rvolosatovs Aug 28, 2025
7a0b96f
p3-sockets: mostly ensure byte buffer cancellation-safety
rvolosatovs Aug 28, 2025
efdf6d3
p3-filesystem: switch to new API
rvolosatovs Aug 28, 2025
014adb1
fixup! p3-sockets: mostly ensure byte buffer cancellation-safety
rvolosatovs Aug 28, 2025
368a1e4
p3-cli: switch to new API
rvolosatovs Aug 28, 2025
58ef641
p3: limit maximum buffer size
rvolosatovs Aug 28, 2025
ec41ec5
p3-sockets: remove reuseaddr test loop workaround
rvolosatovs Aug 28, 2025
2b6f216
p3: drive I/O in `when_ready`
rvolosatovs Aug 28, 2025
f7ff957
fixup! p3: drive I/O in `when_ready`
rvolosatovs Aug 28, 2025
879be7d
Refine `Stream{Producer,Consumer}` APIs
dicej Aug 29, 2025
2461caf
Merge remote-tracking branch 'origin/main' into stream-future-api-revamp
dicej Sep 2, 2025
ca8a435
being integration of new API
rvolosatovs Sep 3, 2025
00047c3
update wasi/src/p3/filesystem to use new stream API
dicej Sep 3, 2025
0f9f372
update wasi/src/p3/cli to use new stream API
dicej Sep 3, 2025
7d6edb1
fix: remove `'a` bound on `&self`
rvolosatovs Sep 4, 2025
fce49cb
finish `wasi:sockets` adaptation
rvolosatovs Sep 4, 2025
cdd1ce5
finish `wasi:cli` adaptation
rvolosatovs Sep 4, 2025
2554c17
remove redundant loop in sockets
rvolosatovs Sep 4, 2025
9784254
wasi: buffer on 0-length reads
rvolosatovs Sep 4, 2025
55ad074
finish `wasi:filesystem` adaptation
rvolosatovs Sep 4, 2025
4bc782d
remove `MAX_BUFFER_CAPACITY`
rvolosatovs Sep 4, 2025
1197b64
refactor `Cursor` usage
rvolosatovs Sep 4, 2025
4e99221
impl Default for VecBuffer
rvolosatovs Sep 4, 2025
afac783
refactor: use consistent import styling
rvolosatovs Sep 4, 2025
f0dfa55
feature-gate fs Arc accessors
rvolosatovs Sep 4, 2025
7db82ff
Update test expectations
alexcrichton Sep 4, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions crates/component-macro/tests/expanded/char_concurrent.rs
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ pub mod foo {
"take-char",
move |caller: &wasmtime::component::Accessor<T>, (arg0,): (char,)| {
wasmtime::component::__internal::Box::pin(async move {
let accessor = &caller.with_data(host_getter);
let accessor = &caller.with_getter(host_getter);
let r = <D as HostWithStore>::take_char(accessor, arg0)
.await;
Ok(r)
Expand All @@ -229,7 +229,7 @@ pub mod foo {
"return-char",
move |caller: &wasmtime::component::Accessor<T>, (): ()| {
wasmtime::component::__internal::Box::pin(async move {
let accessor = &caller.with_data(host_getter);
let accessor = &caller.with_getter(host_getter);
let r = <D as HostWithStore>::return_char(accessor).await;
Ok((r,))
})
Expand Down
24 changes: 12 additions & 12 deletions crates/component-macro/tests/expanded/conventions_concurrent.rs
Original file line number Diff line number Diff line change
Expand Up @@ -286,7 +286,7 @@ pub mod foo {
"kebab-case",
move |caller: &wasmtime::component::Accessor<T>, (): ()| {
wasmtime::component::__internal::Box::pin(async move {
let accessor = &caller.with_data(host_getter);
let accessor = &caller.with_getter(host_getter);
let r = <D as HostWithStore>::kebab_case(accessor).await;
Ok(r)
})
Expand All @@ -299,7 +299,7 @@ pub mod foo {
(arg0,): (LudicrousSpeed,)|
{
wasmtime::component::__internal::Box::pin(async move {
let accessor = &caller.with_data(host_getter);
let accessor = &caller.with_getter(host_getter);
let r = <D as HostWithStore>::foo(accessor, arg0).await;
Ok(r)
})
Expand All @@ -309,7 +309,7 @@ pub mod foo {
"function-with-dashes",
move |caller: &wasmtime::component::Accessor<T>, (): ()| {
wasmtime::component::__internal::Box::pin(async move {
let accessor = &caller.with_data(host_getter);
let accessor = &caller.with_getter(host_getter);
let r = <D as HostWithStore>::function_with_dashes(accessor)
.await;
Ok(r)
Expand All @@ -320,7 +320,7 @@ pub mod foo {
"function-with-no-weird-characters",
move |caller: &wasmtime::component::Accessor<T>, (): ()| {
wasmtime::component::__internal::Box::pin(async move {
let accessor = &caller.with_data(host_getter);
let accessor = &caller.with_getter(host_getter);
let r = <D as HostWithStore>::function_with_no_weird_characters(
accessor,
)
Expand All @@ -333,7 +333,7 @@ pub mod foo {
"apple",
move |caller: &wasmtime::component::Accessor<T>, (): ()| {
wasmtime::component::__internal::Box::pin(async move {
let accessor = &caller.with_data(host_getter);
let accessor = &caller.with_getter(host_getter);
let r = <D as HostWithStore>::apple(accessor).await;
Ok(r)
})
Expand All @@ -343,7 +343,7 @@ pub mod foo {
"apple-pear",
move |caller: &wasmtime::component::Accessor<T>, (): ()| {
wasmtime::component::__internal::Box::pin(async move {
let accessor = &caller.with_data(host_getter);
let accessor = &caller.with_getter(host_getter);
let r = <D as HostWithStore>::apple_pear(accessor).await;
Ok(r)
})
Expand All @@ -353,7 +353,7 @@ pub mod foo {
"apple-pear-grape",
move |caller: &wasmtime::component::Accessor<T>, (): ()| {
wasmtime::component::__internal::Box::pin(async move {
let accessor = &caller.with_data(host_getter);
let accessor = &caller.with_getter(host_getter);
let r = <D as HostWithStore>::apple_pear_grape(accessor)
.await;
Ok(r)
Expand All @@ -364,7 +364,7 @@ pub mod foo {
"a0",
move |caller: &wasmtime::component::Accessor<T>, (): ()| {
wasmtime::component::__internal::Box::pin(async move {
let accessor = &caller.with_data(host_getter);
let accessor = &caller.with_getter(host_getter);
let r = <D as HostWithStore>::a0(accessor).await;
Ok(r)
})
Expand All @@ -374,7 +374,7 @@ pub mod foo {
"is-XML",
move |caller: &wasmtime::component::Accessor<T>, (): ()| {
wasmtime::component::__internal::Box::pin(async move {
let accessor = &caller.with_data(host_getter);
let accessor = &caller.with_getter(host_getter);
let r = <D as HostWithStore>::is_xml(accessor).await;
Ok(r)
})
Expand All @@ -384,7 +384,7 @@ pub mod foo {
"explicit",
move |caller: &wasmtime::component::Accessor<T>, (): ()| {
wasmtime::component::__internal::Box::pin(async move {
let accessor = &caller.with_data(host_getter);
let accessor = &caller.with_getter(host_getter);
let r = <D as HostWithStore>::explicit(accessor).await;
Ok(r)
})
Expand All @@ -394,7 +394,7 @@ pub mod foo {
"explicit-kebab",
move |caller: &wasmtime::component::Accessor<T>, (): ()| {
wasmtime::component::__internal::Box::pin(async move {
let accessor = &caller.with_data(host_getter);
let accessor = &caller.with_getter(host_getter);
let r = <D as HostWithStore>::explicit_kebab(accessor).await;
Ok(r)
})
Expand All @@ -404,7 +404,7 @@ pub mod foo {
"bool",
move |caller: &wasmtime::component::Accessor<T>, (): ()| {
wasmtime::component::__internal::Box::pin(async move {
let accessor = &caller.with_data(host_getter);
let accessor = &caller.with_getter(host_getter);
let r = <D as HostWithStore>::bool(accessor).await;
Ok(r)
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,7 @@ pub mod a {
"f",
move |caller: &wasmtime::component::Accessor<T>, (): ()| {
wasmtime::component::__internal::Box::pin(async move {
let accessor = &caller.with_data(host_getter);
let accessor = &caller.with_getter(host_getter);
let r = <D as HostWithStore>::f(accessor).await;
Ok((r,))
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ const _: () = {
"foo",
move |caller: &wasmtime::component::Accessor<T>, (): ()| {
wasmtime::component::__internal::Box::pin(async move {
let accessor = &caller.with_data(host_getter);
let accessor = &caller.with_getter(host_getter);
let r = <D as FooImportsWithStore>::foo(accessor).await;
Ok(r)
})
Expand Down
14 changes: 7 additions & 7 deletions crates/component-macro/tests/expanded/flags_concurrent.rs
Original file line number Diff line number Diff line change
Expand Up @@ -351,7 +351,7 @@ pub mod foo {
"roundtrip-flag1",
move |caller: &wasmtime::component::Accessor<T>, (arg0,): (Flag1,)| {
wasmtime::component::__internal::Box::pin(async move {
let accessor = &caller.with_data(host_getter);
let accessor = &caller.with_getter(host_getter);
let r = <D as HostWithStore>::roundtrip_flag1(accessor, arg0)
.await;
Ok((r,))
Expand All @@ -362,7 +362,7 @@ pub mod foo {
"roundtrip-flag2",
move |caller: &wasmtime::component::Accessor<T>, (arg0,): (Flag2,)| {
wasmtime::component::__internal::Box::pin(async move {
let accessor = &caller.with_data(host_getter);
let accessor = &caller.with_getter(host_getter);
let r = <D as HostWithStore>::roundtrip_flag2(accessor, arg0)
.await;
Ok((r,))
Expand All @@ -373,7 +373,7 @@ pub mod foo {
"roundtrip-flag4",
move |caller: &wasmtime::component::Accessor<T>, (arg0,): (Flag4,)| {
wasmtime::component::__internal::Box::pin(async move {
let accessor = &caller.with_data(host_getter);
let accessor = &caller.with_getter(host_getter);
let r = <D as HostWithStore>::roundtrip_flag4(accessor, arg0)
.await;
Ok((r,))
Expand All @@ -384,7 +384,7 @@ pub mod foo {
"roundtrip-flag8",
move |caller: &wasmtime::component::Accessor<T>, (arg0,): (Flag8,)| {
wasmtime::component::__internal::Box::pin(async move {
let accessor = &caller.with_data(host_getter);
let accessor = &caller.with_getter(host_getter);
let r = <D as HostWithStore>::roundtrip_flag8(accessor, arg0)
.await;
Ok((r,))
Expand All @@ -395,7 +395,7 @@ pub mod foo {
"roundtrip-flag16",
move |caller: &wasmtime::component::Accessor<T>, (arg0,): (Flag16,)| {
wasmtime::component::__internal::Box::pin(async move {
let accessor = &caller.with_data(host_getter);
let accessor = &caller.with_getter(host_getter);
let r = <D as HostWithStore>::roundtrip_flag16(
accessor,
arg0,
Expand All @@ -409,7 +409,7 @@ pub mod foo {
"roundtrip-flag32",
move |caller: &wasmtime::component::Accessor<T>, (arg0,): (Flag32,)| {
wasmtime::component::__internal::Box::pin(async move {
let accessor = &caller.with_data(host_getter);
let accessor = &caller.with_getter(host_getter);
let r = <D as HostWithStore>::roundtrip_flag32(
accessor,
arg0,
Expand All @@ -423,7 +423,7 @@ pub mod foo {
"roundtrip-flag64",
move |caller: &wasmtime::component::Accessor<T>, (arg0,): (Flag64,)| {
wasmtime::component::__internal::Box::pin(async move {
let accessor = &caller.with_data(host_getter);
let accessor = &caller.with_getter(host_getter);
let r = <D as HostWithStore>::roundtrip_flag64(
accessor,
arg0,
Expand Down
8 changes: 4 additions & 4 deletions crates/component-macro/tests/expanded/floats_concurrent.rs
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ pub mod foo {
"f32-param",
move |caller: &wasmtime::component::Accessor<T>, (arg0,): (f32,)| {
wasmtime::component::__internal::Box::pin(async move {
let accessor = &caller.with_data(host_getter);
let accessor = &caller.with_getter(host_getter);
let r = <D as HostWithStore>::f32_param(accessor, arg0)
.await;
Ok(r)
Expand All @@ -236,7 +236,7 @@ pub mod foo {
"f64-param",
move |caller: &wasmtime::component::Accessor<T>, (arg0,): (f64,)| {
wasmtime::component::__internal::Box::pin(async move {
let accessor = &caller.with_data(host_getter);
let accessor = &caller.with_getter(host_getter);
let r = <D as HostWithStore>::f64_param(accessor, arg0)
.await;
Ok(r)
Expand All @@ -247,7 +247,7 @@ pub mod foo {
"f32-result",
move |caller: &wasmtime::component::Accessor<T>, (): ()| {
wasmtime::component::__internal::Box::pin(async move {
let accessor = &caller.with_data(host_getter);
let accessor = &caller.with_getter(host_getter);
let r = <D as HostWithStore>::f32_result(accessor).await;
Ok((r,))
})
Expand All @@ -257,7 +257,7 @@ pub mod foo {
"f64-result",
move |caller: &wasmtime::component::Accessor<T>, (): ()| {
wasmtime::component::__internal::Box::pin(async move {
let accessor = &caller.with_data(host_getter);
let accessor = &caller.with_getter(host_getter);
let r = <D as HostWithStore>::f64_result(accessor).await;
Ok((r,))
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ const _: () = {
"foo",
move |caller: &wasmtime::component::Accessor<T>, (): ()| {
wasmtime::component::__internal::Box::pin(async move {
let accessor = &caller.with_data(host_getter);
let accessor = &caller.with_getter(host_getter);
let r = <D as Host_ImportsWithStore>::foo(accessor).await;
Ok(r)
})
Expand Down
Loading