pub struct RawActionServerSpec<'a> {
pub node_id: Option<NodeId>,
pub action_name: &'a str,
pub type_name: &'a str,
pub type_hash: &'a str,
pub hashes: ActionEndpointHashes<'a>,
pub qos: QoSProfile,
pub goal_callback: unsafe extern "C" fn(*const GoalId, *const u8, usize, *mut c_void) -> GoalResponse,
pub cancel_callback: unsafe extern "C" fn(*const GoalId, GoalStatus, *mut c_void) -> CancelResponse,
pub accepted_callback: Option<unsafe extern "C" fn(*const GoalId, *mut c_void)>,
pub context: *mut c_void,
}Expand description
Inputs for raw (untyped) action-server registration.
Collapses the runtime arguments shared by the
register_action_server_raw* family. Buffer sizes / max-goals stay
as const-generic turbofish parameters on the registration methods.
Fields§
§node_id: Option<NodeId>None registers on the executor’s own node; Some(id) routes
the server’s 5 underlying handles (send_goal / cancel_goal /
get_result servers + feedback / status publishers) through the
named Node’s session.
action_name: &'a str§type_name: &'a str§type_hash: &'a strThe ACTION’s own hash; feeds ActionInfo only. The endpoints are keyed
on hashes.
hashes: ActionEndpointHashes<'a>Issue 1913 — the hash each of the five endpoints is keyed on.
qos: QoSProfileQoS for the action’s three underlying service servers (send_goal
/ cancel_goal / get_result; Phase 193.4b). The feedback + status
publishers keep their own profiles. Use
QoSProfile::services_default for the rclc-compatible default.
goal_callback: unsafe extern "C" fn(*const GoalId, *const u8, usize, *mut c_void) -> GoalResponse§cancel_callback: unsafe extern "C" fn(*const GoalId, GoalStatus, *mut c_void) -> CancelResponse§accepted_callback: Option<unsafe extern "C" fn(*const GoalId, *mut c_void)>§context: *mut c_void