wasm_capability_contract/component/dto/component_invoke_request.rs
1//! [`ComponentInvokeRequest`] — input to [`crate::CapabilityEngine::invoke`].
2
3use std::time::Duration;
4
5use crate::ComponentHandle;
6
7/// Request to invoke a loaded component's handler export once.
8#[derive(Debug, Clone, PartialEq, Eq)]
9pub struct ComponentInvokeRequest {
10 /// Handle to the component instance to invoke, from a prior
11 /// [`crate::CapabilityEngine::load`] call.
12 pub handle: ComponentHandle,
13 /// Raw request payload bytes, passed to the component's export
14 /// unmodified.
15 pub payload: Vec<u8>,
16 /// Maximum time to wait for this invocation before it is cancelled and
17 /// [`crate::CapabilityError::Timeout`] is returned. Must never exceed
18 /// the component's own
19 /// [`crate::ResourceLimits::invoke_timeout_ms`].
20 pub deadline: Duration,
21}