qpid-proton mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PROTON-865) C++ reactor client binding
Date Mon, 31 Aug 2015 17:33:45 GMT

    [ https://issues.apache.org/jira/browse/PROTON-865?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14723746#comment-14723746

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++ version.
- std:: and boost:: smart pointers supported as alternative to proton::counted_ptr.
- 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
>   https://github.com/apache/qpid-proton/pull/18
> Ongoing work is proceeding in my github account in branch cpp-work
>   https://github.com/cliffjansen/qpid-proton/tree/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

View raw message