|
JanosVM v1.0 API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--java.lang.isolate.IsolateBackEnd
Unique object (one per Isolate) that stores the state for that isolate (initial io bindings, context, etc.)
This object is allocated on the target Isolate's heap.
Normally this should be an "Exportable" and the Isolate class should be an "Importable". However, since the IsolateBackEnd is one-to-one with each Team, I just look up the IsolateBackEnd via Team.getClassLocal(). I just need to make sure I manipulate the IsolateBackEnd in the correct context...
Field Summary | |
private java.util.prefs.TransientPreferences |
context
Preferences context object |
private EventTeamHandle |
eventHandleKeptLive
XXX still need this?? |
private IsolateMessage[] |
initialMessages
Initial messages passed in start method. |
private IsolateMessage[] |
ioMessages
Initial IO messages |
private IsolateServer |
is
Cached handle on our "kernel" team. |
private static java.lang.Class |
isolateBackEndClass
|
private static java.lang.Class |
isolateClass
|
private MainThread |
mainThread
Handle on the main thread for this Isolate. |
private AggregateStateManager.IsolateStatusHandle |
statusHandle
Handle on the aggregate-level state for this team. |
Constructor Summary | |
(package private) |
IsolateBackEnd(java.lang.Long guid,
IsolateServer is)
For constructing the root IsolateBackEnd... |
(package private) |
IsolateBackEnd(Team team,
java.lang.Long guid,
java.lang.String mainClass,
java.lang.String[] mainArgs,
java.util.prefs.TransientPreferences ctx,
IsolateMessage stdin,
IsolateMessage stdout,
IsolateMessage stderr)
|
Method Summary | |
(package private) static IsolateBackEnd |
current()
Get the current IsolateBackEnd. |
private static java.util.prefs.TransientPreferences |
defaultRootContext()
|
void |
event(EventTeamHandle eth,
TeamReservation tr,
TeamEvent ev)
Event handler for JanosVM events. |
(package private) java.util.prefs.TransientPreferences |
getContext()
|
(package private) IsolateMessage[] |
getIOBindings()
|
(package private) IsolateMessage[] |
getIsolateMessages()
|
(package private) IsolateServer |
getIsolateServer()
|
(package private) void |
mainThreadRunning()
Invoked by the main thread when it actually starts running. |
private static IsolateMessage[] |
rootIOMessages()
|
(package private) void |
setExitInfo(int status,
IsolateEvent.ExitReason reason)
Invoked by the main thread when it exits or blows up. |
(package private) void |
startMainThread(IsolateMessage[] initialMessages)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait, wait0 |
Field Detail |
private static final java.lang.Class isolateBackEndClass
private static final java.lang.Class isolateClass
private final IsolateMessage[] ioMessages
private IsolateMessage[] initialMessages
private final java.util.prefs.TransientPreferences context
private MainThread mainThread
private final EventTeamHandle eventHandleKeptLive
private final IsolateServer is
private final AggregateStateManager.IsolateStatusHandle statusHandle
Constructor Detail |
IsolateBackEnd(java.lang.Long guid, IsolateServer is)
IsolateBackEnd(Team team, java.lang.Long guid, java.lang.String mainClass, java.lang.String[] mainArgs, java.util.prefs.TransientPreferences ctx, IsolateMessage stdin, IsolateMessage stdout, IsolateMessage stderr)
Method Detail |
static IsolateBackEnd current()
private static IsolateMessage[] rootIOMessages() throws java.io.IOException
private static final java.util.prefs.TransientPreferences defaultRootContext()
public void event(EventTeamHandle eth, TeamReservation tr, TeamEvent ev)
event
in interface TeamEventHandler
edu.utah.janosvm.sys.TeamEventHandler
eth
- The handle that refers to the team that triggered the event.tr
- A TeamReservation thats reserved the team that `this' is in.ev
- The TeamEvent object that describes the event that occurred.void startMainThread(IsolateMessage[] initialMessages)
void mainThreadRunning()
void setExitInfo(int status, IsolateEvent.ExitReason reason)
IsolateMessage[] getIsolateMessages()
IsolateMessage[] getIOBindings()
java.util.prefs.TransientPreferences getContext()
IsolateServer getIsolateServer()
|
JanosVM v1.0 API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |