orc.runtime.regions
Class SubRegion

java.lang.Object
  extended by orc.runtime.regions.Region
      extended by orc.runtime.regions.SubRegion
Direct Known Subclasses:
GroupRegion, LogicalClock, SemiRegion

public abstract class SubRegion
extends Region

Regions are used to track when some (sub-)computation terminates.

Currently the region methods must be synchronized, because tokens can be killed by independent threads (such as site calls in progress), triggering an update on the region. Maybe we should have a separate queue deal with dead tokens so this isn't necessary.


Field Summary
protected  Region parent
           
 
Constructor Summary
SubRegion(Region parent)
           
 
Method Summary
protected  void activate()
          Called when this region becomes not quiescent.
protected  void deactivate()
          Called when this region becomes quiescent.
 Region getParent()
           
protected  void onClose()
          Override this in subclasses to handle the closing of the region.
 
Methods inherited from class orc.runtime.regions.Region
add, add, addActive, close, maybeDeactivate, putContainedTokens, remove, remove, removeActive
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

parent

protected Region parent
Constructor Detail

SubRegion

public SubRegion(Region parent)
Method Detail

onClose

protected void onClose()
Description copied from class: Region
Override this in subclasses to handle the closing of the region.

Overrides:
onClose in class Region

deactivate

protected void deactivate()
Description copied from class: Region
Called when this region becomes quiescent.

Overrides:
deactivate in class Region

activate

protected void activate()
Description copied from class: Region
Called when this region becomes not quiescent.

Overrides:
activate in class Region

getParent

public final Region getParent()