Uploaded image for project: 'Qpid Proton'
  1. Qpid Proton
  2. PROTON-1987

[cpp] Encode/decode all legal message body types.

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: proton-c-0.26.0
    • Fix Version/s: None
    • Component/s: cpp-binding
    • Labels:
      None

      Description

      From AMQP spec http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#section-message-format

      The body consists of one of the following three choices:

      1. one or more data sections,
      2. one or more amqp-sequence sections,
      3. or a single amqp-value section.

      It actually is currently possible to encode and decode all these body formats using a combination of AMQP value types and the message::inferred() flag. However, they way it works is not intuitive, and it is easy to encode an illegal body format (e.g. mix section types) which won't be detected till runtime.

      A better API should:

      • Make it easy to set/determine the body encoding style.
      • Type safe API that can only encode legal body formats.

       

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              aconway Alan Conway
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: