[
https://issues.apache.org/jira/browse/PROTON-1241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15400151#comment-15400151
]
ASF subversion and git services commented on PROTON-1241:
---------------------------------------------------------
Commit acb4aebfc78fa17b88f2b63a0405818a92f50aec in qpid-proton's branch
refs/heads/master from [~astitcher]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=acb4aeb ]
PROTON-1241: [C++ binding] Move ownership chain of messaging_handler &
messaging_adapter
- messaging_handler now has no data members
- messaging_adapters are now owned by the container_impl
They are kept in a list and are auto deleted when the container_impl is
deleted
> proton::messaging_handler is not copyable (because it contains a
> pn_unique_ptr)
> -------------------------------------------------------------------------------
>
> Key: PROTON-1241
> URL: https://issues.apache.org/jira/browse/PROTON-1241
> Project: Qpid Proton
> Issue Type: Bug
> Components: cpp-binding
> Reporter: Andrew Stitcher
> Assignee: Cliff Jansen
> Fix For: 0.14.0
>
>
> One fundamental of the Proton C++ API is that the user supplies their own
> handler class.
> We should strive in our implementation to limit the API user as little as
> possible. Unfortunately , because of some historical implementation decisions
> the messaging_handler class contains a single member which is not copyable
> (this is a unique_ptr to the associated internal messaging_adapter).
> This stops the user being able to natural things with her own classes like:
> {noformat}
> class MyHandler: public messaging_handler {
> ...
> }
> ...
> auto h = MyHandler{};
> ...
> Myhandler g;
> auto i = g;
> {noformat}
> The user knows what she wants to do with her classes and there is no real
> intrinsic requirement for the messaging_handler to keep hold of a
> messaging_adapter. So we need to get out of the users way and remove the
> pn_unique_ptr from messaging_handler.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]