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

DDSPSMCF2 — Useless ReaderQuery on DataReader read/take

  • Key: DDSPSMCF2-3
  • Legacy Issue Number: 17066
  • Status: closed  
  • Source: ZettaScale Technology ( Angelo Corsaro, PhD.)
  • Summary:

    The ReaderQuery class bundles together the read-state as well as potential read conditions. However the read-condition is not always present. This leads to code that needs to check all the time wether something is set or not, which is not only very elegant/efficient but it is also error prone

    Resolution
    ---------------
    Remove the ReaderQuery and let the read API deal, through proper operations overloads, with ReadState and potential ReadConditions. This way it will always be clear if a read/take is with a condition or not both for the client code and the DDS implementor.

  • Reported: DDS-PSM-Cxx 1.0b2 — Thu, 26 Jan 2012 05:00 GMT
  • Disposition: Resolved — DDS-PSM-Cxx 1.0
  • Disposition Summary:

    The DataReader API has been updated to provide the proper read/take overloads and remove the useless ReaderQuery. The concept of a Selector has been introduced to orchestrate complex read/take operations requiring selection based on state, content and instance. The new API is orthogonal, simple and composable. Below an example usage of the selector API:

    LoanedSamples<Foo> ls =
    dr.select()
    .instance(handle)
    . content(query)
    .take();

    This example takes the samples matching the query q for the instance with given handle.

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