You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by Alan Conway <ac...@redhat.com> on 2015/08/12 20:59:20 UTC
Review Request 37408: PROTON-865: Replace proton_handler with simpler
pointer-semantic wrapper template.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/37408/
-----------------------------------------------------------
Review request for qpid, Andrew Stitcher and Cliff Jansen.
Repository: qpid-proton-git
Description
-------
Note this diff is from cjansen_cpp_client: bc1491c PROTON-865: Add valgrind to c++ example tests. Note presently fails.
See also: https://reviews.apache.org/r/37217/
Template proton::wrapper<pn_foo_t> simply wraps a pn_foo_t*. Derived classes
such as link, terminus etc. just provide C++ convenience wrapper functions.
Wrappers are passed by value, like pointers, not by reference.
Exception 1: proton::message has value semantics (copy the message) and owns it's
pn_message_t* but still provides access to the underlying pointer. Functions
returning a message return a message&.
TODO: return by ref is ugly, needs move semantics on C++11. Arguably should be
a plain wrapper<> and provide value semantics in separate class?
Exception 2: proton::connection - TODO.
Diffs
-----
examples/cpp/client.cpp PRE-CREATION
proton-c/bindings/cpp/include/proton/acceptor.hpp PRE-CREATION
proton-c/bindings/cpp/include/proton/blocking_sender.hpp PRE-CREATION
proton-c/bindings/cpp/include/proton/delivery.hpp PRE-CREATION
proton-c/bindings/cpp/include/proton/handle.hpp PRE-CREATION
proton-c/bindings/cpp/include/proton/link.hpp PRE-CREATION
proton-c/bindings/cpp/include/proton/message.hpp PRE-CREATION
proton-c/bindings/cpp/include/proton/messaging_adapter.hpp PRE-CREATION
proton-c/bindings/cpp/include/proton/proton_handle.hpp PRE-CREATION
proton-c/bindings/cpp/include/proton/receiver.hpp PRE-CREATION
proton-c/bindings/cpp/include/proton/sender.hpp PRE-CREATION
proton-c/bindings/cpp/include/proton/session.hpp PRE-CREATION
proton-c/bindings/cpp/include/proton/terminus.hpp PRE-CREATION
proton-c/bindings/cpp/include/proton/url.hpp PRE-CREATION
proton-c/bindings/cpp/include/proton/wrapper.hpp PRE-CREATION
proton-c/bindings/cpp/src/acceptor.cpp PRE-CREATION
proton-c/bindings/cpp/src/acking.cpp PRE-CREATION
proton-c/bindings/cpp/src/blocking_connection.cpp PRE-CREATION
proton-c/bindings/cpp/src/blocking_link.cpp PRE-CREATION
proton-c/bindings/cpp/src/blocking_receiver.cpp PRE-CREATION
proton-c/bindings/cpp/src/blocking_sender.cpp PRE-CREATION
proton-c/bindings/cpp/src/container.cpp PRE-CREATION
proton-c/bindings/cpp/src/container_impl.cpp PRE-CREATION
proton-c/bindings/cpp/src/contexts.hpp PRE-CREATION
proton-c/bindings/cpp/src/data.cpp PRE-CREATION
proton-c/bindings/cpp/src/delivery.cpp PRE-CREATION
proton-c/bindings/cpp/src/event.cpp PRE-CREATION
proton-c/bindings/cpp/src/fetcher.cpp PRE-CREATION
proton-c/bindings/cpp/src/link.cpp PRE-CREATION
proton-c/bindings/cpp/src/message.cpp PRE-CREATION
proton-c/bindings/cpp/src/messaging_event.cpp PRE-CREATION
proton-c/bindings/cpp/src/proton_bits.hpp PRE-CREATION
proton-c/bindings/cpp/src/proton_bits.cpp PRE-CREATION
proton-c/bindings/cpp/src/proton_event.cpp PRE-CREATION
proton-c/bindings/cpp/src/proton_impl_ref.hpp PRE-CREATION
proton-c/bindings/cpp/src/receiver.cpp PRE-CREATION
proton-c/bindings/cpp/src/sender.cpp PRE-CREATION
proton-c/bindings/cpp/src/session.cpp PRE-CREATION
proton-c/bindings/cpp/src/sync_request_response.cpp PRE-CREATION
proton-c/bindings/cpp/src/terminus.cpp PRE-CREATION
proton-c/include/proton/link.h d9ddca4a908d4c9aa254ac4f0ca21b4104a06b59
Diff: https://reviews.apache.org/r/37408/diff/
Testing
-------
Passes auto-tests without valgrind. valgrind fails are same as on cjansen_cpp_client.
Thanks,
Alan Conway