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]

Reply via email to