Skip to main content

action_channel_type

Function action_channel_type 

Source
pub fn action_channel_type<const N: usize>(
    action_type: &str,
    channel: &str,
) -> String<N>
Expand description

The per-channel DDS type name for a RAW-registered action server.

The typed path derives these from A::SendGoalRequest::TYPE_NAME via [action_service_base_type]. The raw path (register_action_server_raw*) has only the BARE action type, so it must construct them — and until phase-338 W3 it did not, advertising …Fibonacci_ on send_goal / get_result / feedback where ROS 2 expects …Fibonacci_SendGoal_, …Fibonacci_GetResult_ and …Fibonacci_FeedbackMessage_. The type name is baked into the keyexpr, so a client’s query never matched the server’s queryable and every goal timed out with Transport(Timeout) — exactly the failure [action_service_base_type]’s own doc warns about, on the other registration path.

action_type is DDS-form and ends in _ (…::dds_::Fibonacci_); the result replaces that suffix with _<Channel>_. Returns the bare type unchanged if it has an unexpected shape, matching the typed path’s fallback.