This is an automated email from the ASF dual-hosted git repository. asf-gitbox-commits pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/qpid-proton.git
commit 29844e81ec8ba15ddac82cf61d4d54fed1c5893c Author: Andrew Stitcher <[email protected]> AuthorDate: Thu May 21 16:12:56 2026 -0400 PROTON-1442: Reorder messaging_handler callbacks to maintain ABI --- cpp/include/proton/messaging_handler.hpp | 63 ++++++++++++++++---------------- 1 file changed, 32 insertions(+), 31 deletions(-) diff --git a/cpp/include/proton/messaging_handler.hpp b/cpp/include/proton/messaging_handler.hpp index 0754b0c77..9baca0b72 100644 --- a/cpp/include/proton/messaging_handler.hpp +++ b/cpp/include/proton/messaging_handler.hpp @@ -172,37 +172,6 @@ PN_CPP_CLASS_EXTERN messaging_handler { /// The remote peer closed the session with an error condition. PN_CPP_EXTERN virtual void on_session_error(session&); - /// **Unsettled API** - Called when a local transaction is declared. - PN_CPP_EXTERN virtual void on_session_transaction_declared(session&); - - /// **Unsettled API** - Called when a local transaction is discharged successfully. - PN_CPP_EXTERN virtual void on_session_transaction_committed(session&); - - /// **Unsettled API** - Called when a local transaction is discharged unsuccessfully (aborted). - /// This is either due to an explicit abort or a failure during commit. - /// In either case any action taken under the transaction is as if it never - /// happened. - PN_CPP_EXTERN virtual void on_session_transaction_aborted(session&); - - /// **Unsettled API** - Called when a local transaction operation fails. - PN_CPP_EXTERN virtual void on_session_transaction_error(session&); - - /// **Unsettled API** - Called when a transactioned delivery is provisionally accepted. - /// This means that if the transaction successfully commits the delivery - /// will be accepted. If the transaction aborts the delivery will be - /// as if it never happened. - PN_CPP_EXTERN virtual void on_transactional_accept(tracker&); - - /// **Unsettled API** - Called when a transactioned delivery is provisionally rejected. - /// This means that if the transaction successfully commits the delivery - /// will be rejected. - PN_CPP_EXTERN virtual void on_transactional_reject(tracker&); - - /// **Unsettled API** - Called when a transactioned delivery is provisionally released. - /// This means that if the transaction successfully commits the delivery - /// will be released (including modifying the delivery count). - PN_CPP_EXTERN virtual void on_transactional_release(tracker&); - /// The remote peer opened the link. PN_CPP_EXTERN virtual void on_receiver_open(receiver&); @@ -269,6 +238,38 @@ PN_CPP_CLASS_EXTERN messaging_handler { /// Fallback error handling. PN_CPP_EXTERN virtual void on_error(const error_condition&); + + /// **Unsettled API** - Called when a local transaction is declared. + PN_CPP_EXTERN virtual void on_session_transaction_declared(session&); + + /// **Unsettled API** - Called when a local transaction is discharged successfully. + PN_CPP_EXTERN virtual void on_session_transaction_committed(session&); + + /// **Unsettled API** - Called when a local transaction is discharged unsuccessfully (aborted). + /// This is either due to an explicit abort or a failure during commit. + /// In either case any action taken under the transaction is as if it never + /// happened. + PN_CPP_EXTERN virtual void on_session_transaction_aborted(session&); + + /// **Unsettled API** - Called when a local transaction declare fails. + /// A failed transaction commit is reported as aborted, as it has the same effect. + PN_CPP_EXTERN virtual void on_session_transaction_error(session&); + + /// **Unsettled API** - Called when a transactioned delivery is provisionally accepted. + /// This means that if the transaction successfully commits the delivery + /// will be accepted. If the transaction aborts the delivery will be + /// as if it never happened. + PN_CPP_EXTERN virtual void on_transactional_accept(tracker&); + + /// **Unsettled API** - Called when a transactioned delivery is provisionally rejected. + /// This means that if the transaction successfully commits the delivery + /// will be rejected. + PN_CPP_EXTERN virtual void on_transactional_reject(tracker&); + + /// **Unsettled API** - Called when a transactioned delivery is provisionally released. + /// This means that if the transaction successfully commits the delivery + /// will be released (including modifying the delivery count). + PN_CPP_EXTERN virtual void on_transactional_release(tracker&); }; } // namespace proton --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
