org.erights.e.elib.vat
Class BootShuttle

java.lang.Object
  |
  +--org.erights.e.elib.vat.BootShuttle

public class BootShuttle
extends Object

Untamed: Use with caution -- a BootShuttle passes through the boot-comm-system as if it's a DeepPassByCopy object.

Used to transport a non-DeepPassByCopy payload between vats over the boot comm system, either as an argument or return result. Use only when you're sure that all of the mutable state transitively reachable from the payload is no longer reachable from the vat of origin, or that all such mutable state is itself managed in a conventionally thread-safe way. These are the same conditions under which it's safe to invoke Vat.seed/3 or Vat.seed/1.

The constructor of this class (ie, the maker of BootShuttles) should only be made available to trusted code, as misuse of this can cause unpredictably bad race condition bugs.

Author:
Mark S. Miller

Field Summary
private  Object myPayload
           
 
Constructor Summary
BootShuttle(Object payload)
          Enabled:
 
Method Summary
 Object getPayload()
          Enabled:
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

myPayload

private final Object myPayload
Constructor Detail

BootShuttle

public BootShuttle(Object payload)
Enabled:

Method Detail

getPayload

public Object getPayload()
Enabled:



comments?