pub struct InternalExecutor<'a> { /* private fields */ }
Expand description
Executes internal functions using pre-compiled logic for optimal performance.
The InternalExecutor
provides:
- Efficient execution of map transformations using compiled logic
- Fast validation rule evaluation with detailed error reporting
- Condition evaluation for workflow and task control flow
- Lazy initialization to avoid unnecessary allocations
By using pre-compiled logic from the cache, the executor avoids all runtime compilation overhead, ensuring predictable low-latency execution.
Implementations§
Source§impl<'a> InternalExecutor<'a>
impl<'a> InternalExecutor<'a>
Sourcepub fn new(
datalogic: &'a DataLogic<'static>,
logic_cache: &'a Vec<Logic<'static>>,
) -> Self
pub fn new( datalogic: &'a DataLogic<'static>, logic_cache: &'a Vec<Logic<'static>>, ) -> Self
Create a new InternalExecutor
Sourcepub fn execute_map(
&self,
message: &mut Message,
config: &MapConfig,
) -> Result<(usize, Vec<Change>)>
pub fn execute_map( &self, message: &mut Message, config: &MapConfig, ) -> Result<(usize, Vec<Change>)>
Execute the internal map function with optimized data handling
Sourcepub fn execute_validate(
&self,
message: &mut Message,
config: &ValidationConfig,
) -> Result<(usize, Vec<Change>)>
pub fn execute_validate( &self, message: &mut Message, config: &ValidationConfig, ) -> Result<(usize, Vec<Change>)>
Execute the internal validation function
Sourcepub fn evaluate_logic(
&self,
logic_index: Option<usize>,
logic: &Value,
data: &Value,
) -> Result<Value>
pub fn evaluate_logic( &self, logic_index: Option<usize>, logic: &Value, data: &Value, ) -> Result<Value>
Evaluate logic using compiled index or direct evaluation
Auto Trait Implementations§
impl<'a> Freeze for InternalExecutor<'a>
impl<'a> !RefUnwindSafe for InternalExecutor<'a>
impl<'a> !Send for InternalExecutor<'a>
impl<'a> !Sync for InternalExecutor<'a>
impl<'a> Unpin for InternalExecutor<'a>
impl<'a> !UnwindSafe for InternalExecutor<'a>
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