Skip to content

Commit 2ea26c5

Browse files
authored
Merge pull request #2291 from fermyon/wasmtime-18
Upgrade to wasmtime 18
2 parents 78f84e7 + dfa007e commit 2ea26c5

File tree

9 files changed

+350
-458
lines changed

9 files changed

+350
-458
lines changed

Cargo.lock

Lines changed: 241 additions & 258 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -115,11 +115,7 @@ llm-metal = ["llm", "spin-trigger-http/llm-metal"]
115115
llm-cublas = ["llm", "spin-trigger-http/llm-cublas"]
116116

117117
[workspace]
118-
members = [
119-
"crates/*",
120-
"tests/runtime-tests",
121-
"tests/testing-framework",
122-
]
118+
members = ["crates/*", "tests/runtime-tests", "tests/testing-framework"]
123119

124120
[workspace.dependencies]
125121
anyhow = "1.0.75"
@@ -128,12 +124,10 @@ hyper = { version = "1.0.0", features = ["full"] }
128124
reqwest = { version = "0.11", features = ["stream", "blocking"] }
129125
tracing = { version = "0.1", features = ["log"] }
130126

131-
wasi-common-preview1 = { version = "17.0.1", package = "wasi-common" }
132-
wasmtime = "17.0.1"
133-
wasmtime-wasi = { version = "17.0.1", features = [
134-
"tokio",
135-
] }
136-
wasmtime-wasi-http = "17.0.1"
127+
wasi-common-preview1 = { version = "18.0.1", package = "wasi-common" }
128+
wasmtime = "18.0.1"
129+
wasmtime-wasi = { version = "18.0.1", features = ["tokio"] }
130+
wasmtime-wasi-http = "18.0.1"
137131

138132
spin-componentize = { git = "https://github.com/fermyon/spin-componentize", rev = "191789170abde10cd55590466c0660dd6c7d472a" }
139133

crates/core/src/lib.rs

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -171,22 +171,11 @@ impl<T> AsMut<T> for Data<T> {
171171
}
172172

