Path: blob/main/crates/misc/component-async-tests/src/lib.rs
1692 views
#![expect(clippy::allow_attributes_without_reason)]12use std::sync::{Arc, Mutex};3use std::task::Waker;45use wasmtime::component::{HasData, ResourceTable};6use wasmtime_wasi::{WasiCtx, WasiCtxView, WasiView};78pub mod borrowing_host;9pub mod closed_streams;10pub mod resource_stream;11pub mod round_trip;12pub mod round_trip_direct;13pub mod round_trip_many;14pub mod sleep;15pub mod transmit;16pub mod util;17pub mod yield_host;1819/// Host implementation, usable primarily by tests20pub struct Ctx {21pub wasi: WasiCtx,22pub table: ResourceTable,23pub wakers: Arc<Mutex<Option<Vec<Waker>>>>,24pub continue_: bool,25}2627impl WasiView for Ctx {28fn ctx(&mut self) -> WasiCtxView<'_> {29WasiCtxView {30ctx: &mut self.wasi,31table: &mut self.table,32}33}34}3536impl HasData for Ctx {37type Data<'a> = &'a mut Self;38}394041