DDS 1.2 RTF Avatar
  1. OMG Issue

DDS12 — Clarify valid handle when calling write()

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

    In Section 2.1.2.4.2.11 the write() operation will return PRECONDITION_NOT_MET if the handle is "valid but does not correspond to the given instance". Further, it goes on to state that "in the case the handle is invalid, the behavior is in general unspecified, but if detectable by a DDS implementation, the returned error-code will be 'BAD_PARAMETER'." We should clarify what is "valid" versus "invalid".
    Valid means the handle corresponds to a registered instance.

    Proposed Resolution:
    Clarify that valid means the handle corresponds to a registered instance.
    When the handle is valid and does not correspond to the given instance should be up to the implementation to be able to detect this or not.

    Proposed Revised Text:

    Section 2.1.2.4.2.11 write
    Remove the last paragraph that reads "In case the provided handle is valid"

    Add a new paragraph directly following the one that reads "If handle is any value other than HANDLE_NIL" as follows:
    In case the provided handle is valid, i.e. corresponds to an existing instance, but does not correspond to same instance referred by the 'data' parameter, the behavior is in general unspecified, but if detectable by the Service implementation, the return error-code will be 'PRECONDITION_NOT_MET'. In case the handle is invalid, the behavior is in general unspecified, but if detectable the returned error-code will be 'BAD_PARAMETER'.

    Section 2.1.2.4.2.13 dispose
    Replace the next to last paragraph that reads "In case the provided handle is valid."
    With the same paragraph above:
    In case the provided handle is valid, i.e corresponds to an existing instance, but does not correspond to same instance referred by the 'data' parameter, the behavior is in general unspecified, but if detectable by the Service implementation, the return error-code will be 'PRECONDITION_NOT_MET'. In case the handle is invalid, the behavior is in general unspecified, but if detectable the returned error-code will be 'BAD_PARAMETER'.

  • Reported: DDS 1.1 — Sun, 2 Apr 2006 05:00 GMT
  • Disposition: Resolved — DDS 1.2
  • Disposition Summary:

    see above

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