Expand description
Guest-side runtime module.
Provides the unified [entry!] macro and platform-specific runtime
glue. Actor developers write one entry!(MyActor); the macro selects
the correct ABI at compile time based on the target.
§Execution contract
- One loaded guest instance corresponds to one logical actor instance.
- The runtime serialises dispatch into the guest instance. Concurrent
dispatches within the same instance are forbidden by the host
(wasmtime enforces this via
&mut Store<HostState>; dynclib hosts enforce via handle ownership).
§Supported platforms
- WASM Component Model (
target_arch = "wasm32", nowebfeature): wit-bindgen generates theGuesttrait +hostimports fromcore/framework/wit/actr-workload.wit; the [entry!] macro produces an adapter that bridges the user’s [Workload] impl into the generatedGuest. Targetswasm32-wasip2and requireswasm-component-ld 0.5.22+as the linker (seeexperiments/component-spike-async/REPORT.md). - Web ABI / wasm-bindgen (
target_arch = "wasm32"+feature = "web"): expands to awasm_bindgen(start)bootstrap that wraps the user [Workload] inweb::WebWorkloadAdapterand hands it toactr_web_abi::host::register_workload. Per Option U γ-unified §4.5 the same user source compiles against both wasm32 ABIs; only the macro expansion differs. Targetswasm32-unknown-unknown. - cdylib (
feature = "cdylib"): HostVTable function-pointer bridge used for native shared-library guests (iOS / Android).
Modules§
- dynclib_
abi - DynClib-only C ABI for actr workloads.
- vtable
- Host callback function table for dynclib guests.