diff options
Diffstat (limited to 'lib/cosTransactions/doc/src/CosTransactions_Resource.xml')
-rw-r--r-- | lib/cosTransactions/doc/src/CosTransactions_Resource.xml | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/lib/cosTransactions/doc/src/CosTransactions_Resource.xml b/lib/cosTransactions/doc/src/CosTransactions_Resource.xml new file mode 100644 index 0000000000..1f091a5092 --- /dev/null +++ b/lib/cosTransactions/doc/src/CosTransactions_Resource.xml @@ -0,0 +1,128 @@ +<?xml version="1.0" encoding="latin1" ?> +<!DOCTYPE erlref SYSTEM "erlref.dtd"> + +<erlref> + <header> + <copyright> + <year>1999</year><year>2009</year> + <holder>Ericsson AB. All Rights Reserved.</holder> + </copyright> + <legalnotice> + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + </legalnotice> + + <title>CosTransactions_Resource</title> + <prepared></prepared> + <docno></docno> + <checked></checked> + <date>1999-04-12</date> + <rev>PA1</rev> + </header> + <module>CosTransactions_Resource</module> + <modulesummary>This module implements the OMG CosTransactions::Resource interface.</modulesummary> + <description> + <p>To get access to the record definitions for the structures use: <br></br> +<c>-include_lib("cosTransactions/include/CosTransactions.hrl").</c></p> + </description> + <funcs> + <func> + <name>commit(Resource) -> Return</name> + <fsummary>Instruct the target object to commit the transaction</fsummary> + <type> + <v>Resource = #objref</v> + <v>Return = ok | {'EXCEPTION', E}</v> + <v>E = #'CosTransactions_NotPrepared'{} | #'CosTransactions_HeuristicRollback'{} | #'CosTransactions_HeuristicMixed'{} | #'CosTransactions_HeuristicHazard'{}</v> + </type> + <desc> + <p>This operation instructs the Resource to commit all changes made as a part of the transaction.</p> + <p>The Resource can raise:</p> + <list type="bulleted"> + <item>Heuristic Exception - if a Heuristic decision is made which differ + from the true outcome of the transaction. The Resource must remember + the Heuristic outcome until the <c>forget</c> operation is performed.</item> + </list> + </desc> + </func> + <func> + <name>commit_one_phase(Resource) -> Return</name> + <fsummary>Instruct the target object to commit the transaction</fsummary> + <type> + <v>Resource = #objref</v> + <v>Return = ok | {'EXCEPTION', E}</v> + <v>E = #'CosTransactions_HeuristicHazard'{} | #'CosTransactions_TransactionRolledBack'{}</v> + </type> + <desc> + <p>If possible, the Resource should commit all changes made as part of the transaction, + else it should raise the TRANSACTION_ROLLEDBACK exception. + This operation can only be used if the Resource is the only child of its parent.</p> + </desc> + </func> + <func> + <name>forget(Resource) -> Return</name> + <fsummary>Instruct the target object to forget any heuristic decisions</fsummary> + <type> + <v>Resource = #objref</v> + <v>Return = ok</v> + </type> + <desc> + <p>This operation informs the Resource that it is safe to forget any Heuristic + decisions and the knowledge of the transaction.</p> + </desc> + </func> + <func> + <name>prepare(Resource) -> Return</name> + <fsummary>Instruct the target object to begin the two-phase commit protocol</fsummary> + <type> + <v>Resource = #objref</v> + <v>Return = Vote | {'EXCEPTION', E}</v> + <v>Vote = 'VoteReadOnly' | 'VoteCommit' | 'VoteRollback'</v> + <v>E = #'CosTransactions_HeuristicMixed'{} | #'CosTransactions_HeuristicHazard'{}</v> + </type> + <desc> + <p>This operation is invoked on the Resource to begin the two-phase commit protocol.</p> + <p>The Resource can reply:</p> + <list type="bulleted"> + <item>'VoteReadOnly' - if no persistent data has been modified by the transaction. + The Resource can forget all knowledge of the transaction. </item> + <item>'VoteCommit' - if the Resource has been prepared and is able to write all the + data needed to commit the transaction to stable storage.</item> + <item>'VoteRollback' - under any circumstances but must do so if none of the alternatives above + are applicable.</item> + <item>Heuristic Exception - if a Heuristic decision is made which differ + from the true outcome of the transaction. The Resource must remember + the Heuristic outcome until the <c>forget</c> operation is performed.</item> + </list> + </desc> + </func> + <func> + <name>rollback(Resource) -> Return</name> + <fsummary>Instruct the target object to rollback the transaction</fsummary> + <type> + <v>Resource = #objref</v> + <v>Return = ok | {'EXCEPTION', E}</v> + <v>E = #'CosTransactions_HeuristicCommit'{} | #'CosTransactions_HeuristicMixed'{} | #'CosTransactions_HeuristicHazard'{}</v> + </type> + <desc> + <p>This operation instructs the Resource to rollback all changes made as a part of the transaction.</p> + <p>The Resource can raise:</p> + <list type="bulleted"> + <item>Heuristic Exception - if a Heuristic decision is made which differ + from the true outcome of the transaction. The Resource must remember + the Heuristic outcome until the <c>forget</c> operation is performed.</item> + </list> + </desc> + </func> + </funcs> + +</erlref> + |