orc.runtime.transaction
Class Transaction

java.lang.Object
  extended by orc.runtime.transaction.Transaction

public class Transaction
extends java.lang.Object

A transaction (a dynamic instance of an atomic section). Transactions form a tree, as atomic sections may be nested. Every token has a field denoting which transaction it is currently participating in; that field may be null.

Author:
dkitchin

Field Summary
 Node next
           
 Transaction parent
           
 
Constructor Summary
Transaction(Token initial, Node next, GroupCell cell)
           
 
Method Summary
 void abort()
           
 void addCohort(Cohort c)
           
 java.util.Set<Cohort> getCohorts()
           
 void prepareCommit()
          A TransRegion will call this method when there are no more live tokens inside the transaction.
 void verifyCommit()
          A ReadyRegion will call this method when there are no more tokens waiting for cohort responses.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

parent

public Transaction parent

next

public Node next
Constructor Detail

Transaction

public Transaction(Token initial,
                   Node next,
                   GroupCell cell)
Method Detail

abort

public void abort()

getCohorts

public java.util.Set<Cohort> getCohorts()

addCohort

public void addCohort(Cohort c)

prepareCommit

public void prepareCommit()
A TransRegion will call this method when there are no more live tokens inside the transaction. If the transaction has been aborted, this call is ignored.


verifyCommit

public void verifyCommit()
A ReadyRegion will call this method when there are no more tokens waiting for cohort responses. If the transaction has been aborted, this call is ignored.