DDS 1.1 RTF Avatar
  1. OMG Issue

DDS11 — Clarify meaning of LivelinessChangedStatus fields and LIVELINESS le

  • Key: DDS11-114
  • Legacy Issue Number: 8572
  • Status: closed  
  • Source: Real-Time Innovations ( Dr. Gerardo Pardo-Castellote, Ph.D.)
  • Summary:

    (R#132) Clarify meaning of LivelinessChangedStatus fields and LIVELINESS lease_duration

    Summary:

    The specification of LivelinessChangedStatus doesn't explain what the terms "active" and "inactive" mean nor what change is expected when various events occur. For example, the following actions should be accounted for:
    · Loss of liveliness by a previously alive writer
    · Re-assertion of liveliness on a previously lost writer
    · Normal deletion of an alive writer
    · Normal deletion of a not-alive writer
    · Assertion of liveliness on a new writer
    · A new writer is discovered (i.e. on_publication_match) but its liveliness has not yet been asserted

    The specification is also not clear about the usage of a DataReader's LIVELINESS lease_duration it is not clear whether this field is used solely for QoS compatibility comparison with matching remote writers or if it is also the rate at which the reader will update its LivelinessChangedStatus.

    Proposed Resolution:

    Change "active" to "alive" and "inactive" to "not_alive" in the LivelinessChangedStatus field names.

    In response to the list of events above:
    · Previously alive writer is lost: alive_count_change == -1, not_alive_count_change = 1
    · Lost writer re-asserts liveliness: alive_count_change == 1, not_alive_count_change == -1
    · Normal deletion of alive writer: alive_count_change == -1, not_alive_count_change == 0
    · Normal deletion of not alive writer: alive_count_change == 0, not_alive_count_change == -1
    · New writer asserts liveliness for first time: alive_count_change == 1, not_alive_count_change == 0
    · New writer but hasn't yet asserted liveliness: LivelinessChangedStatus is not changed

    Specify that the information communicated by a reader's LivelinessChangedStatus is out of date by no more than a lease_duration. That is, the reader commits to update its LivelinessChangedStatus if necessary at least once during its lease_duration, although it may update more often if it chooses.

    Proposed Revised Text:

    Add an additional paragraph to the end of section 2.1.3.10 LIVELINESS:

    The information communicated by a DataReader's LivelinessChangedStatus is out of date by no more than a single lease_duration. That is, the reader commits to updating its LivelinessChangedStatus if necessary at least once during each lease_duration, although it is permitted to update more often.

    Change active_count to alive_count, inactive_count to not_alive_count, active_count_change to alive_count_change, and inactive_count_change to not_alive_count_change in figure 2-13 on page 2-117.

    The rows for the LivelinessChangedStatus fields in the table on page 2-118 should be as follows:

    alive_count The total number of currently active DataWriters that write the Topic read by the DataReader. This count increases when a newly matched DataWriter asserts its liveliness for the first time or when a DataWriter previously considered to be not alive reasserts its liveliness. The count decreases when a DataWriter considered alive fails to assert its liveliness and becomes not alive, whether because it was deleted normally or for some other reason.

    not_alive_count The total count of currently DataWriters that write the Topic read by the DataReader that are no longer asserting their liveliness. This count increases when a DataWriter considered alive fails to assert its liveliness and becomes not alive for some reason other than the normal deletion of that DataWriter. It decreases when a previously not alive DataWriter either reasserts its liveliness or is deleted normally.

    alive_count_change The change in the alive_count since the last time the listener was called or the status was read.

    not_alive_count_change The change in the not_alive_count since the last time the listener was called or the status was read.

    Change active_count to alive_count, inactive_count to not_alive_count, active_count_change to alive_count_change, and inactive_count_change to not_alive_count_change in the IDL PSM on page 2-141.

  • Reported: DDS 1.0 — Mon, 14 Mar 2005 05:00 GMT
  • Disposition: Resolved — DDS 1.1
  • Disposition Summary:

    No Data Available

  • Updated: Fri, 6 Mar 2015 20:58 GMT