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 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
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).
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
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RhaiLimitsConfig
impl Debug for RhaiLimitsConfig
Source§impl Default for RhaiLimitsConfig
impl Default for RhaiLimitsConfig
Source§fn default() -> RhaiLimitsConfig
fn default() -> RhaiLimitsConfig
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for RhaiLimitsConfig
impl<'de> Deserialize<'de> for RhaiLimitsConfig
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>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for RhaiLimitsConfig
Source§impl PartialEq for RhaiLimitsConfig
impl PartialEq for RhaiLimitsConfig
Source§fn eq(&self, other: &RhaiLimitsConfig) -> bool
fn eq(&self, other: &RhaiLimitsConfig) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for RhaiLimitsConfig
impl Serialize for RhaiLimitsConfig
impl StructuralPartialEq for RhaiLimitsConfig
Auto Trait Implementations§
impl Freeze for RhaiLimitsConfig
impl RefUnwindSafe for RhaiLimitsConfig
impl Send for RhaiLimitsConfig
impl Sync for RhaiLimitsConfig
impl Unpin for RhaiLimitsConfig
impl UnsafeUnpin for RhaiLimitsConfig
impl UnwindSafe for RhaiLimitsConfig
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
Mutably borrows from an owned value. Read more