#[non_exhaustive]pub enum RuntimeError {
NodeRegister(&'static str),
ExecutorFull(&'static str),
Spin,
}Expand description
Error returned by the codegen-emitted run_plan(runtime) body
(Phase 212.N.4) and by Node pkg register(runtime) wrappers
(Phase 212.N.7 step-2).
no_std-safe — variants are string-typed so embedded Entry pkgs
don’t need to pull thiserror/anyhow to print. The
out-of-tree nros-build codegen library re-exports this type so
emitted code references ::nros_platform::RuntimeError, NOT
::nros_build::RuntimeError — the embedded Entry pkg’s runtime
path then doesn’t need nros-build as a runtime dep (build-dep
only).
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
NodeRegister(&'static str)
A node’s register(runtime) call failed. The string carries the
node pkg name.
Phase 212.N.12 hard-renamed the legacy ComponentRegister variant
to NodeRegister to match the rclcpp_components / ROS 2 launch.xml
<node pkg=…> convention.
ExecutorFull(&'static str)
Issue 0095 — a node’s register failed specifically because the
executor’s fixed callback-entry table (NROS_EXECUTOR_MAX_CBS) is full.
Distinct from the opaque NodeRegister so the user
sees the actionable knob. The string carries the node pkg name.
Spin
The hosted Entry spin loop failed or did not observe the requested runtime condition before its bounded test deadline.