173173
impl<T: Send> wasmtime_wasi::preview2::WasiView for Data<T> {
174-
fn table(&self) -> &ResourceTable {
175-
&self.table
176-
}
177-
178-
fn table_mut(&mut self) -> &mut ResourceTable {
174+
fn table(&mut self) -> &mut ResourceTable {
179175
&mut self.table
180176
}
181177

182-
fn ctx(&self) -> &wasmtime_wasi::preview2::WasiCtx {
183-
match &self.wasi {
184-
Wasi::Preview1(_) => panic!("using WASI Preview 1 functions with Preview 2 store"),
185-
Wasi::Preview2 { wasi_ctx, .. } => wasi_ctx,
186-
}
187-
}
188-
189-
fn ctx_mut(&mut self) -> &mut wasmtime_wasi::preview2::WasiCtx {
178+
fn ctx(&mut self) -> &mut wasmtime_wasi::preview2::WasiCtx {
190179
match &mut self.wasi {
191180
Wasi::Preview1(_) => panic!("using WASI Preview 1 functions with Preview 2 store"),
192181
Wasi::Preview2 { wasi_ctx, .. } => wasi_ctx,

crates/core/src/wasi_2023_10_18.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1284,7 +1284,7 @@ impl UdpSocket {
12841284
socket: &Resource<UdpSocket>,
12851285
explicit: bool,
12861286
) -> wasmtime::Result<Result<(), SocketErrorCode>> {
1287-
let state = table.table_mut().get_mut(socket)?;
1287+
let state = table.table().get_mut(socket)?;
12881288
let (new_socket, addr) = match mem::replace(state, UdpSocket::Dummy) {
12891289
// Implicit finishes will call `stream` for sockets in the initial
12901290
// state.
@@ -1305,7 +1305,7 @@ impl UdpSocket {
13051305
Ok(pair) => pair,
13061306
Err(e) => return Ok(Err(e)),
13071307
};
1308-
*table.table_mut().get_mut(socket)? = UdpSocket::Connected {
1308+
*table.table().get_mut(socket)? = UdpSocket::Connected {
13091309
socket: new_socket,
13101310
incoming,
13111311
outgoing,
@@ -1359,7 +1359,7 @@ where
13591359
_network: Resource<Network>,
13601360
remote_address: IpSocketAddress,
13611361
) -> wasmtime::Result<Result<(), SocketErrorCode>> {
1362-
let socket = self.table_mut().get_mut(&self_)?;
1362+
let socket = self.table().get_mut(&self_)?;
13631363
let (new_state, result) = match mem::replace(socket, UdpSocket::Dummy) {
13641364
UdpSocket::Initial(socket) => (UdpSocket::Connecting(socket, remote_address), Ok(())),
13651365
other => (other, Err(SocketErrorCode::ConcurrencyConflict)),
@@ -1563,7 +1563,7 @@ where
15631563
}
15641564

15651565
fn drop(&mut self, rep: Resource<UdpSocket>) -> wasmtime::Result<()> {
1566-
let me = self.table_mut().delete(rep)?;
1566+
let me = self.table().delete(rep)?;
15671567
let socket = match me {
15681568
UdpSocket::Initial(s) => s,
15691569
UdpSocket::Connecting(s, _) => s,
@@ -1600,7 +1600,7 @@ where
16001600
Ok(socket) => socket,
16011601
Err(e) => return Ok(Err(e)),
16021602
};
1603-
let socket = self.table_mut().push(UdpSocket::Initial(socket))?;
1603+
let socket = self.table().push(UdpSocket::Initial(socket))?;
16041604
Ok(Ok(socket))
16051605
}
16061606
}
@@ -2185,7 +2185,7 @@ where
21852185
Ok(e) => Ok(Ok(e.into())),
21862186
Err(wasmtime_wasi::preview2::StreamError::Closed) => Ok(Err(StreamError::Closed)),
21872187
Err(wasmtime_wasi::preview2::StreamError::LastOperationFailed(e)) => {
2188-
let e = view.table_mut().push(e)?;
2188+
let e = view.table().push(e)?;
21892189
Ok(Err(StreamError::LastOperationFailed(e)))
21902190
}
21912191
Err(wasmtime_wasi::preview2::StreamError::Trap(e)) => Err(e),

crates/core/src/wasi_2023_11_10.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -665,7 +665,7 @@ where
665665
Ok(e) => Ok(Ok(e.into())),
666666
Err(wasmtime_wasi::preview2::StreamError::Closed) => Ok(Err(StreamError::Closed)),
667667
Err(wasmtime_wasi::preview2::StreamError::LastOperationFailed(e)) => {
668-
let e = view.table_mut().push(e)?;
668+
let e = view.table().push(e)?;
669669
Ok(Err(StreamError::LastOperationFailed(e)))
670670
}
671671
Err(wasmtime_wasi::preview2::StreamError::Trap(e)) => Err(e),

crates/trigger-http/src/handler.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ use http_body_util::BodyExt;
99
use hyper::{Request, Response};
1010
use outbound_http::OutboundHttpComponent;
1111
use spin_core::async_trait;
12-
use spin_core::wasi_2023_10_18::exports::wasi::http::incoming_handler::IncomingHandler as IncomingHandler2023_10_18;
13-
use spin_core::wasi_2023_11_10::exports::wasi::http::incoming_handler::IncomingHandler as IncomingHandler2023_11_10;
12+
use spin_core::wasi_2023_10_18::exports::wasi::http::incoming_handler::Guest as IncomingHandler2023_10_18;
13+
use spin_core::wasi_2023_11_10::exports::wasi::http::incoming_handler::Guest as IncomingHandler2023_11_10;
1414
use spin_core::Instance;
1515
use spin_http::body;
1616
use spin_trigger::{EitherInstance, TriggerAppEngine};

0 commit comments

Comments
 (0)