Function rcl_action_count_servers

Function Documentation

rcl_ret_t rcl_action_count_servers(const rcl_node_t *node, const char *action_name, size_t *count)

Return the number of action servers for a given action name.

The node parameter must point to a valid node.

The action_name parameter must not be NULL.

The count parameter must not be NULL. The count parameter is the output for this function and will be set.

This function counts the number of action servers for the given action name across all nodes known in the ROS graph.

The action name is not automatically remapped by this function. If there is a server created with action name foo and remap rule foo:=bar then calling this with action_name set to bar will return a count of 1, and with action_name set to foo will return a count of 0.

Attribute

Adherence

Allocates Memory

Yes

Thread-Safe

No

Uses Atomics

No

Lock-Free

Maybe [1]

[1] implementation may need to protect the data structure with a lock

Parameters:
  • node[in] the handle to the node being used to query the ROS graph

  • action_name[in] the name of the action in question

  • count[out] number of action servers for the given action

Returns:

RCL_RET_OK if the query was successful, or

Returns:

RCL_RET_NODE_INVALID if the node is invalid, or

Returns:

RCL_RET_INVALID_ARGUMENT if any arguments are invalid, or

Returns:

RCL_RET_ERROR if an unspecified error occurs.