LIVELINESS
Determines whether its corresponding Publisher is still active.
What it controls
How and when a Writer asserts that it is alive, and how long a Reader waits before reporting liveliness_lost.
- AUTOMATIC: The DomainParticipant asserts liveliness implicitly by periodical liveliness assertions.
- MANUAL_BY_PARTICIPANT: A single assertion from any entity within a DomainParticipant marks all of its Publishers as alive.
- MANUAL_BY_TOPIC: Each Publisher must explicitly assert its own liveliness by publishing HEARTBEAT samples or calling assert liveliness().
Key settings
| Field | Default | Mutability |
|---|---|---|
kind |
AUTOMATIC | Can not be changed at runtime |
lease_duration |
infinite | Can not be changed at runtime |
Compatibility role
Matching and timing — Writer offered liveliness kind and lease must satisfy Reader requirements (RxO). Distinguishes publisher process health from per-sample deadline monitoring.
When this conflicts
Liveliness takes part in the following QoS Guard rules. Each links to a full explanation with an example and a fix.
Related policies
Example
The LIVENS QoS can be used to verify whether the publishing process itself is still active, whereas the DEADLN QoS ensures the timely delivery of individual data samples. This policy enables a central monitoring system to automatically track the operational status of each robot. For instance, each robot may publish position and battery level via a Publisher. The central Subscriber is configured with kind set to automatic and lease duration set to 5 seconds, causing DDS to refresh liveliness every five seconds. If a signal is not received within the lease duration, a liveliness notification is triggered to indicate that the robot is inactive. The monitoring application can then respond by graying out the robot's icon on the map or issuing a warning.