Skip to main content

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}