[asterisk-scf-commits] asterisk-scf/integration/slice.git branch "retry_deux" updated.

Commits to the Asterisk SCF project code repositories asterisk-scf-commits at lists.digium.com
Thu Feb 16 18:21:28 CST 2012


branch "retry_deux" has been updated
       via  35ea3196597ff1f1eded772d860d32f1a84aac24 (commit)
      from  b416aee10a7fc5fd57bad1eeadcf2088eb4bee79 (commit)

Summary of changes:
 slice/AsteriskSCF/System/OperationsIf.ice |   18 ++++++++++++++----
 1 files changed, 14 insertions(+), 4 deletions(-)


- Log -----------------------------------------------------------------
commit 35ea3196597ff1f1eded772d860d32f1a84aac24
Author: Ken Hunt <ken.hunt at digium.com>
Date:   Thu Feb 16 18:21:26 2012 -0600

    Adding transaction id.

diff --git a/slice/AsteriskSCF/System/OperationsIf.ice b/slice/AsteriskSCF/System/OperationsIf.ice
index cbbdf94..88edfb7 100644
--- a/slice/AsteriskSCF/System/OperationsIf.ice
+++ b/slice/AsteriskSCF/System/OperationsIf.ice
@@ -63,18 +63,28 @@ exception OperationCallCancelledException
 /**
  *
  * An abstraction of a logical operational context. May be used to identify a group of operations as being related to
- * each other, allowing a normally non-idempotent operation to be made idempotent, etc. Interface methods that accept
- * an OperationContext instance may throw a OperationCallCancelledException.
+ * each other, allowing a normally non-idempotent operation to retried as if it were idempotent. A servant receiving 
+ * an OperationContext as an argument to an operation should be prepared to detect when the call is actually a retry 
+ * of a previously received call. This implies:
+ *  - Returning the same return value (or out parameters) for each instance of the call. 
+ *  - The component must otherwise behave as if the operation had only been called once.
  *
- * Note: possible uses of extension include rudimentary transactional context, etc.
+ * Interface methods that accept an OperationContext instance may throw a OperationCallCancelledException.
  *
  **/
 unsliceable class OperationContext
 {
     /**
-     * A relatively unique identifier.
+     * Identifies a specific invocation of an operation. This value is the same
+     * across retries of the operation. 
      */
     string id;
+
+    /** 
+     * Can be common across a group of operations that are logically responding to the
+     * the same external event. 
+     */
+    string transactionId;
 };
 
 

-----------------------------------------------------------------------


-- 
asterisk-scf/integration/slice.git



More information about the asterisk-scf-commits mailing list