Skip to content

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.

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.