SpecsModelExplore
Overview
Actors
External Systems
IoT Platform
Edge
Edge Agent
Edge Rule Runtime
Rule LoaderRule EvaluatorActuator Client
Ingestion
Stream Processing
Device Management
User-Facing Apps
Platform
SpecsModelExplore
Rule Loader
OverviewGuideLinks and Communications
IDproduct.edge.rule_runtime.rule_loader
DescriptionLoads and hot-reloads rule packs.
Keyrule_loader
Typecomponent
TeamEdge Platform
Owneredge-platform@iotgateway.example
Statusactive
TechnologiesRust, Lua/WASM (rules)
Attributesformat: WASM, language: Rust, reload: hot
Tags
Table of contents
Guide
Rule Loader
Load and swap
Compile & validate
Atomic swap

Guide

Rule Loader

The Rule Loader keeps the Rule Evaluator fed with the right rules. The cloud authors and versions rule packs; the loader fetches them, validates and compiles them to WASM, and swaps them in live — without ever leaving the runtime without a working rule set.

Hot reload, never a gap

Reloads are atomic: a new pack is fully compiled and validated before it becomes active. If validation fails, the current pack stays in force and the failure is reported — the gateway is never left rule-less.

Load and swap

Fetch

On a pushed version notification (or periodic check), the loader downloads the new rule pack and verifies its integrity.

Compile & validate

Rules are compiled to a sandboxed WASM module and checked against the actuator capability manifest — a rule may only reference actuators the gateway actually exposes.

Atomic swap

The compiled module replaces the active one between evaluation ticks, so no in-flight evaluation is interrupted and no input sample is dropped.

Versioning

Each active pack carries a version stamp that is reported up with telemetry, so the cloud always knows exactly which rule logic a given device is running.

Links and Communications

1 incoming link

Incoming Links(1)

Source objectLabelLink typeRelationRaw idRequiredDescription
Rule Evaluator

example-iot.product.edge.rule_runtime.evaluator

component
loads rules from—linksproduct.edge.rule_runtime.rule_loader——