pub enum NodeError {
Show 15 variants
Transport(TransportError),
NameTooLong,
Serialization,
Deserialization,
BufferTooSmall,
ActionCreationFailed,
ServiceRequestFailed,
ServiceReplyFailed,
Timeout,
NotInitialized,
RequestInFlight,
NoSchedContextSlot,
InvalidSchedContextBinding,
NodeTableFull,
BackendMismatch,
}Expand description
Error type for generic embedded node operations.
Not Copy — NodeError::Transport wraps a TransportError which
carries owned diagnostic strings (Backend / BackendDynamic). Rust
callers that matched on NodeError by value may need ref arms or
.clone(); C/C++ callers are unaffected (they see an integer
nros_ret_t).
Variants§
Transport(TransportError)
Transport-level error.
NameTooLong
Node name exceeds 64 bytes.
Serialization
CDR serialization failed.
Deserialization
CDR deserialization failed.
BufferTooSmall
Buffer too small for message.
ActionCreationFailed
Action server/client creation failed.
ServiceRequestFailed
Service request failed.
ServiceReplyFailed
Service reply failed.
Timeout
Operation timed out.
NotInitialized
A required subsystem has not been initialized (e.g. parameter services have not been registered on the executor).
RequestInFlight
The client / action client already has a request in flight that
hasn’t been consumed. Phase 84.D3: fixes the hazard where dropping
a Promise without awaiting its reply left the stale reply queued
to be delivered to the next call. Resolve by either polling the
existing promise to completion or calling reset_in_flight().
NoSchedContextSlot
Phase 110.B — create_sched_context ran out of slots
(MAX_SC exceeded).
InvalidSchedContextBinding
Phase 110.B — bind_handle_to_sched_context was called with
an out-of-range handle, an empty entry slot, or an unknown
SchedContextId.
NodeTableFull
Phase 104.C.2 — Executor::node_builder(...).build() was
called when the per-Executor node table is full
(NROS_EXECUTOR_MAX_NODES reached).
BackendMismatch
Phase 104.C.2 — requested RMW backend does not match the Executor’s open session (single-session restriction lifts in Phase 104.C.3 when the per-Node session cache lands).