Function rmw_topic_endpoint_info_set_node_namespace
Defined in File topic_endpoint_info.h
Function Documentation
-
rmw_ret_t rmw_topic_endpoint_info_set_node_namespace(rmw_topic_endpoint_info_t *topic_endpoint_info, const char *node_namespace, rcutils_allocator_t *allocator)
Set the node namespace in the given topic endpoint info data structure.
Allocates memory and copies the value of the
node_namespace
argument to set the data structure’snode_namespace
member.Attribute
Adherence
Allocates Memory
Yes
Thread-Safe
No
Uses Atomics
No
Lock-Free
Yes
Remark
This function sets the RMW error state on failure.
- Thread-safety
Setting a member is a reentrant procedure, but:
Access to the topic endpoint info data structure is not synchronized. It is not safe to read or write the
node_namespace
member of the giventopic_endpoint
while setting it.Access to C-style string arguments is read-only but it is not synchronized. Concurrent
node_namespace
reads are safe, but concurrent reads and writes are not.The default allocators are thread-safe objects, but any custom
allocator
may not be. Check your allocator documentation for further reference.
- Parameters:
topic_endpoint_info – [inout] Data structure to be populated.
node_namespace – [in] Node namespace to be set.
allocator – [in] Allocator to be used.
- Pre:
Given
node_namespace
is a valid C-style string i.e. NULL terminated.- Returns:
RMW_RET_OK
if successful, or- Returns:
RMW_RET_INVALID_ARGUMENT
iftopic_endpoint_info
is NULL, or- Returns:
RMW_RET_INVALID_ARGUMENT
ifnode_namespace
is NULL, or- Returns:
RMW_RET_BAD_ALLOC
if memory allocation fails, or- Returns:
RMW_RET_ERROR
when an unspecified error occurs.