Enum rmw_qos_durability_policy_e
Defined in File types.h
Enum Documentation
-
enum rmw_qos_durability_policy_e
QoS durability enumerations describing how samples persist.
Values:
-
enumerator RMW_QOS_POLICY_DURABILITY_SYSTEM_DEFAULT
Impplementation specific default.
-
enumerator RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL
The rmw publisher is responsible for persisting samples for “late-joining” subscribers.
-
enumerator RMW_QOS_POLICY_DURABILITY_VOLATILE
Samples are not persistent.
-
enumerator RMW_QOS_POLICY_DURABILITY_UNKNOWN
Durability policy has not yet been set.
-
enumerator RMW_QOS_POLICY_DURABILITY_BEST_AVAILABLE
Will match the majority of endpoints and use a transient local policy if possible.
A policy will be chosen at the time of creating a subscription or publisher. A transient local policy will by chosen if it matches with all discovered endpoints, otherwise a volatile policy will be chosen.
In the case that a volatile policy is chosen for a subscription, any messages sent before the subscription was created by transient local publishers will not be received.
The QoS policy reported by functions like
rmw_subscription_get_actual_qos
orrmw_publisher_get_actual_qos
may be best available, transient local, or volatile.Services and clients are not supported and default to the durability 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.
-
enumerator RMW_QOS_POLICY_DURABILITY_SYSTEM_DEFAULT