Skip to main content

Module function

Module function 

Source
Expand description

Routing function loading and supervised execution (ADR-003).

This module is the boundary that wraps the beamr runtime for the flexible tier of the two-tier routing model. Routing functions are content-addressed modules: they are loaded by content hash (so re-loading identical bytecode reuses the already-loaded module) and executed in supervised, isolated processes. A panic or runaway loop in one routing function is contained by the supervisor and surfaced to the caller as an error, never propagated to the evaluation pipeline of other channels.

Beamr types are intentionally not exposed here; callers interact only with the wrapper types defined in this module. The loader submodule wraps content-hash module loading and hot deployment; the execute submodule wraps supervised, isolated execution.

Re-exports§

pub use execute::ConsumerId;
pub use execute::ConsumerStateView;
pub use execute::FunctionError;
pub use execute::RoutingDecision;
pub use execute::RoutingMessage;
pub use execute::SupervisedExecutor;
pub use loader::ContentHash;
pub use loader::ModuleLoader;
pub use loader::RoutingFunction;
pub use loader::RoutingModule;
pub use loader::RoutingSlot;

Modules§

execute
Supervised, isolated execution of routing functions.
loader
Content-hash module loading and hot deployment for routing functions.