pub struct ActionServerRawHandle { /* private fields */ }Expand description
Handle to a raw (untyped) action server registered in the executor’s arena.
Returned by Executor::register_action_server_raw(). Provides methods
to interact with the server using raw CDR bytes.
Implementations§
Source§impl ActionServerRawHandle
impl ActionServerRawHandle
Sourcepub const fn invalid() -> ActionServerRawHandle
pub const fn invalid() -> ActionServerRawHandle
Construct a sentinel handle representing “not registered yet”.
All function pointers are unreachable stubs; only valid use is
to populate #[repr(C)] storage that is later overwritten by a
real handle (or queried via is_invalid() to skip operations).
Sourcepub const fn is_invalid(&self) -> bool
pub const fn is_invalid(&self) -> bool
true if this handle is the sentinel returned by Self::invalid().
Source§impl ActionServerRawHandle
impl ActionServerRawHandle
Sourcepub fn publish_feedback_raw(
&self,
executor: &mut Executor,
goal_id: &GoalId,
feedback_data: &[u8],
) -> Result<(), NodeError>
pub fn publish_feedback_raw( &self, executor: &mut Executor, goal_id: &GoalId, feedback_data: &[u8], ) -> Result<(), NodeError>
Publish feedback with raw CDR bytes (untyped variant).
Used by the C API when feedback is already serialised.
Sourcepub fn complete_goal_raw(
&self,
executor: &mut Executor,
goal_id: &GoalId,
status: GoalStatus,
result_data: &[u8],
)
pub fn complete_goal_raw( &self, executor: &mut Executor, goal_id: &GoalId, status: GoalStatus, result_data: &[u8], )
Complete a goal with raw CDR result bytes (untyped variant).
Moves the goal from the active set to the completed-results slab.
Sourcepub fn set_goal_status(
&self,
executor: &mut Executor,
goal_id: &GoalId,
status: GoalStatus,
)
pub fn set_goal_status( &self, executor: &mut Executor, goal_id: &GoalId, status: GoalStatus, )
Update a goal’s status without completing it.
Use this to transition a goal to Executing or Canceling
while it is still active. To finish a goal, use complete_goal_raw.
Sourcepub fn active_goal_count(&self, executor: &Executor) -> usize
pub fn active_goal_count(&self, executor: &Executor) -> usize
Get the number of currently active goals.
Returns 0 if the action server handle has been removed from the executor.
Sourcepub fn for_each_active_goal(
&self,
executor: &Executor,
f: impl FnMut(&RawActiveGoal),
)
pub fn for_each_active_goal( &self, executor: &Executor, f: impl FnMut(&RawActiveGoal), )
Iterate over all currently active goals (raw/untyped variant).
Calls f for each goal that has been accepted but not yet completed.
Sourcepub fn goal_status(
&self,
executor: &Executor,
goal_id: &GoalId,
) -> Option<GoalStatus>
pub fn goal_status( &self, executor: &Executor, goal_id: &GoalId, ) -> Option<GoalStatus>
Look up the status of a single active goal by UUID.
Returns Some(status) while the goal is still in the arena’s
active_goals vector. Returns None once the goal has been
retired (completed + result delivered, or cancelled + acknowledged).
This is the authoritative source of goal status — the C/C++ FFI
layers call this from nros_action_get_goal_status rather than
reading a cached field on their own handle structs.
Trait Implementations§
Source§impl Clone for ActionServerRawHandle
impl Clone for ActionServerRawHandle
Source§fn clone(&self) -> ActionServerRawHandle
fn clone(&self) -> ActionServerRawHandle
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more