Enum rmw_qos_liveliness_policy_e

Enum Documentation

enum rmw_qos_liveliness_policy_e

QoS liveliness enumerations that describe a publisher’s reporting policy for its alive status. For a subscriber, these are its requirements for its topic’s publishers.

Values:

enumerator RMW_QOS_POLICY_LIVELINESS_SYSTEM_DEFAULT

Implementation specific default.

enumerator RMW_QOS_POLICY_LIVELINESS_AUTOMATIC

The signal that establishes a Topic is alive comes from the ROS rmw layer.

enumerator RMW_DECLARE_DEPRECATED

Explicitly asserting node liveliness is required in this case. This option is deprecated, use RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_TOPIC if your application requires to assert liveliness manually.

enumerator RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_TOPIC

The signal that establishes a Topic is alive is at the Topic level. Only publishing a message on the Topic or an explicit signal from the application to assert liveliness on the Topic will mark the Topic as being alive.

enumerator RMW_QOS_POLICY_LIVELINESS_UNKNOWN

Liveliness policy has not yet been set.

enumerator RMW_QOS_POLICY_LIVELINESS_BEST_AVAILABLE

Will match the majority of endpoints and use a manual by topic policy if possible.

A policy will be chosen at the time of creating a subscription or publisher. A manual by topic policy will by chosen if it matches with all discovered endpoints, otherwise an automatic policy will be chosen.

The QoS policy reported by functions like rmw_subscription_get_actual_qos or rmw_publisher_get_actual_qos may be best available, automatic, or manual by topic.

Services and clients are not supported and default to the liveliness value in rmw_qos_profile_services_default.

The middleware is not expected to update the policy after creating a subscription or publisher, even if the chosen policy is incompatible with newly discovered endpoints. Therefore, this policy should be used with care since non-deterministic behavior can occur due to races with discovery.