Function rmw_dds_common::qos_profile_check_compatible
Defined in File qos.hpp
Function Documentation
-
rmw_ret_t rmw_dds_common::qos_profile_check_compatible(const rmw_qos_profile_t publisher_qos, const rmw_qos_profile_t subscription_qos, rmw_qos_compatibility_type_t *compatibility, char *reason, size_t reason_size)
Check if two QoS profiles are compatible.
Two QoS profiles are compatible if a publisher and subcription using the QoS policies can communicate with each other.
This implements the rmw API rmw_qos_profile_check_compatible(). See rmw_qos_profile_check_compatible() for more information.
- Parameters
publisher_qos – [in] The QoS profile used for a publisher.
subscription_qos – [in] The QoS profile used for a subscription.
compatibility – [out]
RMW_QOS_COMPATIBILITY_OK
if the QoS profiles are compatible, orRMW_QOS_COMPATIBILITY_WARNING
if the QoS profiles might be compatible, orRMW_QOS_COMPATIBILITY_ERROR
if the QoS profiles are not compatible.reason – [out] A detailed reason for a QoS incompatibility or potential incompatibility. Must be pre-allocated by the caller. This parameter is optional and may be set to
nullptr
if the reason information is not desired.reason_size – [in] Size of the string buffer
reason
, if one is provided. Ifreason
isnullptr
, then this parameter must be zero.
- Returns
RMW_RET_OK
if the check was successful, or- Returns
RMW_RET_INVALID_ARGUMENT
ifcompatiblity
isnullptr
, or- Returns
RMW_RET_INVALID_ARGUMENT
ifreason
isnullptr
andreason_size
is not zero, or- Returns
RMW_RET_ERROR
if there is an unexpected error.