Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.8
    • Component/s: C++ Client
    • Labels:
      None

      Description

      Attached a proposal for a high-level C++ client API. The existing client::Session class will be renamed Session_0_10 and remain as an internal direct mapping of the 0_10 protocol. The new API is just a thin layer over Session_0_10 providing:

      • improved usability
      • abstraction from specific protocol version

      The usability improvements include

      • Self-contained classes reflecting domain concepts (Queue, Exchange, Subscriber, Subscription)
      • simplification of obscure (and probably change-prone protocol) areas: E.g. apply a simple flow control policy object rather than fiddling with session.MessageFlow functions.
      • Better memory safety, simpler thread management (these last points could be integrated early into the existing API.)

      Comments are most welcome, lets hone it before we implement it.

        Issue Links

          Activity

          Justin Ross made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Gordon Sim made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Fix Version/s 0.8 [ 12315477 ]
          Resolution Fixed [ 1 ]
          Hide
          Andrew Stitcher added a comment -

          Boost nneds to be eliminated as a dependency for clients of the API

          Show
          Andrew Stitcher added a comment - Boost nneds to be eliminated as a dependency for clients of the API
          Andrew Stitcher made changes -
          Link This issue incorporates QPID-1780 [ QPID-1780 ]
          Gordon Sim made changes -
          Assignee Gordon Sim [ gsim ]
          Marnie McCormack made changes -
          Fix Version/s M4 [ 12313279 ]
          Gordon Sim made changes -
          Issue Type Bug [ 1 ] New Feature [ 2 ]
          Aidan Skinner made changes -
          Fix Version/s M4 [ 12313279 ]
          Gavin made changes -
          Workflow QPid [ 12437952 ] QPid Workflow [ 12440342 ]
          Gavin made changes -
          Workflow jira [ 12415909 ] QPid [ 12437952 ]
          Hide
          Rafael H. Schloming added a comment -

          How specific do you think this is to C++? Do you have any interest in documenting this as a cross language API guideline?

          Show
          Rafael H. Schloming added a comment - How specific do you think this is to C++? Do you have any interest in documenting this as a cross language API guideline?
          Alan Conway made changes -
          Link This issue is duplicated by QPID-342 [ QPID-342 ]
          Alan Conway made changes -
          Field Original Value New Value
          Attachment CppClientApi.cpp [ 12368518 ]
          Alan Conway created issue -

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                Development