JanosVM v1.0 API

edu.utah.janosvm.sys
Class Exportable

java.lang.Object
  |
  +--edu.utah.janosvm.sys.Exportable
Direct Known Subclasses:
AggregateStateManager.IsolateStatus, CommHashtable, CommQueue, CommSpace, FaxPortBackEnd, MemoryBlockBackEnd, OneWayLink_RendezvousPoint, TeamBackEnd

public abstract class Exportable
extends java.lang.Object

Abstract base class for objects {@linkplain Team#exportObject exported} from a team.

Author:
Tim Stack, Utah Janos Team
See Also:
Importable, ExportManager, Team.exportObject(java.lang.Object, edu.utah.janosvm.sys.Exportable)

Field Summary
private  ExportManager anonManager
          Our ExportManager if we're exported anonymously.
private  TeamBackEnd owner
          The owner team of this Exportable, cached here so that importers can easily visit the team to do some work.
 
Constructor Summary
protected Exportable()
          Standard Exportable constructor, currently, just caches the owner team pointer.
(package private) Exportable(int dummy)
          Special constructor used by the kernel constructor since we can't call TeamBackEnd.getCurrentTeam() this early.
 
Method Summary
 ExportManager getAnonymousManager()
           
 TeamReservation pushOwnerReservation()
          Push a TeamReservation for this objects owner team.
 void returnFromOwner()
          Switch the current thread to the previous team context.
(package private)  void setAnonymousManager(ExportManager em)
          Set the ExportManager created when this object was exported anonymously.
 void switchToOwner()
          Switch the current thread to the this objects owner team.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait, wait0
 

Field Detail

owner

private final TeamBackEnd owner
The owner team of this Exportable, cached here so that importers can easily visit the team to do some work.

anonManager

private ExportManager anonManager
Our ExportManager if we're exported anonymously.
Constructor Detail

Exportable

Exportable(int dummy)
Special constructor used by the kernel constructor since we can't call TeamBackEnd.getCurrentTeam() this early.
Parameters:
dummy - Parameter for overloading in the kernel.

Exportable

protected Exportable()
Standard Exportable constructor, currently, just caches the owner team pointer.
Method Detail

setAnonymousManager

void setAnonymousManager(ExportManager em)
Set the ExportManager created when this object was exported anonymously.
Parameters:
em - ExportManager thats managing this object.

getAnonymousManager

public ExportManager getAnonymousManager()
Returns:
The ExportManager thats managing this anonymously exported object.

switchToOwner

public void switchToOwner()
                   throws DeadTeamException,
                          TeamEjectionException
Switch the current thread to the this objects owner team.
Throws:
DeadTeamException - if one of the teams involved is dead.
TeamEjectionException - if this thread was ejected from the team while it was running.

returnFromOwner

public void returnFromOwner()
Switch the current thread to the previous team context.

pushOwnerReservation

public TeamReservation pushOwnerReservation()
                                     throws DeadTeamException
Push a TeamReservation for this objects owner team.
Returns:
A TeamReservation referring to the owner.
Throws:
A - DeadTeamException if one of the teams involved is dead.

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

JanosVM v1.0 API

This documentation is Copyright (C) 2000-2003 The University of Utah. All Rights Reserved. See the documentation license for distribution terms and restrictions.
Documentation, software, and mailing lists for the JanosVM can be found at the Janos Project web page: http://www.cs.utah.edu/flux/janos/
Generated on Feb 13, 2003