Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
bytecodealliance
GitHub Repository: bytecodealliance/wasmtime
Path: blob/main/crates/misc/component-async-tests/src/lib.rs
1692 views
1
#![expect(clippy::allow_attributes_without_reason)]
2
3
use std::sync::{Arc, Mutex};
4
use std::task::Waker;
5
6
use wasmtime::component::{HasData, ResourceTable};
7
use wasmtime_wasi::{WasiCtx, WasiCtxView, WasiView};
8
9
pub mod borrowing_host;
10
pub mod closed_streams;
11
pub mod resource_stream;
12
pub mod round_trip;
13
pub mod round_trip_direct;
14
pub mod round_trip_many;
15
pub mod sleep;
16
pub mod transmit;
17
pub mod util;
18
pub mod yield_host;
19
20
/// Host implementation, usable primarily by tests
21
pub struct Ctx {
22
pub wasi: WasiCtx,
23
pub table: ResourceTable,
24
pub wakers: Arc<Mutex<Option<Vec<Waker>>>>,
25
pub continue_: bool,
26
}
27
28
impl WasiView for Ctx {
29
fn ctx(&mut self) -> WasiCtxView<'_> {
30
WasiCtxView {
31
ctx: &mut self.wasi,
32
table: &mut self.table,
33
}
34
}
35
}
36
37
impl HasData for Ctx {
38
type Data<'a> = &'a mut Self;
39
}
40
41