The received delivery-state does not make it clear what the implications of unset fields are

    • Type: Improvement
    • Resolution: Fixed
    • Priority: Minor
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Environment:

      N/A

    • Hide

      Proposal (1): We add a default="0" to both Received.section-number and Received.section-offset. This could be consider a very minor wire change. Of course, sending a received with Received.section-offset defaulted seems to make little sense, but is permissible (I know there is a section, but I have not got a record of any bytes in it). These defaults are unlikely to result in any wire efficiency savings unless the order of the fields is reversed (which is not a change I propose). In many cases, 'section-number == 0' will be the Header section, further reducing the likelihood of any wire efficiency saving.

      Proposal (2): We make both of these fields mandatory="true". This would seem to reflect the usage of Received.
      There has been discussion in the past about not doing this to allow possible other meanings for Received, perhaps in future versions of the spec. However, it would seem more prudent to do that in any new revision with a new delivery-state.

      Proposal (3): We leave the XML definitions as is, and explicitly bar unset values. This is, though, contrary to the spirit throughout the rest of the spec, and prevents fail-fast detection at the lowest level (ie the codec) for implementers. I am not in favour of this proposal, but lay out it out for completeness.

      Show
      Proposal (1): We add a default="0" to both Received.section-number and Received.section-offset. This could be consider a very minor wire change. Of course, sending a received with Received.section-offset defaulted seems to make little sense, but is permissible (I know there is a section, but I have not got a record of any bytes in it). These defaults are unlikely to result in any wire efficiency savings unless the order of the fields is reversed (which is not a change I propose). In many cases, 'section-number == 0' will be the Header section, further reducing the likelihood of any wire efficiency saving. Proposal (2): We make both of these fields mandatory="true". This would seem to reflect the usage of Received. There has been discussion in the past about not doing this to allow possible other meanings for Received, perhaps in future versions of the spec. However, it would seem more prudent to do that in any new revision with a new delivery-state. Proposal (3): We leave the XML definitions as is, and explicitly bar unset values. This is, though, contrary to the spirit throughout the rest of the spec, and prevents fail-fast detection at the lowest level (ie the codec) for implementers. I am not in favour of this proposal, but lay out it out for completeness.

      The received delivery-state does not make it clear what the implications of unset fields are

      Received.section-number does not make it explicit what the implication of an unset field is;
      Received.section-offset does not make it explicit what the implication of an unset field is;

      The Received delivery-state is not an useful construct to send when either of these fields is unset as present. The current wording implying that the terminus does not consider the delivery partially transferred if either one or both of these fields is unset. See proposal for some possible resolutions.

            Assignee:
            Rob Godfrey (Inactive)
            Reporter:
            Raphael Cohen (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: