DDS-PSM-Cxx 1.0b2 FTF Avatar
  1. OMG Issue

DDSPSMC — factory methods on the "parents" (e.g. create_topic, create_data_writer, etc.)

  • Key: DDSPSMC-2
  • Legacy Issue Number: 15967
  • Status: closed  
  • Source: ZettaScale Technology ( Angelo Corsaro, PhD.)
  • Summary:

    The changes introduced in the final submission to support factory methods on
    the "parents" (e.g. create_topic, create_data_writer, etc.) has introduced a
    few issues.

    a. Reference types are not created in a uniform way. In essence,
    DomainParticipant, Subscriber, Publisher, DataReader and DataWriter
    types are instantiated using a different syntax than that used by
    WaitSets or Conditions. This is unfortunate as it reduces the
    consistency of the API.

    b. To eliminate the circular dependencies induced by the factory methods
    the API has to implement a few "creative" solutions that impact
    clarity as well as robustness. All of a sudden it is relatively hard
    to find where is defined what and also the include systems is very
    fragile, e.g. one can break the API very easily by mistakenly changing
    one include order.

    The changes suggested to the submission is to equip each
    Reference type with a factory method called "create". This not only allows to
    remove circular references, but it also allows for an organization of the API
    that is more robust and easier to follow. Furthermore, it ensures that
    all references are created in an uniform manner.

  • Reported: DDS-PSM-Cxx 1.0b1 — Mon, 17 Jan 2011 05:00 GMT
  • Disposition: Resolved — DDS-PSM-Cxx 1.0b2
  • Disposition Summary:

    The dds-psm-cxx API has been updated to remove the circular dependencies introduced by factory methods. Along with removing circular dependencies the API has been refactored to ensure that no forward includes are needed thus maintaining local, and thus clear and visible, the set of dependencies for each file. The necessary changes have been applied to all the DDS entities, such as DomainParticipant, Publisher and Subscriber.
    Examples in the specification have been updated to reflect the API change

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