ASF subversion and git services commented on PROTON-865:
Commit 9bb9c442c3b83df249c2da7411ec74128f27e6b4 in qpid-proton's branch
refs/heads/cjansen-cpp-client from [~aconway]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=9bb9c44 ]
PROTON-865: 0-overhead facades, reference counting and smart ptr support.
See proton/facade.hpp doc comments for details. The highlights:
- 0 overhead facade classes, facade pointers point directly at C structs.
- proton::counted_ptr for automated refcounting of proton objects in any C++
- std:: and boost:: smart pointers supported as alternative to
- APIs take/return foo& for facade foo, facade can convert to smart pointer.
Tested with g++ and clang++ in c++03 and c++11 mode. Not tested on windows.
This is simpler and more obvious than the proposal floated on the proton list
but has essentially the same properties.
> C++ reactor client binding
> Key: PROTON-865
> URL: https://issues.apache.org/jira/browse/PROTON-865
> Project: Qpid Proton
> Issue Type: New Feature
> Environment: C++
> Reporter: Cliff Jansen
> Assignee: Cliff Jansen
> This JIRA tracks initial work on a C++ binding to the Proton reactor event
> based model with an eye to providing an API very similar to the python
> client. As stated on the Proton list, the broad goals are:
> to make it easy to write simple programs
> natural to build out more complicated ones
> very similar API to the Python client
> lean and performant
> The initial introduction with accompanying HelloWorld can be found at
> Ongoing work is proceeding in my github account in branch cpp-work
> commit 1453f57ca3f446450ef654505548f1947cb7a0f1 adds listener support,
> exceptions and a logging interface.
> The initial implementation will provide no thread safety guarantees, but the
> bone structure should allow that to be added later with no API change. I
> still hold out hope of eventually allowing multiple threads processing
> separate connections concurrently.
This message was sent by Atlassian JIRA