pub struct RhaiLimitsConfig {
pub max_operations: Option<u64>,
pub max_string_size: Option<usize>,
pub max_array_size: Option<usize>,
pub max_map_size: Option<usize>,
pub max_expression_depth: Option<u32>,
pub max_function_expression_depth: Option<u32>,
pub max_call_levels: Option<u32>,
pub execution_timeout_ms: Option<u64>,
}Expand description
Tunable resource limits for a single Rhai Engine instance.
Surfaced in Camel.toml as:
[languages.rhai.limits]
max-operations = 500000
max-string-size = 10485760
max-array-size = 100000
max-map-size = 100000
max-expression-depth = 10
max-function-expression-depth = 5
max-call-levels = 64
execution-timeout-ms = 5000Fields§
§max_operations: Option<u64>Maximum number of operations before Rhai terminates the script
(rhai: max_operations). Counter resets each call.
max_string_size: Option<usize>Maximum string size in bytes (rhai: max_string_size).
max_array_size: Option<usize>Maximum array size in elements (rhai: max_array_size).
max_map_size: Option<usize>Maximum map size in key-value pairs (rhai: max_map_size).
max_expression_depth: Option<u32>Maximum nesting depth for expressions (rhai: max_expression_depth).
max_function_expression_depth: Option<u32>Maximum nesting depth for function call expressions
(rhai: max_function_expression_depth).
max_call_levels: Option<u32>Maximum call-stack depth (rhai: max_call_levels). Default 64 — pins a
single value and removes the upstream Engine::new_raw() debug/release
asymmetry (8 in debug, 64 in release). rc-dip6.
execution_timeout_ms: Option<u64>Maximum execution wall-clock time in milliseconds.
Rhai has no built-in timeout; the consuming code enforces this via
Engine::on_progress or a tokio timeout wrapper.
Trait Implementations§
Source§impl Clone for RhaiLimitsConfig
impl Clone for RhaiLimitsConfig
Source§fn clone(&self) -> RhaiLimitsConfig
fn clone(&self) -> RhaiLimitsConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more