----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/39427/ -----------------------------------------------------------
(Updated Oct. 21, 2015, 5:51 p.m.) Review request for qpid and Gordon Sim. Repository: qpid Description (updated) ------- WIP This patch attempts to keep the proton link active until there is no more pending work that can be completed. It consists of two changes: 1) Move ownership of the pn_link_t resource into its respective Incoming/Outgoing instance. The Incoming/Outgoing instance pn_link_free's the link on destruction 2) establish a detach protocol between the links and the owning Session. When the peer sends a DETACH, the corresponding link is notified of the detach. Once that happens, it must complete any outstanding work (eg. send pending msgs w/remaining credit, settle incoming deliveries). Once all the work is finished, the Session can drop the shared_ptr to the Out/In link object and it's destructor will be called. This is based on my understanding of the existing code - which may be entirely wrong. Diffs ----- trunk/qpid/cpp/src/qpid/broker/amqp/Connection.cpp 1708221 trunk/qpid/cpp/src/qpid/broker/amqp/Incoming.h 1708221 trunk/qpid/cpp/src/qpid/broker/amqp/Incoming.cpp 1708221 trunk/qpid/cpp/src/qpid/broker/amqp/Outgoing.h 1708221 trunk/qpid/cpp/src/qpid/broker/amqp/Outgoing.cpp 1708221 trunk/qpid/cpp/src/qpid/broker/amqp/Relay.h 1708221 trunk/qpid/cpp/src/qpid/broker/amqp/Relay.cpp 1708221 trunk/qpid/cpp/src/qpid/broker/amqp/Session.h 1708221 trunk/qpid/cpp/src/qpid/broker/amqp/Session.cpp 1708221 Diff: https://reviews.apache.org/r/39427/diff/ Testing ------- The interopt tests pass on the system they previously failed on. I'm still seeing failures in the ha_tests which may be related to this patch. Just sending it out for early feedback. Thanks, Kenneth Giusti
