DDS 1.1 RTF Avatar
  1. OMG Issue

DDS11 — (R#181) Clarify listener and mask behavior with respect to built-in entitie

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

    This issue subsumes two related issues.

    · Presumably, listener callbacks pertaining to built-in entities should fall back to the DomainParticipantListener of their containing DomainParticipant in the usual way in the event that those built-in entities have not requested to receive the callbacks themselves. However, this behavior may prove inconvenient in practice: users-even those completely uninterested in built-in entities-must recognize the callbacks pertaining to those entities and deal with them in some way whenever they install a participant listener. Implementers are also constrained, as they will find it difficult to ensure the correct listener behavior while preserving the freedom to create built-in entities on demand.

    · The specification does not state the behavior of installing a nil listener or what mask values are acceptable in that case.
    Proposed Resolution:

    Installing a nil listener should be equivalent to installing a listener that does nothing. It is acceptable to provide a mask with a nil listener; in that case, no callback will be delivered to the entity or to its containing entities.

    A DomainParticipant's built-in Subscriber and all of its built-in Topics should by default have nil listeners with all mask bits set. Therefore their callbacks will no propagate back to the DomainParticipantListener unless the user explicitly calls set_listener on them.

    Proposed Revised Text:

    Insert a new paragraph after the existing first paragraph of section 2.1.2.1.1.3 set_listener:

    It is permitted to set a nil listener with any listener mask; it is behaviorally equivalent to installing a listener that does nothing.

    Append a new sentence to the final bullet in the list in section 2.1.4.3.1:

    Any statuses appearing in the mask associated with a nil listener will neither be dispatched to the entity itself nor propagated to its containing entities.

    Insert the following paragraph immediately following the table of built-in entity QoS on page 2-129:

    Built-in entities have default listener settings as well. A DomainParticipant's built-in Subscriber and all of its built-in Topics have nil listeners with all statuses appearing in their listener masks. The built-in DataReaders have nil listeners with no statuses in their masks.

  • 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