pub struct WasmLimitsConfig {
pub timeout_secs: Option<u64>,
pub max_memory: Option<u64>,
pub max_concurrent_calls: Option<usize>,
pub max_wasm_size: Option<u64>,
pub allow_call_schemes: Option<String>,
}Expand description
Tunable WASM runtime limits for a single plugin instance.
Surfaced in Camel.toml as:
[default.beans.my-bean]
plugin = "my-plugin"
[default.beans.my-bean.limits]
timeout-secs = 600
max-memory = 4294967296 # 4 GiB
max-concurrent-calls = 1Fields§
§timeout_secs: Option<u64>Maximum execution time per guest call, in seconds.
Maps to WasmConfig::timeout_secs when Some.
max_memory: Option<u64>Maximum linear memory the guest can allocate, in bytes.
Maps to WasmConfig::max_memory_bytes when Some.
Note: when None, the runtime default (50 MiB) is used and IS enforced
via wasmtime::StoreLimitsBuilder::memory_size.
max_concurrent_calls: Option<usize>Maximum concurrent guest invocations against this plugin instance.
Maps to WasmConfig::max_concurrent_calls when Some.
Only meaningful for Processor plugins (Bean/AuthzPolicy/SecurityPolicy
are not concurrent-safe across reentrant calls today).
max_wasm_size: Option<u64>Maximum .wasm file size in bytes. None = use runtime default (10 MB).
allow_call_schemes: Option<String>Comma-separated URI schemes the guest may call via camel_call/camel_poll. None or empty = deny all (fail-closed). Example: “log,direct,file”. Ignored for AuthorizationPolicy/SecurityPolicy worlds (always denied).
Trait Implementations§
Source§impl Clone for WasmLimitsConfig
impl Clone for WasmLimitsConfig
Source§fn clone(&self) -> WasmLimitsConfig
fn clone(&self) -> WasmLimitsConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for WasmLimitsConfig
impl Debug for WasmLimitsConfig
Source§impl Default for WasmLimitsConfig
impl Default for WasmLimitsConfig
Source§fn default() -> WasmLimitsConfig
fn default() -> WasmLimitsConfig
Source§impl<'de> Deserialize<'de> for WasmLimitsConfig
impl<'de> Deserialize<'de> for WasmLimitsConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for WasmLimitsConfig
Source§impl PartialEq for WasmLimitsConfig
impl PartialEq for WasmLimitsConfig
Source§impl Serialize for WasmLimitsConfig
impl Serialize for WasmLimitsConfig
impl StructuralPartialEq for WasmLimitsConfig
Auto Trait Implementations§
impl Freeze for WasmLimitsConfig
impl RefUnwindSafe for WasmLimitsConfig
impl Send for WasmLimitsConfig
impl Sync for WasmLimitsConfig
impl Unpin for WasmLimitsConfig
impl UnsafeUnpin for WasmLimitsConfig
impl UnwindSafe for WasmLimitsConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.