pub struct NullNodeRuntime;Expand description
No-op NodeDispatchRuntime for tests / placeholders. Every call
returns Err(()) so callers that depend on a populated runtime
fail loud rather than silently no-op.
BoardEntry::run impls replace this with a real
ExecutorNodeRuntime-backed sink before invoking the user
setup closure.
Trait Implementations§
Source§impl Debug for NullNodeRuntime
impl Debug for NullNodeRuntime
Source§impl Default for NullNodeRuntime
impl Default for NullNodeRuntime
Source§fn default() -> NullNodeRuntime
fn default() -> NullNodeRuntime
Returns the “default value” for a type. Read more
Source§impl NodeDispatchRuntime for NullNodeRuntime
impl NodeDispatchRuntime for NullNodeRuntime
Source§fn spin_once(&mut self, _timeout_ms: u32) -> Result<(), ()>
fn spin_once(&mut self, _timeout_ms: u32) -> Result<(), ()>
Drive the underlying executor for at most
timeout_ms
milliseconds. Ok(()) on a clean spin (including timeout);
Err(()) if the executor surfaces a spin error. Read moreSource§fn apply_lifecycle(&mut self, autostart: u8) -> Result<(), ()>
fn apply_lifecycle(&mut self, autostart: u8) -> Result<(), ()>
Phase 264 W2 — register the REP-2002 lifecycle services on the underlying
executor + drive boot autostart.
autostart: 0 = none, 1 = configure,
2 = configure+activate. Default no-op (non-executor runtimes, or nros
built without lifecycle-services); the ExecutorNodeRuntime impl in
nros does the real work behind that feature. nros::main! calls this
(via RuntimeCtx::apply_lifecycle) when system.toml declares
[lifecycle], mirroring the bake’s generate.rs::render_lifecycle_fn.Source§fn apply_param_services(&mut self, params: &[(&str, &str)]) -> Result<(), ()>
fn apply_param_services(&mut self, params: &[(&str, &str)]) -> Result<(), ()>
Phase 264 W4b — register the 6 ROS 2 parameter services on the underlying
executor + seed a volatile RAM param store with the launch-baked
<param>
initials (params is the aggregate (name, value) slice, value as the raw
launch string — the impl infers the ParameterValue type). After this,
ros2 param list/get/set works against the running node; reconfigured values
live in RAM until the next boot (RFC-0004 §10; persistence is out of scope,
issue 0080). Default no-op (non-executor runtimes, or nros built without
param-services); the ExecutorNodeRuntime impl in nros does the real work
behind that feature. nros::main! calls this (via
RuntimeCtx::apply_param_services) when system.toml declares
[param_services], mirroring the bake’s generate.rs::render_param_persistence_fn.Source§fn executor_handle(&mut self) -> *mut c_void
fn executor_handle(&mut self) -> *mut c_void
Phase 258 (Track 2, 2a) — raw
*mut Executor (as void*) for the
owned-spin entry, so a Node pkg’s register(runtime) wrapper can call
the uniform __nros_component_<pkg>_install(.., executor, ..) seam
(nros::install_node_typed) instead of the retired opaque-fn-ptr
register_dispatch_slot_dyn bridge. A pointer crosses the
nros-platform → nros layering wall cleanly (the concrete
ExecutorNodeRuntime lives in nros; this trait can’t name it). Read moreSource§fn observed_callback_counts(&self) -> (usize, usize)
fn observed_callback_counts(&self) -> (usize, usize)
Observability counters from hosted/runtime tests. Read more
Source§fn signal_callback(&mut self, _cb: SignaledCallback<'_>)
fn signal_callback(&mut self, _cb: SignaledCallback<'_>)
Hand a signaled callback to the framework-side dispatcher
(Phase 216.A.2). Only meaningful for
DispatchStrategy::Deferred
(RTIC / Embassy) runtimes — Inline runtimes drive callbacks
directly from spin_once and never call this. The default panic
surfaces the mis-wire loudly rather than silently dropping the
callback signal.Source§fn dispatch_strategy(&self) -> DispatchStrategy
fn dispatch_strategy(&self) -> DispatchStrategy
Declare how this runtime delivers callbacks (Phase 216.A.2).
nros check (Phase 216.D.1) cross-validates each Node pkg’s
Node::DISPATCH against this value. Defaults to Inline so
every existing impl reports the historical behavior unchanged.Auto Trait Implementations§
impl Freeze for NullNodeRuntime
impl RefUnwindSafe for NullNodeRuntime
impl Send for NullNodeRuntime
impl Sync for NullNodeRuntime
impl Unpin for NullNodeRuntime
impl UnsafeUnpin for NullNodeRuntime
impl UnwindSafe for NullNodeRuntime
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