[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