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

          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
          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?

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                Development