Asserting Liveliness

The assert_liveliness() operation can be used to manually assert the liveliness of the DataWriter without writing data. This operation is only useful if the kind of LIVELINESS QosPolicy is MANUAL_BY_PARTICIPANT or MANUAL_BY_TOPIC.

How DataReaders determine if DataWriters are alive is configured using the LIVELINESS QosPolicy. The lease_duration parameter of the LIVELINESS QosPolicy is a contract by the DataWriter to all of its matched DataReaders that it will send a packet within the time value of the lease_duration to state that it is still alive.

There are three ways to assert liveliness. One is to have Connext DDS itself send liveliness packets periodically when the kind of LIVELINESS QosPolicy is set to AUTOMATIC. The other two ways to assert liveliness, used when liveliness is set to MANUAL, are to call write() to send data or to call the assert_liveliness() operation without sending data.

© 2018 RTI