1804060c8SJoel Dice #![expect(clippy::allow_attributes_without_reason)] 2804060c8SJoel Dice 3804060c8SJoel Dice use wasmtime::component::{HasData, ResourceTable}; 4f7a5aa34SAlex Crichton use wasmtime_wasi::{WasiCtx, WasiCtxView, WasiView}; 5804060c8SJoel Dice 6804060c8SJoel Dice pub mod borrowing_host; 7804060c8SJoel Dice pub mod closed_streams; 8804060c8SJoel Dice pub mod resource_stream; 9804060c8SJoel Dice pub mod round_trip; 10804060c8SJoel Dice pub mod round_trip_direct; 11804060c8SJoel Dice pub mod round_trip_many; 12804060c8SJoel Dice pub mod transmit; 13804060c8SJoel Dice pub mod util; 14*112112d4SAlex Crichton pub mod yield_; 15*112112d4SAlex Crichton pub mod yield_runner; 16804060c8SJoel Dice 17804060c8SJoel Dice /// Host implementation, usable primarily by tests 18804060c8SJoel Dice pub struct Ctx { 19804060c8SJoel Dice pub wasi: WasiCtx, 20804060c8SJoel Dice pub table: ResourceTable, 21804060c8SJoel Dice pub continue_: bool, 22804060c8SJoel Dice } 23804060c8SJoel Dice 24804060c8SJoel Dice impl WasiView for Ctx { ctx(&mut self) -> WasiCtxView<'_>2569b4acbfSAlex Crichton fn ctx(&mut self) -> WasiCtxView<'_> { 260a074afcSAlex Crichton WasiCtxView { 270a074afcSAlex Crichton ctx: &mut self.wasi, 280a074afcSAlex Crichton table: &mut self.table, 290a074afcSAlex Crichton } 30804060c8SJoel Dice } 31804060c8SJoel Dice } 32804060c8SJoel Dice 33804060c8SJoel Dice impl HasData for Ctx { 34804060c8SJoel Dice type Data<'a> = &'a mut Self; 35804060c8SJoel Dice } 36